Interested Article - Стриминг

Стриминг ( англ. streaming ) — в компьютерных играх подгрузка игровых данных, которые «скоро потребуются», прямо по ходу игры. Например: как только игровой персонаж приближается к городу, в фоновом режиме загружаются модели и текстуры города.

Потребность в стриминге

При повышении линейной плотности записи дискового накопителя в n раз (при тех же геометрических размерах, количестве головок и частоте вращения) в те же n раз повысится и скорость чтения; объём же увеличится в n ² раз. Другими словами, при увеличении объёма жёсткого диска в 100 раз его скорость повысится всего в 10 раз. Поэтому загрузка игр, антивирусное сканирование, дефрагментация , форматирование и т. д. на современных ( 2009 ) компьютерах длится куда дольше, чем на компьютерах 10-летней давности. Хотя в играх эта разница несколько «скрадывалась» сжатием игровых данных, цифры налицо: Warcraft II на мощных компьютерах своего времени загружался за одну-две секунды; Warcraft III на мощных компьютерах своего времени — примерно за полминуты .

Излишне долгую загрузку первыми ощутили программисты под приставки PlayStation и PlayStation 2 . Когда ПК стали способны обращаться к устройствам ввода-вывода, не потребляя ресурс процессора, стриминг стал широко применяться и на ПК. Одной из первых ПК-игр со стримингом был Diablo II : когда персонаж подходил к воротам уровня, то, что за воротами, было с большой вероятностью загружено.

Помимо решения проблемы долгой загрузки, стриминг позволяет делать огромные уровни, не умещающиеся целиком в памяти. Это важно для телевизионных приставок, у которых памяти, как правило, меньше, чем у ПК своего времени: например, у первой PlayStation было всего 4 мегабайта памяти (включая видеопамять ) .

Подходы

Программисту приходится решать следующие вопросы.

  • Как загрузить игровые данные таким образом, чтобы пользователь не ощутил замедление.
  • Как не допустить « гонок » между загрузчиком и движком.
  • Что выгружать, что оставлять в памяти, что загружать.
  • Что делать, если нужных данных в памяти не оказалось.
  • Как максимально полно задействовать быстродействие диска.

В каждом из проектов эти вопросы решаются по-своему — в зависимости от соотношения объёмов моделей , текстур , звуков и т. д.

Обычно поступают так. Наиболее низкий уровень детализации графики никогда не выгружается и служит «аварийным» решением, когда соответствующая модель или текстура внезапно потребовалась. Для того, чтобы не было «гонок», после каждого кадра загрузчик синхронизируется с движком, помечая уже загруженные части игры как «доступные». Остаётся только разработать некоторую метрику, которая определяет, насколько скоро текстура или модель будет нужна. Здесь уже шаблонов нет: например, в автосимуляторе трассу можно разбить на некоторое количество секторов и подгружать ближайшие к машине игрока; в шутере — на квадраты. Если игрок приближается к сектору, в котором спрятан гранатомёт , надо полагать, что потребуется не только модель гранатомёта, лежащего на уровне, но и модель того же гранатомёта в руках игрока, модель летящей гранаты, звуки стрельбы гранатомёта и эффекты взрыва.

Быстродействие диска максимально, если области, с которыми приходится иметь дело за одну транзакцию, находятся рядом. Поэтому важен и порядок расположения данных на диске. Чтобы меньше двигать головку, на DVD -играх часть данных приходится дублировать. Чтобы оптимально расположить информацию на DVD, используют эвристические методы наподобие генетического программирования .

Примечания

  1. Длительная, почти в минуту, загрузка Doom обусловлена неоптимальностью движка, подробнее см. Движок Doom ; другие игры, как Quake или Duke Nukem 3D , укладываются в статистику.
  2. PlayStation очень удобен для сравнения с ПК: у более старых приставок есть ПЗУ картриджа , которого работающий с компакт-диска PlayStation, естественно, лишён.

См. также

Ссылки

  • Роман Лут. 4. DTF.ru (6 августа 2008). Дата обращения: 22 марта 2011. Архивировано из 22 ноября 2010 года.
  • Fredrik Lönn. (англ.) 3. Gamasutra (30 ноября 2006). Дата обращения: 22 марта 2011. 29 марта 2012 года.
Источник —

Same as Стриминг