Великолепная графика и ростовые боли рассмотрение первого поколения игр на Unreal Engine 5
Великолепная графика и античные поблемы обзор игр первого поколения на Unreal Engine 5
Unreal Engine 5 был анонсирован более трех лет назад, и только сейчас мы видим первую волну игр от третьих сторон на UE5 на ПК и консолях. Для аудитории на ПК эти запуски одновременно захватывающие и пугающие – мы, наконец, видим все обещанное графическое излишество от Epic с помощью Lumen, Nanite и виртуальных теневых карт, но у нас также был ряд игр на UE4 со слабым использованием процессора и назойливыми заиканиями.
С учетом этих противоречивых эмоций, я подумал, что будет интересно собрать первое поколение релизов на UE5, чтобы выделить хорошие, отличные и не очень хорошие аспекты этих игр – своеобразный барометр, показывающий, как разработчики осваивают движок на ПК и что это значит для будущего UE5 на этой платформе.
Цель здесь не заключается в подробном рассмотрении какой-либо одной игры, а скорее в даче смеси впечатлений после тестирования различных игр, включая демо Jusant, Robocop: Rogue City и The Talos Principle 2, а также полные версии Remnant 2, Immortals of Aveum, Lords of the Fallen, Desordre, Fort Solis и Layers of Fear.
Давайте начнем с того, что Unreal анонсировал вначале: те рекламируемые графические возможности Unreal Engine 5. Как работают Lumen, Nanite и виртуальные теневые карты на ПК?
Честно говоря, я думаю, что они оправдали ожидания в первых играх, в которых я их увидел в действии. В The Talos Principle 2, например, мы видим, как Croteam широко использует все три технологии с великолепным эффектом.
- У Capcom все еще есть «крупная неопубликованная» игра, которую они ...
- Игроки прошлогоднего лучшего Zelda-подобного проекта до сих пор пыт...
- The Outlast Trials доставит вас в суд в этом Хэллоуине
Начнем с Lumen. Одна из вещей, которую я заметил, заключается в том, что вы можете настроить эту функцию непосредственно в меню настроек глобальной освещенности (GI); это глобальный параметр качества в UE5, поэтому я ожидаю, что его будут использовать во многих играх. В The Talos Principle 2, установка среднего значения GI позволяет увидеть, как выглядит мир без Lumen – и здесь есть огромная разница в качестве освещения, с локальным отражающим светом Lumen и затенением от небесного освещения, которые создают яркий контраст с замещающим SDFAO и другими растровыми техниками, которыми движок может воспользоваться. Lumen здесь выглядит отлично.
То же самое верно и для Jusant – и это, пожалуй, лучший показатель силы Lumen на данный момент, так как игра почти полностью детализирована, и воздействие поверхностного освещения заметно, в то время как художники используют технологию для усиления визуального контраста в каждой части демо. Это отличное использование GI, основанное на художественном подходе, которое, кажется, обходит ограничения Lumen, с размещением немотивированных источников света или препятствий, чтобы создать убедительный окончательный результат.
Хотя мои первые впечатления от Lumen прекрасны с визуальной точки зрения, его не всегда используют так, как я бы предпочел. Почти все вышедшие на UE5 игры используют только программную версию Lumen, которая не использует аппаратные возможности современных графических процессоров для ускорения расчетов трассировки лучей – с оптимизацией производительности, которая влияет на качество отражений. Например, Lords of the Fallen страдает от артефактов экранного пространства и структурированного вида отражений воды. В некоторых местах игры также есть просветы света, когда солнечный свет проникает в темные пещеры; аналогичная проблема возникает в The Talos Principle 2, где испускающие свет поверхности, такие как светящиеся электропровода, страдают от очевидных ограничений экранного пространства, и свет исчезает, когда объект, источающий его, закрыт от камеры.
Программные компромиссы в производительности/качестве Lumen часто видны, особенно в играх с множеством отражающих поверхностей, поэтому я думаю, что большинство игр должны предлагать опцию аппаратного Lumen в своих меню, так же, как это делают Fortnite и Desordre. Это позволяет получить более точное освещение и детали объектов в отражениях и отразившемся свете, при незначительном снижении производительности большинством графических процессоров.
Fort Solis – хороший пример разницы, которую может принести аппаратный Lumen. Игра поставляется только с программным Lumen, но с помощью модификаций возможно включение аппаратного Lumen. Это большое обновление, учитывая зависимость игры от излучающих поверхностей. Аппаратный Lumen решает проблемы с недостаточной выборкой во многих сценах, проявляющиеся в нестабильности и “кипении” света от излучающих поверхностей.
Помимо предоставления аппаратного Lumen в качестве опции, я также хотел бы видеть, чтобы разработчики UE5 игр предлагали визуальные настройки, подобные тем, что есть в игре Desordre. Помимо аппаратного Lumen, эта игра включает настройку для аппаратного трассировки лучей попадания освещения, которая использует RT для затенения объектов в отражениях вместо низкокачественного кэша поверхности UE5, устраняя алиасинг и текстуры с меньшим разрешением, видимые в отражениях. В игре Desordre также есть настройка RTXDI, которая освещает излучение и все прямое освещение с точностью трассировки лучей, добавляя еще один уровень реализма в мир, а также есть опция освещения методом трассировки пути, которая позволяет объектам в отражениях отображаться и иметь точное отражение освещения.
Таким образом, Desordre предлагает масштабирование от программного RT уровня консоли до супервысокого уровня трассировки пути. Не считаю, что каждый разработчик должен добавлять такие тяжелые или зависящие от Nvidia функции, как RTXDI или трассировку пути, но возможность включить аппаратный Lumen и аппаратную трассировку лучей освещения это необходимо, чтобы компьютерные версии имели лучшую графику, чем игры на консолях. К тому же, эти функции предустановлены в движке и являются просто переменными. Помимо лучшей достоверности в настоящее время, эти функции также позволяют современным играм выглядеть еще лучше на будущем графическом оборудовании. (Чтобы достичь лучшей производительности сейчас, рекомендуется установить на второй по счету высокий уровень настроек ГИ и отражений, что дает большое преимущество в производительности и часто используется в консольных играх на UE5.)
Хотя Lumen, Nanite и Virtual Shadow Maps (VSM) являются основными функциями UE5, большинство релизов UE5 не используют все три функции. Remnant 2 не использует Lumen (несмотря на логическую пригодность динамической подсветки Lumen в случайных макетах), Lords of the Fallen 2 пропускает VSM, а Layers of Fear отказывается от Nanite и VSM. Я предполагаю, что время тестирования и проблемы с производительностью на консолях являются причинами некоторых из этих опусов, но я бы хотел видеть возможность переключать основные функции VSM и Nanite прямо в меню, как это часто возможно сделать с Lumen, используя параметр меню ГИ.
Например, виртуальные теневые карты добавляют много визуальных эффектов в Lords of the Fallen, как мы можем видеть, используя Unreal Engine Unlocker Фрэнса Боумы – почему бы не сделать это вариантом в меню, а не пользовательской модификацией? Разработчики Remnant 2 на самом деле сделали именно это, включив настройку детализации теней, позволяющую переключать VSM включенными и выключенными, таким образом, вы можете выбирать между производительностью и достоверностью. Больше опций всегда хорошо для пользователя, особенно тех, которые позволяют игре хорошо масштабироваться в будущем.
К тому же, удивительно, что Remnant 2 также имеет возможность включать и выключать детальную геометрию, отключающую Nanite на основе анализа консольных переменных. Это позволяет показывать статическую геометрию более низкого качества, которая, я считаю, является запасной функцией меша Nanite, предназначенной для платформ, которые не поддерживают его. Возможность явно включать и отключать это в меню для тех, кто хочет большей производительности, довольно удобна, и мне очень нравится идея сделать виртуальные теневые карты или Nanite переключаемыми в настройках, чтобы игры на UE5 могли хорошо работать прямо сейчас и масштабироваться в будущем.
Возвращаясь к Lumen, одна вещь, которая меня удивила, заключается в том, что в некоторых играх это не так очевидно, как оно казалось в первых демонстрационных роликах технологии. Например, весь интро игры Lords of the Fallen 2 почти казалось, будто Lumen не работает правильно, почти нет косвенного освещения – но поздние уровни игры более четко показывают RTGI на уровне пикселя. Я думаю, разработчики игры вводят «фейковые» источники света в окружение игры, чтобы осветить его с игровой точки зрения, но это полностью уничтожает качество Lumen – возможно, это является следствием того, что окружение игры создано без учета Lumen.
Поэтому просто потому, что игра использует Lumen, это не означает, что каждая сцена имеет такой уровень точности освещения, как мы видели в первоначальной демонстрации – это действительно зависит от разработчика, чтобы использовать технологию в хорошем, точном стиле, который также служит игре.
Перейдем к производительности и пользовательскому опыту, и хочу похвалить эти первые игры на UE5 за имеющиеся намного лучшие опции качества изображения, чем их предшественники на UE4. Почти каждая игра на UE5, которую я тестировал, предложила DLSS, FSR2, XeSS и Unreal Engine TSR. Мне нравится, что мы наконец достигли стадии, когда все возможности восстановления производителя доступны – и я уверен, что тот факт, что все они являются легкими в установке плагинами, делает это в основном вопросом пользовательского интерфейса, а не глубокой технической реализации.
Тем не менее, я думаю, что здесь есть некоторые лучшие практики – и я хочу подчеркнуть то, что Lords of the Fallen и Jusant предоставили эти опции. В Lords of the Fallen вы можете переключаться между различными способами увеличения разрешения, но игра использует TSR, если вы используете ползунок процента разрешения, что мне нравится. Кроме того, Jusant позволяет выбрать любую технику реконструкции, и ползунок процента разрешения контролирует разрешение для всех них (хотя нет указанного процента, что не идеально). В любом случае, это хорошая практика – делать все эти программы увеличения разрешения легко доступными с дополнительным точным контролем разрешения.
Что же касается классической неразрешенной проблемы Unreal Engine: шума при компиляции шейдеров? Здесь я могу сообщить как хорошие, так и не очень хорошие вещи. С одной стороны, все девять игр на UE5, которые я тестировал для этой статьи, лучше обрабатывали компиляцию шейдеров, чем почти все игры на UE4, которые я тестировал для Digital Foundry, потому что все они, похоже, используют автоматическую компиляцию шейдеров сразу перед их использованием на экране, с возможностью задержки их появления для предотвращения шума, если это необходимо для разработчика.
Это работает хорошо, но не идеально – практически каждая игра, которую я тестировал, все равно имела некоторый шум при компиляции шейдеров. Только три игры – Robocop, Lords of the Fallen и Desordre – были без шума, так как они используют новую систему компиляции шейдеров на лету и имеют отдельный этап предварительной компиляции перед запуском игры. Я думаю, что все разработчики должны эмулировать этот подход, потому что он дает возможность эти игры удивить своей игровой механикой и графикой без отвлекающих пауз.
К сожалению, UE5 также имеет проблему статичных скачков во время перемещения, что можно наблюдать практически в каждой игре на UE4. Эти просадки времени отображения, вызванные загрузкой или выгрузкой ресурсов при перемещении по игровым мирам, присутствовали практически во всех тестированных мной играх — даже в демо-версии Jusant, в которой почти отсутствуют текстуры и объем составляет всего 4 ГБ, возникали иногда скачки на мощном 12900K. Это отдельная проблема, отличная от проблемы статичных скачков при компиляции шейдеров, и я не уверен, насколько разработчики могут иметь контроль над этой проблемой — возможно, это скорее внутренняя особенность Unreal Engine.
Эти скачки во время перемещения негативно влияют на игровой процесс и происходят повторно, в отличие от скачков при компиляции шейдеров, и единственный способ минимизировать их влияние — использовать более быстрый процессор с поддержкой быстрой оперативной памяти. Lords of the Fallen и Fort Solis — это оба потрясающе красивые игры, но их атмосферу и плавность нарушают скачки во время перемещения в первой и как скачки во время перемещения, так и скачки при компиляции шейдеров во второй.
Одной из трудностей при просадках во время перемещения является то, что первая партия игр на UE5, кажется, зависит от одного исполняющего потока и неэффективно использует современные многопоточные процессоры. Мы ожидаем, что с большим количеством доступных потоков будет достигнуто больше производительности, но иногда мы видим прямо противоположное — более высокое количество потоков приводит к ухудшению производительности. Как, например, в Lords of the Fallen, где запуск 12900K со всеми E-ядрами и только шестью из восьми P-ядер, отключением гиперпоточности, обеспечивает наивысшие частоты кадров; скорость кадров снижается на 10 процентов при использовании всех ядер и потоков. Здесь полностью загружаются только два ядра процессора, в то время как остальные остаются недостаточно задействованными. Cyberpunk 2077 служит примером того, как должен работать масштабирование потоков, достигая значительного повышения производительности при использовании более шести ядер.
12900K (Активные ядра) | 6 P-ядер | 8 P-ядер | 8 P-ядер + 8 E-ядер |
---|---|---|---|
UE 5.2 Electric Dreams | 100% | 106% | 111% |
Cyberpunk 2077 | 100% | 116% | 131% |
Lords of the Fallen | 100% | 93% | 91% |
Существуют доказательства того, что по презентации по рендерингу от Михнеа Балта на Unreal Fest 2023, Epic намерен улучшить многопоточность движка в UE5.4, поскольку в 5.3 она в значительной степени остается унаследованной от UE4. Более параллельное разделение RHI и потока отрисовки, снижение ненужной работы могут значительно улучшить производительность процессора в UE5, что, в свою очередь, может улучшить ситуацию с скачками.
Кратко остановимся на качестве текстур, которое является особенностью игр на UE5 с включенной виртуальной текстурированием Nanite. Трудно пожаловаться, особенно с учетом того, что качество текстур очень мало нагружает GPU и часто требует немного более 8 ГБ видеопамяти для максимальных настроек при разрешении 4К. Однако этот системный подход иногда является слишком агрессивным в отношении хранения минимальной информации об текстуре на видеокарте.
В нескольких играх, которые я тестировал для этого видео, иногда очевидно проявляется появление текстур очень близко к камере, даже на RTX 4090, у которого доступно большое количество видеопамяти, которая на самом деле не используется. Например, в игре Fort Solis многие текстуры требуют некоторого времени для появления, даже при медленном перемещении по миру, а в Lords of the Fallen текстуры часто появляются при смене камеры. В связи с этим, имеет смысл предоставить больше возможностей пользователю контролировать объем кэша на видеопамяти или позволить потоку быть более агрессивным при использовании видеопамяти, если обнаруживается, что много видеопамяти не используется.
В общих чертах все игры на UE5, которые я играл, красивы сами по себе, иногда впечатляюще. При правильной работе художников и режиссеров эти игры могут выглядеть абсолютно потрясающе. Мне также понравилась возможность выбора из множества различных методов реконструкции изображения во многих тестированных мной играх.
Однако у меня есть некоторые проблемы с движком, которые время от времени поднимают свои уродливые головы и почти все испортили игры, которые я тестировал. Из них наиболее распространенными жалобами были «заикающийся» компилятор шейдеров и «заикание» при перемещении. Шейдеры стали компилироваться значительно лучше, чем в UE4, но только те игры, у которых есть предварительный компиляционный шаг в дополнение к новой автоматизированной системе кэширования шейдеров UE5, были защищены от этой неприятности, и этот подход следует использовать другими разработчиками.
Необходимо отметить, что у большинства игр слишком мало настроек, доступных в меню графических опций. Было бы замечательно, если бы пользователи могли включать и выключать функции, такие как аппаратный Lumen и виртуальные карты теней, чтобы достичь лучшего баланса между производительностью и качеством. В настоящее время большинство игр используют только программный Lumen и имеют очень простые настройки в меню.
Тем не менее, очевидно, что Unreal Engine 5 открывает путь в правильном направлении, и с достаточным воздействием как на разработчиков Unreal, так и на игры, мы можем приблизиться к мечте: наслаждаться улучшением графики без сбоев производительности и недоступных настроек, которые опускали некоторые из настоящих игр.