Популярный игровой движок Unreal Engine готовится решить одну из самых неприятных проблем для пользователей ПК — «заикание» производительности (stuttering), возникающее в процессе компиляции шейдеров (Shader Compilation). Согласно последним обновлениям в официальной документации Epic Games, предстоящая версия UE 5.8 обеспечит нативную поддержку технологии Advanced Shader Delivery (ASD), разработанной компанией Microsoft.
Эта проблема обычно возникает, когда игре приходится компилировать шейдеры и адаптировать их под спецификации видеокарты (GPU) и драйверы пользователя непосредственно во время игрового процесса, что приводит к внезапным падениям частоты кадров. Технология ASD призвана перенести часть этой нагрузки с локального устройства пользователя.
Как будет работать эта технология?
Технология ASD опирается на два основных технических компонента:
- База данных объектов состояния (SODB): предоставляет унифицированный формат для хранения данных игры, связанных с шейдерами.
- База данных предварительно скомпилированных шейдеров (PSDB): работает как удаленный кэш для шейдеров, которые были подготовлены заранее.
С помощью нового программного инструмента, встроенного в UE 5.8, разработчики смогут создавать файлы SODB из финальных сборок игр (Cooked builds). После этого цифровые магазины смогут использовать эти данные для распространения готовых шейдеров, подходящих для различных семейств видеокарт и версий драйверов, что снизит необходимость в компиляции в реальном времени на устройстве игрока.
Что изменится на практике?
С практической точки зрения этот шаг направлен на то, чтобы приблизить опыт игры на ПК к стабильности производительности, которую обеспечивают игровые консоли. Однако стоит отметить, что сама по себе эта технология не является «волшебной таблеткой»; Epic Games рекомендует разработчикам продолжать использовать существующие функции кэширования (PSO caching) наряду с ASD для обеспечения наилучших результатов.
Текущие ограничения и проблемы
Несмотря на многообещающий потенциал, на текущем этапе технология сталкивается с некоторыми техническими ограничениями, которые разработчикам необходимо учитывать:
- Ограниченная поддержка: в настоящее время инструмент поддерживает только игры на базе Direct3D 12, использующие Shader Model 6.
- Отсутствие трассировки лучей: технология пока не поддерживает объекты состояния конвейера (PSOs) для трассировки лучей (Ray-tracing).
- Постоянные обновления: разработчикам придется создавать новые файлы SODB каждый раз, когда в версию игры вносятся изменения в шейдеры.
Что касается доступности, игровые студии уже могут начать предоставлять свои файлы SODB в магазин Microsoft Store, в то время как поддержка платформ Steam и Epic Games Store ожидается в начале 2027 года.