Unreal Engine 5.8 получил технологию Microsoft против статтеров из-за шейдеров

Epic Games обновила официальную документацию Unreal Engine 5.x – там описано изменение, способное заметно повлиять на работу движка с шейдерами. В версии 5.8 появится нативная поддержка технологии Advanced Shader Delivery (ASD) от Microsoft. Для этого в движок встроили новый инструмент командной строки.

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

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

Microsoft представила ASD около года назад. Технология переносит часть нагрузки по компиляции шейдеров с локальных ПК на сторону сервиса. В её основе лежат два компонента:

  • State Object Database (SODB), стандартизированный формат для хранения данных игры

  • Precompiled Shader Database (PSDB), удалённый кэш заранее скомпилированных шейдеров

Согласно новой документации Unreal Engine, в играх на Direct3D 12 шейдеры обычно компилируются при первом запуске. Драйвер видеокарты переводит их в код, понятный конкретному GPU. Параллельно игра создаёт объекты состояния конвейера (Pipeline State Objects, PSO), где хранится информация для настройки графического конвейера видеокарты.

Новый инструмент ASD Tool, входящий в состав UE 5.8, умеет генерировать SODB из "приготовленного" билда игры для Windows. Так называют версию, в которой все ассеты уже преобразованы в формат целевой платформы. Каждая SODB содержит данные о шейдерах и PSO для конкретного билда.

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

Есть у решения и ограничения. ASD Tool пока работает только с играми на Direct3D 12, использующими Shader Model 6. PSO для трассировки лучей не поддерживаются, а при каждом выходе нового билда с изменёнными шейдерами разработчикам придётся заново генерировать SODB.

Epic также предупреждает, что ASD и ASD Tool не заменяют существующие механизмы Unreal Engine, а дополняют их. Речь о предварительном кэшировании PSO (PSO precaching) и встроенных в билд кэшах PSO (bundled PSO caches), которые тоже предназначены для борьбы со статтерами. Разработчикам рекомендуют оставлять кэширование PSO включённым даже после перехода на ASD Tool – универсального средства от рывков пока не существует.

Студии уже могут отправлять скомпилированные SODB в Microsoft Store. Поддержка Steam и Epic Games Store ожидается в начале 2027 года.

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

Больше статей на Shazoo
Тэги:

Об авторе

Эксперт по Fallout
Главный редактор
Более 16 лет в индустрии освещения видеоигр, кино, сериалов, науки и техники. Особенно разбираюсь в серии Fallout, ценитель The Elder Scrolls. Поклонник Arcanum и Fallout Tactics. Больше всего играю в Civilization, Old World и градостроители. Изучаю ИИ и загадки космоса.