Апскейлинг с DLSS и FSR
UNIGINE поддерживает две передовые технологии апскейлинга: NVIDIA DLSS (Deep Learning Super Sampling) и AMD FSR 2 (FidelityFX Super Resolution 2). Эти технологии позволяют повышать разрешение изображения на широком спектре устройств разных производителей и использовать различные настройки качества как для статических, так и для динамических сцен.
Эти технологии используются для рендеринга изображений с высоким разрешением на основе источника с более низким разрешением. Если доступны оба режима апскейлинга, вы можете выбрать один из них или вообще отключить апскейлинг. Мы рекомендуем использовать технологию DLSS, поскольку она позволяет получать высококачественные результаты с меньшим количеством визуальных искажений.
Требования и ограничения#
DLSS и FSR 2 имеют ряд требований и ограничений по совместимости, что в конечном счете определяет, будут ли эти функции доступны в приложении.
Апскейлеры инициализируются при инициализации рендеринга. Чтобы проверить, поддерживаются ли они и инициализируются ли после запуска приложения, вы можете выполнить одно из следующих действий:
Например, раздел Render может содержать следующую информацию:
---- Render ----
DLSS is supported
DLSS Streamline version: 2.4.0
DLSS NGX version: 3.7.0
FSR is supported
FSR Version: 2.2.2
FSR Max Contexts: 8
FSR RAM Scratch Size: 10 MB
Если функция апскейлинга не поддерживается, в консоли отобразится соответствующее сообщение.
DLSS#
Для корректной работы DLSS должны удовлетворяться следующие требования:
- Платформы: Windows
- Графический API: DirectX 12
- Аппаратное обеспечение: любые графические процессоры GeForce RTX и серии RTX 40.
- Драйвер: версия 522.25 или новее.
Например, если вы запустите приложение с графическим процессором, которого нет в списке, вы получите в консоли следующее сообщение:
DLSS is not supported
Not an Nvidia GPU
FSR 2#
FSR 2 должен соответствовать следующим требованиям:
- Платформы: Windows
- Графический API: DirectX 12
- Аппаратное обеспечение: любые графические процессоры, поддерживающие Shader Model 6.2.
- Водитель: особых требований нет.
Например, если вы запустите приложение с графическим API, отличным от DirectX 12, в консоли появятся следующие сообщения:
FSR is not implemented, FSR is currently available only for DX12
Использование DLSS#
Для корректной работы технологии DLSS с UNIGINE требуется дополнительная настройка окружения.
- Перейдите по этой ссылке, чтобы загрузить NVIDIA Streamline SDK, который служит оболочкой для DLSS и всех его функций.
-
Нажмите Access Github.
-
На открывшейся странице нажмите зеленую кнопку Code и выберите Download ZIP из выпадающего списка.
- Перейдите в папку, содержащую загруженный архив Streamline-main.zip. Обычно это папка Downloads.
- Распакуйте ZIP-архив. По умолчанию он распаковывается в папку Streamline-main. Однако при необходимости вы можете переименовать ее.
-
Откройте папку Streamline-main/bin/x64 и найдите следующие файлы:
Вам не нужно устанавливать Streamline SDK. Просто перейдите в нужную папку.- nvngx_dlss.dll
- sl.common.dll
- sl.dlss.dll
- sl.interposer.dll
-
Скопируйте эти файлы в папку bin вашего проекта UNIGINE:
- Найдите свой проект в браузере UNIGINE SDK и выберите Other Actions -> Open folder.
- В открывшемся каталоге найдите и откройте папку bin.
- Скопируйте 4 файла, перечисленных выше.
- Изменения будут применены при следующем запуске приложения. Итак, если у вас открыт UnigineEditor, перезапустите его, чтобы применить изменения.
-
В UnigineEditor откройте консоль и проверьте, доступен ли DLSS. Соответствующая информация приведена в разделе Render:
Если DLSS недоступен, в консоли будет отображено соответствующее сообщение.
Чтобы использовать DLSS для сцены, включите его одним из следующих способов и укажите настройки:
-
В интерфейсе UnigineEditor:
-
Через консольную команду render_upscale_mode:
render_upscale_mode 2
Использование FSR2#
Прежде чем применять апскейлинг FSR 2, вам следует проверить его доступность. В UnigineEditor откройте консоль и проверьте информацию, представленную в разделе Render:
Чтобы использовать FSR 2 для сцены, включите его одним из следующих способов и укажите настройки:
-
В интерфейсе UnigineEditor:
-
Через консольную команду render_upscale_mode:
render_upscale_mode 1
Настройки апскейлеров#
В зависимости от текущего режима апскейлинга набор настроек может отличаться. Пожалуйста, прочтите статью Upscalers.
Когда следует применять апскейлинг#
По умолчанию апскейлинг применяется до отрисовки всех пост-эффектов. Однако, вы можете применить апскейлинг и после отрисовки пост-эффектов.
Это можно сделать через консоль с помощью команды render_upscale_post или в UnigineEditor, переключив параметр Upscale After Post Effects.
Контексты FSR#
Контекст - это один вызов для каждой операции масштабирования. Количество контекстов, для которых можно повысить разрешение с помощью FSR 2, ограничено и может быть определено консольной командой fsr_max_contexts. Рекомендуемое количество контекстов - 8. Указание количества контекстов необходимо при рендеринге в нескольких вьюпортах: количество вьюпортов должно соответствовать количеству контекстов.