Самая оптимизированная игра

Самая оптимизированная игра

Стоит начать обсуждение новой игры для ПК, как наружу тут же вылезет злополучное слово «оптимизация». Deus Ex: Mankind Divided? «Похоже, что эту игру ВООБЩЕ не оптимизировали», — пишет один игрок в Steam. Metro: Last Light? «Если вкратце, то игра тормозит, а оптимизация выполнена ужасно», — пишет другой игрок на Reddit.

Но виноваты ли в игровых тормозах криворукие программисты, которые не смогли написать нормальный код, или ваше устаревшее железо? И что вообще такое — эта оптимизация? Давайте разбираться вместе.

Что такое оптимизация, и чем ее измерить?

Для начала нужно понимать, что оптимизация в играх отличается от обычной математической оптимизации. Допустим, вам необходимо вычислить следующее:

*a = b*c + b*c + b*c*

Если вместо этого мы определим:

*d = b*c, то у нас получится a = d + d + d*

Это и есть «оптимизация», так как вместо трех операций с умножением мы обошлись всего одной. Однако эта, отлично работающая в информатике, модель не подходит для оптимизации игр, так как перед геймдевелоперами стоят совсем другие задачи. Тогда как понять, что именно нужно рассматривать?

Ребята из польской геймдев-компании QLOC предлагают следующее определение оптимизации — это когда игра работает с одинаковой частотой кадров на широкой линейке девайсов, включая самые слабые платформы. Дин Секулич из Croteam оптимизирует игры уже 20 лет и уверен, что даже сравнение приблизительно одинаковых игр с одинаковыми настройками графики будет крайне поверхностным. Ден рекомендует копать глубже и думать как кодер.

Современные эффекты и производительность

Если вы разочарованы быстродействием новой игры, скорее всего виной тому один из этих эффектов.

Разрешение экрана. Вероятно, самый простой параметр для сравнения — это разрешение экрана т.к. он состоит всего из двух чисел. Например, 1920 на 1080.

Сглаживание. Это эффект, который делает визуальные объекты менее угловатыми (т.к. сглаживает углы) за счет добавления новых деталей. С точки зрения оптимизации, это довольно сложный эффект. Если простое FXAA или SMA сглаживание задействуют минимум ресурсов, то сложные процессы вроде мультисэмплинга и суперсэмплинга, заставят попотеть вашу видеокарту. При этом мультисэмплинг является сложным мерилом оптимизации так как может по-разному нагружать систему в зависимости от способа реализации. А вот суперсэмплингом отлично работает схема, схожая с разрешением экрана т.к. у него есть цифровой коэффициент, который является метрикой нагрузки на систему.

Освещение и тени. Поверхности и окружающая атмосфера напрямую зависят от освещения, которое относится к основам 3D графики, одновременно являясь ее Священным Граалем и проклятием. Здесь все просто — чем реалистичнее картинка, тем больше в ней динамических теней и источников света. А чем их больше, тем выше нагрузка на систему. Сегодня чаще всего в играх используют освещение, которое можно упрощенно назвать глобальным и объемным.

Там, где есть свет, должны быть и тени. В современных играх в основном используют два источника теней, работающих в реальном времени: «рассеянное затенение», которое снижает интенсивность общего освещения (зависит от близлежащих объектов) и «прямое затенение». Рассеянное затенение мы впервые увидели в Crysis и оно требовало очень много ресурсов. Сегодня это обыденность, на смену которой пришли новые технологические «обжоры» вроде воксельного рассеянного затенения или затенение отдаленных пространств.

Наряду с прямым затенением, в играх сложно воспроизвести и контактное уплотнение. Суть сего эффекта заключается в том, что тени обретают четкость и контрастность в зависимости от расстояния до объекта. Если дерево вдалеке будет отбрасывать слегка размытую тень, то тень от колеса велосипеда под ногами будет очень четкой и контрастной. У этого эффекта есть множество разных реализаций (например PCSS), но все они очень требовательны к ресурсам.

Важная деталь: любая динамика, которую невозможно просчитать заранее — движение света, изменение яркости, перемещение игроков или изменение рельефа местности — влияет на производительность куда сильнее, чем освещение и тени, которые можно рассчитать заранее. Т.е. если в игре есть смена ландшафта или погодных условий, их нужно прорабатывать с тройным усердием.

Прочие визуальные эффекты Что еще за прочие эффекты? Например те, которые имитируют оптические свойства камеры. Как правило, они не слишком ресурсоемки. Исключение — эффект размытия БОКЕ, которое как бы смазывает участки изображения вне фокуса камеры, для придания картинке большей реалистичности. Еще одна относительно новая разработка — это эффект «отражения на экранном пространстве». Хотя он и не ест ресурсы так, как традиционные техники отражения, которым необходимо заново просчитывать участки картинки в отражении. Третья категория ресурсоемких эффектов — это физическое моделирование объектов, необходимое для реалистичной имитации волос и одежды, а также жидкостей, газов, мусора и их динамического взаимодействия.

Особенности оптимизации

Теперь, когда у нас есть некоторое представление о самых ресурсоемких эффектах в современных играх, мы можем перейти к тому, что, собственно, нам нужно оптимизировать.

Предустановленные графические настройки типа «низкие», «средние», «высокие» и «ультра» в разных играх выглядят по-разному и не могут быть метрикой. Например, в Croteam говорят, что средние настройки — это что-то вроде морального ориентира, на который разработчик оглядывается на начальном этапе. Ближе к релизу команда определяет настройки для каждой предустановки, пытаясь найти для них идеальный баланс между качество картинки и производительностью.

В компании QLOC, где, в основном, занимаются портированием консольных игр на ПК, «средние» настройки — это стандартные настройки графики для консолей. Когда ребята из QLOC заканчивают отладку общей системы визуализации и ключевых характеристик, то вносят коррективы для каждой конкретной игровой платформы. При этом «минимальные» системные требования подразумевают, что игра должна хорошо работать на низких настройках. Если требования не соблюдены, компания не предоставляет техническую поддержку. В случае «рекомендуемых» требований, игра должна хорошо работать на высоких настройках с разрешением 1080p.

Как оценивать оптимизацию игры

Недавний Survival Horror Dying Light с открытым миром, прожорливой дальностью прорисовки и сменой времени суток, кажется отличным пациентом для анализа. Игра получила спорные оценки во многом из-за своей оптимизации. Игроки, жаловались на то, что Dying Light не соответствовала стандартам на максимальных настройках графики, хотя эти самые стандарты они брали с потолка. Как оказалось позже, в первой версии игры для ПК разработчики ограничили дальность прорисовки на 55% т.к. в качестве мерила использовали мощное железо современных консолей.

Выглядела бы игра более «оптимизированной» со 100%? Сомневаюсь. Зато я уверен, что она съела бы на обед вашу видеокарту. Была бы она при этом лучше оптимизирована? Разумеется нет. Именно поэтому Dying Light – отличный пример того, насколько сложно объективно оценить качество оптимизации и факторов, которые должны учитывать разработчики при портировании.

Похожая история недавно произошла с Deus Ex: Mankind Divided, в которой важную роль имеет настройка сглаживания MSAA. Поскольку в игре используется отложенное освещение и затемнение – универсальная техника визуализации, которая делает намного менее эффективной простую реализацию MSAA с аппаратным ускорением — сглаживание давало большую нагрузку на видеокарту, чего никто не ожидал.

Игра редко представляет из себя монолитную сущность, которая либо оптимизирована, либо нет. Не оптимизироваными могут быть отдельные эффекты, но не игра в целом (прим: речь идет о больших игровых проектах). Это особенно бросается в глаза, когда разработчики внедряют в движок совершенно новые эффекты. Например, в Crysis мы впервые увидели рассеянное затемнение. В сравнение с современными образцами, оно тормозило и в целом было плохо оптимизировано. А в недавней Rise of the Tomb Raider – в целом хорошо оптимизированной и красивой игры – был не самый лучший пример оптимизации воксельного рассеянного затенения. Но в этом то и прелесть ПК, что модный тяжелый эффект 2010 года будет шикарно оптимизирован через пару лет.

Разумеется, существуют игры, которые действительно плохо оптимизированы. Обычно за ними стоит одно и то же: недостаток ресурсов, попытка небольшого разработчика откусить больше, чем он может прожевать, или просто низкие технические навыки. Если игра тормозит на базовых настройках и провисает до 20 кадров в секунду даже на мощном ПК, то здесь бессмысленно что-то анализировать.

Трудности оптимизации

Сам процесс создания оптимального кода (в том значении, которое используется в информатике) достаточно трудоемок. Для Дина Секулича из QLOC «худший кошмар оптимизации» — это «смотреть как выполнение верхней функции в профайлере занимает 3% времени».

Профайлер — это инструмент, позволяющий программисту увидеть, сколько времени у программы уходит на выполнение каждой функции и ранжировать их по порядку. Когда верхняя функция занимает 3% времени, это означает, что если вам удастся вдвое сократить время ее выполнения, то общая производительность программ ускорится на 1,5%. Но это титанический труд и задачи здесь редко повторяются. «Поэтому в оптимизации программы не бывает простых и очевидных решений», — говорит Дин.

Так же важно помнить, что оптимизация игры касается не только графики. Как говорят в команде разработчиков QLOC, «Для нас оптимизация — это еще и исправления неудачных решений с управлением, повышение комфорта игрового процесса, улучшения интерфейса, системы сохранений, работы с сетью и даже исправления ошибок первоначального кода».

Подводя итог

Несмотря на то, что эта статья описывает множество различных тонкостей, она лишь слегка заглядывает под капот оптимизации. Тем не менее, я надеюсь, что мне удалось раскрыть несколько секретов внутренней кухни, и помочь вам настроить любимую игру так, чтобы она не тормозила.

И напоследок прошу, будьте менее строги к оптимизаторам! Если они, конечно, действительно не облажались. Хотя новомодные и ресурсоемкие спецэффекты бывают бесполезны сегодня, они раскроются завтра. Их наличие лучше, чем их отсутствие. Они не делают игру не оптимизированной. Я всегда считал, что возможность вернуться к высококлассной игре много лет спустя и увидеть, как раскроется ее красота, является одним из главных преимуществ ПК как платформы. И было бы грустно видеть, как оно сводится на нет из-за недальновидных суждений об оптимизации.

Для тех, кто хочет знать больше

  • Глава Electronic Arts: вскоре ваша жизнь станет видеоигрой
  • Поколение Minecraft: почему ваши дети вырастут умнее вас
  • «Прощай смартфон, прощай лептоп!»: экскурсия по самому загадочному IT-стартапу Magic Leap
  • 10 браузерных игр, в которые можно поиграть, пока куда-то ушел начальник
  • Как устроена клиника по лечению игромании

Стоит только начать обсуждение новой игры для ПК, как неотвратимо всплывет слово «оптимизация». Deus Ex: Mankind Divided? «Похоже, что эту игру ВООБЩЕ не оптимизировали», — пишет кто-то из игроков в Steam. Metro: Last Light? «Если коротко, то оптимизация выполнена ужасно», — пишет другой.

Жалобы на плохую оптимизацию, как правило, идут бок о бок с фразами наподобие «у меня эта игра тормозит». Но связана ли производительность с ошибками программистов, которые не смогли эффективно написать код? Как понять, игра на самом деле плохо оптимизирована или для нее просто не хватает мощности вашего ПК?

В этой статье я постараюсь прояснить, чем является оптимизация на самом деле, расскажу о некоторых технических средствах вроде освещения и сглаживания, которые всегда требовательны к ресурсам вашего ПК, а также немного объясню, как разработчики определяют настройки графики и системные требования. Спасибо Croteam и QLOC за ценную информацию о процессе оптимизации.

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

Вот простой пример. Допустим, вам необходимо вычислить следующее:

a = b*c + b*c + b*c

Если вместо этого мы определим:

d = b*c, и запишем a = d + d + d

это будет «оптимизацией», так как для получения этого же результата используется всего одна операция умножения вместо трех. Если придерживаться такого узкого определения, то попытки сравнивать уровень оптимизации в разных играх, создатели которых ставят перед собой разные цели, становятся совершенно нецелесообразными.

Так как же нам рассуждать об оптимизации, сохранив хоть какую-то объективность? Вот какое определение дали мне в QLOC:

«Показатель хорошей оптимизации — работающая игра работает с одинаковой частотой кадров на широкой линейке аппаратных конфигураций, включая низкопроизводительные»

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

Дин Секулич из Croteam оптимизирует игры уже 20 лет и уверен, что «с одной стороны, невозможно сравнить, насколько оптимизированы разные игры», но с другой? всегда можно составить мнение, визуально оценив качество двух разных игр и уровень производительности, который ими достигнут. Однако он также отмечает, что «есть много всего скрытого от глаз», влияющего на поведение игры.

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

Если вы разочарованы производительностью игры, скорее всего виной тому один из этих эффектов. В большинстве случаев картинка не выглядит плавной именно благодаря им, и с них стоит начать настройку графики для достижения частоты 60 fps (кадров в секунду).

Качество изображения

Возможно, самый простой параметр, который заметно влияет на производительность и позволяет сравнивать уровень оптимизации, это разрешение экрана. Вполне естественно сравнивать игры на одинаковом разрешении, поскольку этот параметр состоит всего из двух чисел (к примеру, 1920×1080) и доступен для настройки практически в каждой игре. Важный факт, который часто упускается из виду: с изменением разрешения меняется количество выводимых пикселей — 4k дает нагрузку примерно в четыре, а не в два раза больше, чем 2k.

Сглаживание это намного более сложная тема, когда дело касается сравнений. В современных играх вы можете встретить любую из этих настроек:

  • Чистые методы работы с экранным пространством, такие как FXAA или SMAA (1x). Работают с уже сгенерированным изображением. На этапе постобработки производится попытка выявить и устранить артефакты визуализации, к примеру, «лесенки».
  • Методы временнóго сглаживания. Делают движения более плавными, генерируя изображение с наложением предыдущего кадра и выводят промежуточный результат.
  • Множественная выборка сглаживания или мультисэмплинг (MSAA). На разных этапах визуализации пиксели на гранях полигонов генерируются на основе нескольких предварительных виртуальных моделей.
  • Избыточная выборка сглаживания или суперсэмплинг. На разных этапах визуализации все пиксели генерируются на основе нескольких предварительных виртуальных моделей.
  • Комбинации из вышеописанных методов (к примеру, TXAA)

Список представлен в порядке возрастания ожидаемого влияния на производительность, за исключением последнего пункта, который зависит от используемых методов. Методы, работающие с экранным пространством, задействуют небольшое количество ресурсов, чуть больше нагрузки дает временнóе сглаживание, далее следуют мультисэмплинг и, наконец, суперсэмплинг. Мультисэмплинг представляет особую сложность для сопоставления производительности, поскольку, в зависимости от способа реализации, нагрузка при использовании этого метода может значительно различаться — от минимальной до близкой с суперсэмплингу. Суперсэмплинг достаточно легко соотнести с разрешением: использование Nx суперсэмплинга увеличивает нагрузку эквивалентно увеличению разрешения в N раз.

Хороший набор опций для настройки сглаживания в The Talos Principle

Освещение и тени

Поверхности и окружающая атмосфера напрямую зависят от освещения, которое относится к основам 3D графики и одновременно является ее Священным Граалем. Постоянно разрабатываются всё более сложные эффекты, благодаря которым достижимо современное качество изображения, однако улучшение картинки часто достигается за счет огромного ущерба производительности.

Если речь идет об освещении, то обработка почти всего, что позиционируется, как объемное, или приближенно к глобальному освещению, чаще всего является оправданно затратной. Это относится и к современной реализации так называемых, лучей бога, которые воспроизводят эффект яркого сияния, подсвечивающего взвешенные в воздухе частицы или пыль на более темном фоне.

Каркасная сетка современных лучей бога в Fallout 4. Источник: Nvidia

Там, где есть свет, должны быть и тени, но, к сожалению, в играх это не происходит таким же естественным образом, как в реальной жизни. В современных играх, как правило, используются два источника теней, работающих в реальном времени: рассеянное затенение, которое пытается снизить интенсивность общего освещения и зависит, как правило, от близлежащих объектов, а также прямое затенение.

Рассеянное затенение впервые было представлено в Crysis и само по себе требовало немалых ресурсов. В наши дни использование этого эффекта больше не вызывает проблем с производительностью. Однако новые графические техники, такие как воксельное рассеянное затенение или затенение отдаленных пространств, всё еще достаточно требовательны к производительности.

Наряду с прямым затенением, в играх сложно воспроизвести и контактное уплотнение. Этот эффект заключается в том, что, чем ближе тень к отбрасывающему ее объекту, тем контрастнее ее очертания, а чем дальше, тем они мягче. Есть целый ряд различных реализаций этого эффекта (к примеру, PCSS), но любая из них дает высокую нагрузку на производительность.

Пример контактного уплотнения в реальной жизни

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

Прочие визуальные эффекты

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

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

Реальный пример тусклых отражений, которые, чаще всего, приближенно воспроизводятся на экранном пространстве. Обратите внимание на контактное уплотнение.

И наконец, существует категория эффектов, относящихся к физическому моделированию, которые тоже достаточно требовательны к ресурсам центрального либо графического процессора, а, бывает, и обоих сразу. Они используются в целях, не связанных с геймплеем, и чаще всего нужны для имитации волос и одежды, а также жидкостей, газов, мусора и их динамического взаимодействия.

Теперь, когда у нас есть некоторое представление о самых ресурсоемких эффектах в современных играх, мы можем заняться рассмотрением, что необходимо для создания игры, которая, как хотелось бы надеяться, в конечном итоге будет оптимизирована.

Стандартные настройки и системные требования

Предустановленные графические настройки — привычные «низкие», «средние», «высокие», «очень высокие», «ультра» — практически никогда не соответствуют друг другу в разных играх, однако они крайне важны: их используют игроки, которые не хотят углубляться в тонкости индивидуальной настройки.

В Croteam «средние» предустановки определяются на ранней стадии разработки игры и зависят от текущего и прогнозируемого уровня развития аппаратных средств, а будущие графическое оформление и дизайн выполняются с учетом этого стандарта. Ближе к выпуску техническая команда определяет настройки для каждой предустановки, стараясь на каждом уровне сбалансировать качество картинки и производительность.

Лично я люблю именно их подход за то, что они разделяют настройки по нагрузке на центральный и графический процессоры или память, вместо того, чтобы оставлять игрока разбираться в этом самостоятельно. Одновременно с тем, что они стараются разрабатывать игры для сбалансированных ПК, такой подход позволяет эффективнее использовать производительность тем игрокам, на чьих компьютерах установлены мощные или же слабые центральные или графические процессоры.

Настройки производительности по категориям в The Talos Principle

Для QLOC, где, в основном, занимаются портированием консольных игр на ПК, «средние» настройки портированной игры определяются стандартными установками графики на консоли, однако могут быть внесены и некоторые изменения, вызванные различием платформ. В тех случаях, когда такое возможно, вводится варьируемость параметров. Предустановки графики и системные требования меняются в процессе оптимизации, начиная того момента, как система визуализации и другие ключевые механизмы протестированы и функционируют.

Игрокам не всегда до конца известно, каким образом определяются системные требования. В то время как каждый разработчик использует собственные стандарты, в Croteam «минимальные» требования означают, что игра должна хорошо работать на низких настройках, и если эти требования не соблюдены, техническая поддержка не предоставляется. «Рекомендуемые» же системные требования подразумевают, что игра должна хорошо работать («не на средних, а на высоких», как сказал мне Дин) c разрешением 1080p.

Как оценивать оптимизацию игры

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

Относительно недавно утихли обсуждения Dying Light, и, на мой взгляд, это один из самых показательных случаев – не в том, что касается ошибок разработчиков, но касательно оценки, которую получила эта игра. Dying Light это игра с открытым миром, в котором необходимо много путешествовать, кроме того, присутствует динамическая смена дня и ночи, а это компоненты, которые делают игру технически сложной в реализации. Игра предоставляет широкие возможности для настройки дальности прорисовки, которая, в частности, дает огромную нагрузку на центральный и графический процессоры.

Впечатляющая дальность прорисовки в Dying Light. Скриншот: Джеймс Снук

Поднялся громкий вой на Dying Light, как на «ужасно не оптимизированный порт на ПК» из-за того, что она не соответствовала (произвольно выбранным) стандартам на максимальных настройках графики. Как выяснилось, ползунок настройки дальности прорисовки, установленный на минимум, в первоначальной версии игры определял более высокую дальность прорисовки, чем на консоли. В сущности, люди были недовольны тем, что разработчик подразумевал, что в ранних патчах игрокам придется устанавливать ползунок дальности прорисовки на 55% от максимального значения.

Выглядела бы игра более «оптимизированной», если бы этот простой шаг был сделан до релиза? Я в этом уверен. При этом была бы она на самом деле «лучше оптимизирована»? Разумеется, нет. Dying Light – не только хороший пример того, как сложно оценить качество оптимизации, но и того, что должны учитывать разработчики при определении доступных настроек графики.

Похожая история недавно произошла с Deus Ex: Mankind Divided, в которой важное значение имеет настройка MSAA (до 8x). Поскольку в игре используется отложенное освещение и затенение – универсальная техника визуализации, которая делает намного менее эффективной простую реализацию MSAA с аппаратным ускорением — MSAA давала большую нагрузку на производительность, которой от нее никто не ожидал. И снова, игра выглядела бы более «оптимизированной» в том случае, если бы не предоставляла такую настройку, при чем, опять же, проблема с оптимизацией совсем не в этом.

Игра редко представляет из себя монолитную сущность, которая либо оптимизирована, либо нет. Не оптимизированы могут быть отдельные эффекты, в отличие от игры в целом. Это особенно распространено при использовании нововведений: когда в оригинальной Crysis впервые было использовано рассеянное затенение, оно было плохо оптимизировано по сравнению с современными реализациями. Кроме того, первая реализация воксельного рассеянного затенения в Rise of the Tomb Raider – в целом хорошо оптимизированной и красивой игры – может оказаться хуже грядущих реализаций.

Техника отложенного освещения и затенения в Deus Ex: Mankind Divided делает сглаживание намного более ресурсоемким. Скриншот: Мэри К

Metro 2033 стала одной из первых игр, где были широко использованы объемные лучи, и позиционировалась она как духовный приемник Crysis в том, что касается производительности на высоких настройках. Это же актуально и для недавнего и последующего использования теней с контактным уплотнением. Тем не менее, я считаю, что необходимо экспериментировать с внедрением новых возможностей, несмотря на то, что первые реализации не всегда можно использовать из-за их нагрузки на производительность. Благодаря этому процесс развития игровой разработки не стоит на месте, и появляются хорошо оптимизированные визуальные эффекты. Прелесть платформы ПК заключается в том, что эффект, который был «не оптимизирован» в 2010 году, может быть использован по максимуму в 2016-м, и игра будет выглядеть лучше даже на средней аппаратной конфигурации.

Разумеется, существуют игры, которые действительно плохо оптимизированы. Обычно за ними стоит одно и то же: недостаток ресурсов, попытка небольшого разработчика откусить больше, чем он может прожевать, или просто низкие технические навыки. Когда игра тормозит на настройках по умолчанию даже на самом мощном ПК, или в простой 2D игре fps падает до 20 кадров в секунду даже на современной консоли, тогда никакой самый глубокий анализ не приведет к утешительным выводам. В большинстве случаев, однако, оценка становится намного сложнее, и я надеюсь, что, как я надеюсь, было хорошо проиллюстрировано в этом разделе.

Сам процесс создания оптимального кода (в том значении, которое используется в информатике, что упоминалось ранее) достаточно трудоемок. Для Дина Секулича «худший кошмар оптимизации» это «смотреть на данные профайлера и видеть, что выполнение верхней функции занимает 3% времени». Для понимания того, что имеется ввиду, скажу, что профайлер это инструмент, который позволяет программисту увидеть, сколько времени у программы уходит на выполнение каждой функции, обычно он сортирует итоговый список по убыванию времени выполнения.

Когда верхняя функция занимает 3% времени, это означает, что если вам удастся вдвое сократить время ее выполнения — для чего могут потребоваться титанические усилия — в целом программа ускорится на 1,5%. Из-за того, что подобные ситуации возникают постоянно, оптимизация готового кода превращается в поэтапный и трудоемкий процесс.

В QLOC портируют игры с использованием самых разных технологий, поэтому с каждым проектом возникают новые задачи. «Это может может быть по-настоящему сложно для одной игры, и намного проще для другой».

Таким образом, как говорит Дин, в оптимизации программы «не бывает простых и очевидных решений».

К вопросу о DirectX 12Низкоуровневые интерфейсы вроде DirectX 12 иногда становятся простым ответом на споры об оптимизации, однако множество игр с DirectX 12 так и не показали значительных результатов в производительности.

За исключением тех случаев, когда игровой движок полностью поддерживает новый низкоуровневый интерфейс, использование такого интерфейса сразу же после появления в QLOC считается неоправданным или «дающим небольшое улучшение производительности, которое может быть сведено на нет, когда портирование завершено».

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

Оптимизация касается не только графики!

Учитывая основное содержание как онлайн-дискуссий и обзоров, так и этой статьи, следует повторить еще раз: оптимизация это тема, подразумевающая не только графику, даже не смотря на то, что обработка каждого выводимого кадра занимает значительную часть процессорного времени.

Как говорят в команде разработчиков QLOC, «Для нас оптимизация также во многом касается исправления неудачных решений с управлением, повышения комфорта игрового процесса, улучшения пользовательского интерфейса, усовершенствования системы сохранений и загрузки, улучшения работы с сетью и даже исправления старых ошибок в первоначальном коде». Могу себе представить, что есть немало людей, которые могут по достоинству оценить подобный подход, и которые, в свое время, помучались с ускорением мыши, задержками ввода или кричащим пользовательским интерфейсом в других портированных играх – я сам о таком частенько писал.

Rise of the Tomb Raider. Скриншот: Мэри К

Несмотря на то, что эта статья описывает множество различных тонкостей, она только слегка затрагивает то, что на самом деле происходит в процессе оптимизации современной игры для ПК. Надеюсь, что мне удалось раскрыть несколько секретов внутренней кухни, а также дать подсказки, которые помогут вам отключить нужные настройки для того, чтобы игра работала с высокой частотой кадров.

В подобной форме это оказалось бы невозможным без помощи добрых людей из QLOC и Croteam. Croteam считается перспективной и опытной компанией, разрабатывающей игры в первую очередь для ПК и известной высоким качеством своих продуктов. О QLOC мы знаем в первую очередь благодаря их работе по портированию игр. Ожидая выход игры на ПК, игроки, как правило, вздыхают с облегчением, когда видят название этой компании. Если вы найдете в статье ошибки, то они принадлежат только мне, а не им.

В завершение статьи мне хотелось бы озвучить две просьбы.

Когда вы сравниваете относительную производительность игр, постарайтесь принять во внимание все то, что в них действительно заложено. Как говорилось выше, освещение в реальном времени и интерактивные объекты несравнимо труднее реализовать с той же эффективностью, как статические сцены, и реальность ставит всех нас — даже самых безучастных — перед фактом, что нагрузка на производительность не зависит от того, насколько оптимизированы эти эффекты.

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

Петер «Durante» Томан – разработчик инструмента для даунсемплинга GeDoSaTo и моддер, который стоит за созданием DSfix для Dark Souls. Ранее он анализировал такие портированные на ПК игры, как Dark Souls 3, писал открытое письмо разработчикам игр для ПК, и прочее.
Оригинал: PC Gamer.

Перевел: Никита Пинчук.
Редактировал: Артём Слободчиков.

В мире компьютерных игр 2013 год запомнился не только анонсом консолей текущего поколения, но и целым рядом интереснейших игр, специально заточенных для РС. Так уж получилось, что в конце жизненного цикла Xbox 360 и PS3 многие студии привлекали внимание к своим проектам потрясающим уровнем графики РС-версий и практически все проекты получались хорошо оптимизированными. Мы выбрали десять из них и составили данный топ.

Конечно, кто-то скажет, что вернуться в 2013 год невозможно, однако именно это время можно назвать возвращением РС на лидирующие позиции в индустрии видеоигр. Кроме того, в свое время мы уже и будет полезно вернуться к этой теме, так что в ближайшие недели, в рамках серии статей, мы вспомним самые оптимизированные игры последних лет.

Как обычно, мы не будем судить о том, какая игра из нашего списка лучше другой. Речь идет исключительно об оптимизации игр для платформы PC, то есть мы смотрим на то, как игра задействует процессорную мощь, графическую подсистему, оперативную память и жесткие диски. Так что в списке вы найдете не только ААА-блокбастеры, но и более простые игры. Итак, приступим!

BioShock Infinite

Любители графики аплодировали тому, какой титанический труд провели художники и дизайнеры Irrational Games, сделав каждую игровую локацию фантастически красивой, а многие виды парящей в облаках «Колумбии» — запоминающимися на всю жизнь. Все это было бы невозможно, если бы не передовая графика.

обладает большим количеством обычных и углубленных графических настроек, задействует функционал DirectX 11, поддерживает реалистичные мягкие тени и технологию глубины резкости. Участие в разработке игры принимали специалисты AMD, но это не помешало разработчикам использовать PhysX для расчета физики.

В итоге BioShock Infinite задействует самые разные компоненты компьютера, а значит требуется высокое качество оптимизации. На старте так практически и было — первое время BioShock Infinite испытывала определенные технические сложности, которые были исправлены в последующих патчах. И если бы не они, то игра заняла намного более высокую позицию в нашем чате.

А на сегодняшний день, удовольствие от геймплея могут получить обладатели видеокарт и процессоров современного начального уровня с 4 ГБ оперативной памяти. Если же ваш компьютер лучше, то вы сможете испробовать максимальный уровень графики. Все потому что оптимизация доведена до совершенства, что выражается незначительным ухудшением уровня графики и общего визуального качества при значительном послаблении системных требований.

Lost Planet 3

Наш разбор был бы не полон, если бы мы не упомянули об этом проекте от Capcom. Да, ждать от больших графических изысков не приходится — игра демонстрирует среднюю даже для своего времени графику, в то время как первые две части задавали уровень визуального качества в игровой индустрии.

Однако с оптимизацией у нее все в полном порядке и эта игра заработает даже на простейшем двухъядерном «калькуляторе» с простой видеокартой и 2 ГБ ОЗУ. Более того, Lost Planet 3 отлично работает на ноутбуках 2013 года выпуска, а значительный список настроек графики позволит подобрать оптимальный уровень FPS.

В эту игру можно поиграть даже на устаревших компьютерах, достаточно снизить настройки до минимума и получится значительно увеличить FPS. А самое главное — так было с самого начала и не пришлось ждать никаких дополнительных патчей.

Dead Space 3

Наш топ мы продолжим крайне ожидаемым проектом, который в свое время вызвал шквал критики со стороны фанатов серии, которым не понравились идеи разработчиков, а также слабая визуальная проработка. Да, определенно не хватает текстур высокого разрешения с неба Тау Волантис, но с точки зрения оптимизации это отличный пример качественной игры для РС.

Разница между графическими установками заметная, так что вы определенно узрите отличие между «низкими» и «высокими» настройками визуального качества. Однако благодаря тому, что движок Visceral Engine имеет качественно реализованную многопоточность, оптимизированный расчет эффектов и адаптированный физической движок Havok, проблем с производительностью не наблюдается даже на компьютерах 7-8 летней давности. И все это при том, что парни из Visceral Games не заявляли о каких-либо отдельных улучшениях РС-версии!

Так что если вам нужен качественный хоррор, шутер и кооперативное увлечение в одном лице, а мощным компьютером вы не обладаете, то смело можете покупать Dead Space 3. Эта игра полностью раскроет потенциал вашей системы или ноутбука и не потребует серьезных комплектующих.

The Bureau: XCOM Declassified

Этот проект не сыскал большой популярности, несмотря на именитых разработчиков из 2K Games и длительный период разработки. Тем не менее, на момент своего выхода была отлично оптимизирована и работала практически на любом довольно старом компьютере без провисаний, вылетов и багов.

Стабильный технический релиз, мы уже, похоже, забыли об этом. Но XCOM Declassified уже третий пример того, что все возможно с первого раза. Покрутили настройки — получили больше FPS на своей системе, за счет незначительного ухудшения графики, выкрутили все на максимум — средний ноутбук, возможно, не потянет, но тут хотя бы видно, куда уходят вычислительные ресурсы.

Если говорить только о графике, то, конечно, свой отпечаток наложило использование старой версии Unreal Engine 3, но совсем откровенных косяков художники и дизайнеры из 2K себе не позволили и все выглядит опрятно и естественно для тактического шутера от первого лица во вселенной XCOM. С другими плюсами The Bureau: XCOM Declassified вы можете ознакомиться в нашем обзоре!

Tomb Raider

Версия этой игры для персональных компьютеров обладает целым рядом графических нюансов и улучшений по сравнению с версиями для Xbox 360 и PS3. Например, используются текстуры гораздо более высокого разрешения. Эффекты частиц и система освещения были разработаны на базе самых передовых достижений в области компьютерной графики, а технология TressFX рассчитывает поведение волос главной героини на новом уровне. Поддерживаются возможности AMD Eyefinity и NVIDIA Surround.

За портирование отвечала студия Nixxes, так что на счет оптимизации игры вы можете не переживать. Проект хорошо работает с широкой линейкой двух- и четырехъядерных процессоров, по полной загружает видеокарты и практически полностью распараллеливается при использовании CrossFire или SLI. Следовательно, разница между выбранными графическими настройками будет хорошо заметна и это пропорционально загрузит ваш компьютер.

Civilization 5 Complete Edition

Аддон для добавил не только геймплейные улучшения. Фактически, перед нами предстала завершенная «Цивилизация», наголову превосходящая другие игры серии в части геймплейных возможностей, способов развития, типов карт и продуманности ИИ. А раз ее «геймплейный объем» существенно вырос, то выросла и нагрузка на систему.

Как следствие — увеличились требования к мощности центрального процессора, объему ОЗУ и производительности видеокарты. Оставив свой компьютер без изменений, вы все еще сможете играть, однако теперь расчет ходов будет занимать больше времени, как и загрузка сохранений.

Что касается оптимизации, то Civilization 5 чутко реагирует на увеличение количества ядер процессора или тактовой частоты, количество доступной ОЗУ или видеопамяти. А вот для расчета графики будет достаточно современного ГПУ начального уровня.

Tom Clancy’s Splinter Cell: Blacklist

Данную игру Ubisoft можно назвать последней в небольшом списке «отлично оптимизированных игр для платформы РС» за последние годы. Все потому что имеет основные и расширенные графические настройки, причем изменять параметры в последнем случае мы можем практически везде по пяти пунктам — от «низких» до «максимальных». Вдобавок, разработчики «вылечили» Unreal Engine 3 от многих характерных для движка проблем.

А значит, вы обязательно увидите рост визуального качества по мере улучшения настроек игры. За это, естественно, придется заплатить более мощной начинкой компьютера. Одной из самых ресурсоемких функций является система сглаживания TXAA от NVIDIA, впервые примененная в видеоигре, так что потребуется много ОЗУ.

При этом Tom Clancy’s Splinter Cell: Blacklist хорошо реагирует на рост количества ядер у процессора и отлично — на добавление второй и третьей видеокарты в конфигурациях CrossFire или SLI. Прироста производительности можно добиться и за счет использования SSD вместо обычного HDD.

Metro: Last Light

Мы не могли пройти мимо захватывающего шутера , в основе которого лежит улучшенная версия 4А Engine. На деле это означает, что игра отлично работала у большинства пользователей, использующих массово распространенные комплектующие, что свидетельствует об отличной оптимизации.

И пусть Metro: Last Light даже по современным меркам является требовательной, стоит помнить, каким большим числом отличных технологий она обладает, включая объемный туман, отличное освещение, игру света и тени, а также разрушаемое окружение и продвинутый искусственный интеллект врагов.

Несмотря на среднее количество ползунков графики и сопутствующих параметров, разница между настройками визуального качества заметна глазу и допускает возможность некоторой подстройки компьютера, что логично отдает в системных требованиях.

StarCraft 2: Heart of the Swarm

На втором месте нашего чарта проект от Blizzard, что вполне естественно. Эта компания давно работает для РС-аудитории и уделяет оптимизации своих проектов все свое внимание. Тем более что стала главным РС-эксклюзивом года. Разработчики много работали над оптимизацией сетевой части, всегда более требовательной, чем однопользовательский режим.

Так что игра отлично выглядит и работает даже на старых компьютерах, не говоря о новых. Не забывайте, что в Heart of the Swarm заметно улучшили эффекты частиц и анимацию лиц, более качественно проработали модели зергов, а также поработали над дизайном уровней, представляемых как поверхность той или иной планеты. Вместе с тем, системные требования остались на прежнем уровне.

Пользователь может очень гибко манипулировать доступными настройками в зависимости от производительности каждой подсистемы его компьютера. Как можно заметить — разница между высокими и низкими настройками качества просто колоссальная. При максимальных высоких и средних настройках разницы практически не заметно…

Crysis 3

Естественно, что первое место мы можем отдать шедевру по части геймплея и графических изысков. Разработка Crytek до сих пор является эталоном внимания к мелочам, проработке деталей и дизайну уровней. стала превосходной демонстрацией возможностей движка CryEngine, что вылилось в обилие самых разных визуальных настроек.

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

Как следствие этого — большой спектр поддерживаемых видеокарт и процессоров, и мы можем видеть, куда расходуются ресурсы, ведь разница в качестве картинки между различными графическими установками довольно существенная. Да, лишь при максимальных настройках можно получить наилучшую картинку, и для этого потребуется мощный четырехъядерный процессор, графическая карта с 3 ГБ видеопамяти и 8 ГБ ОЗУ.

Но ведь это того стоит, и вы знаете почему!

***Спасибо за внимание!***


Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *