В этом году на Unreal Fest Orlando компания Epic представила новые возможности для движка Unreal Engine 5 с использованием технологического демо от CD Projekt Red для The Witcher 4, а также провела множество мастер-классов по эффективному использованию своего программного обеспечения разработчиками. Наиболее посещаемые сессии были посвящены решению проблем ступора при компиляции шейдеров и выявлению основных причин снижения производительности в играх на UE. Однако семинар известного разработчика игр показал, что проблемы оптимизации возникают не только из-за используемого движка, но скорее связаны с тем, как разрабатываются сами игры.
На этом собрании произошло множество докладов, и хотя я посетил лишь некоторые из них, мне удалось узнать о общих проблемах оптимизации производительности в играх на движке Unreal Engine, включая такие сложности как медленная компиляция шейдеров или скачки частоты кадров во время перемещения.
Похоже, что многочисленные комментарии в социальных сетях указывают на проблему с самим Unreal Engine, и возможно, в этих заявлениях есть доля правды. Современные высокобюджетные игры с передовой графикой зависят от множества шейдеров, часто исчисляемых десятками тысяч, многие из которых весьма сложны. Сложность заключается в том, что GPU не могут обработать эти шейдеры до их компиляции.
Ранее в этом году Epic опубликовала блог, где обсуждалась проблема с тем, как шейдеры (или точнее, объекты состояния конвейера) были собраны в старых версиях Unreal Engine, отмечая, что это было неоптимально. Однако для версий Unreal Engine 5.2 и выше они советуют использовать предварительную загрузку PSO как предпочтительный метод. Этот подход может быть объединен с оригинальным.
Несмотря на то что ни один из вариантов не является абсолютно безупречным, компания Epic продолжает их совершенствовать. Учитывая текущие темпы разработки, я уверен, что мы со временем решим проблему шейдерных заиканий. На самом деле, если разработчики игр полностью примут предложения Epic по оптимизации производительности и методам минимизации зависаний и рывков, сейчас мы могли бы наслаждаться играми высочайшего уровня, работающими без задержек.
После наблюдения демонстрации Obsidian о графике, созданной для Avowed, похоже, что проблемы вроде мерцания шейдеров могут сохраняться некоторое время из-за особенностей разработки крупномасштабных игр. В процессе создания Avowed Obsidian сначала использовали Unreal Engine 4, а затем перешли на Unreal Engine 5. В конечном итоге игра была выпущена с использованием UE 5.3.2 в феврале, указывая на то, что улучшения игровых движков не всегда сразу решают подобные технические проблемы.
На тот момент уже была выпущена UE 5.6, что заставило задуматься о том, почему Obsidian не выбрали самую последнюю версию для повышения производительности в своем проекте. Возможное объяснение может заключаться в размере команды: всего над Avowed работали 140 человек, из которых 100 были внутренними сотрудниками и 40 внешними. Однако лишь 15 членов этой команды относились к технической группе, и только четверо из них специализировались на графическом программировании.
Возможно, один из членов команды сосредоточился на улучшении процесса компиляции шейдеров игры, хотя учитывая, что предкэширование PSO (Pixel Shader Output) появилось только в UE 5.2, кажется маловероятным, чтобы Obsidian имел значительную возможность сотрудничать с этой функцией.
В процессе разработки Obsidian выбрала Xbox Series S в качестве эталонной платформы для установления стандартов производительности. Они стремились достичь 30-40 кадров в секунду (fps) на этой консоли, тогда как версии для Xbox Series X и PC могли работать с частотой до 60 fps. Очевидно, что достижение желаемого качества графики на Series S было непростой задачей, и полагаю, это потребовало от разработчиков значительных временных и усилий.
Вкратце, Обсидиан изначально разрабатывала ‘Avowed’ с использованием более старой версии Unreal Engine, выбрав менее мощную консоль в качестве основной платформы (обычный выбор при нацеливании на консоли следующего поколения вроде Series X). С ограниченным числом программистов команда все равно смогла сделать игру визуально привлекательной. Несмотря на то что снижение производительности на ПК могло способствовать этому.
Представляется правдоподобным, что многие игры на Unreal Engine 5 имеют общую тенденцию в процессе разработки. Хотя точное количество разработчиков может варьироваться, вероятно, большинство из них начали работу над своими проектами с использованием более ранних версий UE, например, UE 5.4 или старше. Недавнее обновление до UE 5.6 принесло множество улучшений производительности, включая технологию Nanite Foliage, продемонстрированную в техническом демоверсии Witcher 4, но эти улучшения недоступны для игр, запущенных на предыдущих версиях.
В UE 5.6 внесены некоторые улучшения, которые можно реализовать одним нажатием кнопки. Например, предварительное кеширование PSO хотя и включено по умолчанию, требует от разработчиков разработки стратегии оптимизации компиляции шейдеров и правильного кодирования для обеспечения бесперебойной работы (UE Blueprint для предварительного кеширования PSO будет доступен в UE 5.6).
Мастерские компании Epic по повышению производительности Unreal Engine (UE) на фестивале Unreal Fest были чрезвычайно популярны (даже сессия по компиляции шейдеров была переполнена и меня не пропустили), что показывает, что разработчики обращают внимание на мнение игрового сообщества относительно Unreal Engine. Скорее всего, будущие AAA- и AA-игры будут использовать самую последнюю версию UE, что может привести к тому, что проблемы вроде компиляции шейдеров и задержек при обходе станут устаревшими.
А теперь давайте надеяться, что разработчики игр на Unreal Engine полностью осознают послание Epic и что издатели и руководство предоставляют программистам необходимое время и ресурсы для эффективного освоения инструментов. Оптимизация — это не быстрая процедура, хотя она требует больше времени, чем обычно доступно. К сожалению, так было всегда.
Смотрите также
- Обзор MSI MAG X870 Tomahawk WiFi
- Читы Stardew Valley: каждый необходимый вам чит-код, никаких модов не требуется.
- Все персонажи, классы и способности Elden Ring Nightreign
- Dune: Awakening меняет свой эндгейм в ответ на жалобы игроков: «Наша цель не заставить игроков PvE взаимодействовать с системой PvP, которая может их не интересовать»
- Обзор BenQ X3100i: «лучший друг геймера»
- Проверьте вступительную анимацию NTE «HypervorTex перед бурей»
- Полная аудиокнига Onyx Storm: Empyrean уже вышла в свет и предоставляется скидка 41 доллар на 3 месяца Audible.
- Объяснение полного списка химических стилей FC 25
- Лучшие слайдеры NHL 25 и как их использовать
- Консольные команды Сталкера 2 и чит-моды
2025-06-16 14:33