Апскейлинг с DLSS и FSR
UNIGINE поддерживает две передовые технологии апскейлинга: NVIDIA DLSS (Deep Learning Super Sampling) и AMD FSR 3 (FidelityFX Super Resolution 3). Эти технологии позволяют повышать разрешение изображения на широком спектре устройств разных производителей и использовать различные настройки качества как для статических, так и для динамических сцен.
Эти технологии используются для рендеринга изображений с высоким разрешением на основе источника с более низким разрешением. Если доступны оба режима апскейлинга, вы можете выбрать один из них или вообще отключить апскейлинг. Мы рекомендуем использовать технологию DLSS, поскольку она позволяет получать высококачественные результаты с меньшим количеством визуальных искажений.
Требования и ограничения#
DLSS и FSR 3 имеют ряд требований и ограничений по совместимости, что в конечном счете определяет, будут ли эти функции доступны в приложении.
Апскейлеры инициализируются при инициализации рендеринга. Чтобы проверить, поддерживаются ли они и инициализируются ли после запуска приложения, вы можете выполнить одно из следующих действий:
Например, раздел Render может содержать следующую информацию:
---- Render ----
DLSS is supported
DLSS Streamline version: 2.7.32
FSR is supported
FSR Version: 3.1.3
FSR Max Contexts: 8
FSR RAM Scratch Size: 10 MB
Если функция апскейлинга не поддерживается, в консоли отобразится соответствующее сообщение.
DLSS#
Для корректной работы DLSS должны удовлетворяться следующие требования:
- Платформы: Windows, Linux
- Графический API: DirectX 12, Vulkan
- Аппаратное обеспечение: любые графические процессоры GeForce RTX.
- Драйвер: версия 522.25 или новее.
Например, если вы запустите приложение с графическим процессором, которого нет в списке, вы получите в консоли следующее сообщение:
DLSS is not supported
Not an Nvidia GPU
FSR 2#
FSR 3 должен соответствовать следующим требованиям:
- Платформы: Windows
- Графический API: DirectX 12, Vulkan
- Аппаратное обеспечение: любые графические процессоры, поддерживающие Shader Model 6.2
- Драйвер: особых требований нет
Использование DLSS#
Для корректной работы технологии DLSS с UNIGINE требуется дополнительная настройка окружения.
DLSS на Windows#
Для тестирования интеграции DLSS на Windows использовалась версия 2.7.32 SDK NVIDIA Streamline. Другие версии не тестировались и могут работать непредсказуемо.
- Перейдите по этой ссылке, чтобы скачать NVIDIA Streamline SDK, который служит оболочкой для DLSS и всех его функций.
-
Нажмите Access Github.
-
Перед продолжением ознакомьтесь с условиями лицензии и убедитесь, что вы принимаете все её положения:
Примечание-
На открывшейся странице найдите файл license.txt в списке файлов и папок.
- Откройте файл и внимательно прочитайте текст.
-
Перейдите на главную страницу репозитория, нажав Streamline.
- Найдите файл NVIDIA Nsight Perf SDK License (28Sept2022).pdf, указанный в license.txt, в том же списке файлов и папок.
- Откройте его и внимательно прочитайте лицензию.
- Если вы принимаете все условия и положения, переходите к следующему шагу.
-
- Перейдите на главную страницу репозитория, нажав Streamline, как вы делали ранее.
-
Скачайте Streamline SDK 2.7.32 Release. Нажмите на ссылку Releases:
Найдите Streamline SDK 2.7.32 Release и скачайте архив streamline-sdk-v2.7.32.zip:
- Распакуйте ZIP-архив. По умолчанию он распаковывается в папку streamline-sdk-v2.7.32. При необходимости вы можете переименовать её.
-
Перед продолжением ознакомьтесь с условиями лицензии и убедитесь, что вы принимаете все её положения:
Примечание- Откройте папку streamline-sdk-v2.7.32/bin/x64 и найдите текстовый файл nvngx_dlss.license.txt.
- Откройте файл и внимательно прочитайте лицензию.
- Если вы принимаете все условия и положения, переходите к следующему шагу.
-
Закройте файл, вернитесь в папку streamline-sdk-v2.7.32/bin/x64 и найдите следующие файлы:
ПримечаниеУстанавливать Streamline SDK не требуется. Просто перейдите в папку.- nvngx_dlss.dll
- nvngx_dlss.license.txt
- sl.common.dll
- sl.dlss.dll
- sl.interposer.dll
-
Скопируйте эти файлы в папку bin вашего проекта UNIGINE:
ПримечаниеКопируя лицензионный файл, вы подтверждаете, что принимаете все указанные в нём условия.- Найдите ваш проект в UNIGINE SDK Browser и выберите Other Actions -> Open folder.
- В открывшемся каталоге найдите и откройте папку bin.
- Скопируйте перечисленные выше 5 файлов.
- Найдите ваш проект в UNIGINE SDK Browser и выберите Other Actions -> Open folder.
-
Вернитесь в корневую папку streamline-sdk-v2.7.32 и найдите следующие лицензионные файлы:
- license.txt
- NVIDIA Nsight Perf SDK License (28Sept2022).pdf
-
Скопируйте эти файлы в корневую папку вашего проекта UNIGINE.
ПримечаниеКопируя лицензионные файлы, вы подтверждаете, что принимаете все указанные в них условия. - Изменения вступят в силу при следующем запуске приложения. Если UnigineEditor уже запущен, перезапустите его, чтобы применить изменения.
-
В UnigineEditor откройте консоль и проверьте, что DLSS доступен. Соответствующая информация отображается в разделе Render:
ПримечаниеЕсли DLSS недоступен, в консоли будет выведено соответствующее сообщение.
Чтобы использовать DLSS для сцены, включите его одним из следующих способов и укажите параметры:
-
Через интерфейс UnigineEditor:
-
С помощью команды консоли render_upscale_mode:
Исходный кодrender_upscale_mode 2
DLSS на Linux#
На Linux используется DLSS SDK версии 310.2.1.
- Перейдите по этой ссылке, чтобы скачать NVIDIA RTX DLSS SDK, который служит оболочкой для DLSS и всех его функций.
-
Перед продолжением ознакомьтесь с условиями лицензии и убедитесь, что вы принимаете все её положения:
Примечание-
На открывшейся странице найдите файл LICENSE.txt в списке файлов и папок.
- Откройте файл и внимательно прочитайте текст.
- Если вы принимаете все условия и положения, переходите к следующему шагу.
-
-
Скачайте следующие библиотеки, находящиеся в папке DLSS/lib/Linux_x86_64:
- libnvidia-ngx-dlssd.so.310.2.1
- libnvidia-ngx-dlss.so.310.2.1
-
Скопируйте эти файлы в папку bin вашего проекта UNIGINE:
ПримечаниеКопируя лицензионный файл, вы подтверждаете, что принимаете все указанные в нём условия.- Найдите ваш проект в UNIGINE SDK Browser и выберите Other Actions -> Open folder.
- В открывшемся каталоге найдите и откройте папку bin.
- Найдите ваш проект в UNIGINE SDK Browser и выберите Other Actions -> Open folder.
-
Вернитесь в корневую папку DLSS на GitHub и найдите следующий лицензионный файл:
- LICENSE.txt
-
Скопируйте этот файл в корневую папку вашего проекта UNIGINE.
ПримечаниеКопируя лицензионный файл, вы подтверждаете, что принимаете все указанные в нём условия. - Изменения вступят в силу при следующем запуске приложения. Если UnigineEditor уже запущен, перезапустите его, чтобы применить изменения.
-
В UnigineEditor откройте консоль и проверьте, что DLSS доступен. Соответствующая информация отображается в разделе Render.
ПримечаниеЕсли DLSS недоступен, в консоли будет выведено соответствующее сообщение.
Чтобы использовать DLSS для сцены, включите его одним из следующих способов и укажите параметры:
-
Через интерфейс UnigineEditor:
-
С помощью команды консоли render_upscale_mode:
Исходный кодrender_upscale_mode 2
Использование FSR 3#
Прежде чем применять апскейлинг FSR 2, вам следует проверить его доступность. В UnigineEditor откройте консоль и проверьте информацию, представленную в разделе Render:
Чтобы использовать FSR 3 для сцены, включите его одним из следующих способов и укажите настройки:
-
В интерфейсе UnigineEditor:
-
Через консольную команду render_upscale_mode:
Исходный кодrender_upscale_mode 1
Команды запуска и консоли#
Доступны следующие параметры командной строки при запуске:
Список консольных команд, связанных с апскейлингом, доступен здесь.
Настройки апскейлеров#
В зависимости от текущего режима апскейлинга набор настроек может отличаться. Пожалуйста, прочтите статью Upscalers.
Когда следует применять апскейлинг#
По умолчанию апскейлинг применяется до отрисовки всех пост-эффектов. Однако, вы можете применить апскейлинг и после отрисовки пост-эффектов.
Это можно сделать через консоль с помощью команды render_upscale_post или в UnigineEditor, переключив параметр Upscale After Post Effects.
Контексты FSR#
Контекст - это один вызов для каждой операции масштабирования.
Количество контекстов, для которых можно повысить разрешение с помощью FSR 3, ограничено и может быть определено консольной командой fsr_max_contexts. Рекомендуемое количество контекстов - 8. Указание количества контекстов необходимо при рендеринге в нескольких вьюпортах: количество вьюпортов должно соответствовать количеству контекстов.
Количество контекстов DLSS ограничено 8.
Информация, представленная на данной странице, актуальна для версии UNIGINE 2.20 SDK.