Upscaling with DLSS and FSR
UNIGINE provides support for two advanced upscaling technologies: NVIDIA DLSS (Deep Learning Super Sampling) and AMD FSR 2 (FidelityFX Super Resolution 2). These technologies enable upscaling on a wide range of devices from different manufacturers.
These upscaling technologies are used to render high-resolution images based on the lower resolution source. If both upscalers are available, you can choose between them, or you can turn off upscaling at all. We suggest using the DLSS technology as it produces high-quality results with fewer visual artifacts.
Requirements and Restrictions#
The DLSS and FSR 2 upscalers have specific requirements and compatibility restrictions determining whether the application supports these features.
The upscalers are initialized on render initialization. To verify whether they are supported and initialized after application startup, you can do one of the following:
For example, the Render section may provide the following information:
---- 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
If the upscaler is not supported, a corresponding message will be displayed in the console.
DLSS#
For proper work, DLSS must meet the following requirements:
- Platforms: Windows
- Graphic API: DirectX 12
- Hardware: any GeForce RTX GPU and RTX 40 Series GPU.
- Driver: 522.25 version or newer.
For example, if you run the application with a GPU that is not listed, you will receive the following message in the console:
DLSS is not supported
Not an Nvidia GPU
FSR 2#
FSR 2 must meet the following requirements:
- Platforms: Windows
- Graphic API: DirectX 12
- Hardware: any GPUs supporting Shader Model 6.2.
- Driver: no special requirements.
For example, if you run the application with a graphic API other than DirectX 12, you will receive the following messages in the console:
FSR is not implemented, FSR is currently available only for DX12
Using DLSS#
For DLSS technology to work properly with UNIGINE, additional environment configuration is required.
- Follow this link to download the NVIDIA Streamline SDK, which serves as a wrapper for DLSS and all its features.
-
Click Access Github.
-
On the page that opens, click the green Code button and select Download ZIP from the drop-down list.
- Navigate to the folder containing the downloaded Streamline-main.zip archive. This is typically the Downloads folder.
- Extract the ZIP archive. By default, it is extracted to the Streamline-main folder. However, you can rename it if necessary.
-
Open the Streamline-main/bin/x64 folder and find the following files:
You don't need to install the Streamline SDK. Simply navigate to the folder.- nvngx_dlss.dll
- sl.common.dll
- sl.dlss.dll
- sl.interposer.dll
-
Copy these files to the bin folder of your UNIGINE project:
- Find your project in the UNIGINE SDK Browser and select Other Actions -> Open folder.
- In the directory that opens, find and open the bin folder.
- Copy the 4 files listed above.
- The changes will be applied at the next application start-up. So, if you have UnigineEditor opened, restart it to apply changes.
-
In UnigineEditor, open the console and check that DLSS is available. The corresponding information is provided in the Render section:
If DLSS is not available, the corresponding message will be shown in the console.
To use DLSS for the scene, enable it in one of the following ways and specify settings:
-
Via the UnigineEditor interface:
-
Using the render_upscale_mode console command:
render_upscale_mode 2
Using FSR2#
Before applying FSR 2 upscaling, you should check if it is available. In UnigineEditor, open the console and check the information provided in the Render section:
To use FSR 2 for the scene, enable it in one of the following ways and specify settings:
-
Via the UnigineEditor interface:
-
Using the render_upscale_mode console command:
render_upscale_mode 1
Settings of Upscalers#
Depending on the current upscale mode, the set of settings differs. Please refer to the Upscalers article.
When to Apply Upscaling#
By default, upscaling is applied before all post-processing effects are rendered. However, you can choose to apply upscaling after rendering the post-process effects.
It can be done via the console using the render_upscale_post command or in UnigineEditor by toggling the Upscale After Post Effects parameter.
FSR Contexts#
A context is a single call per upscaling operation. The number of contexts that can be upscaled with FSR 2 is limited and can defined by the fsr_max_contexts console command. The recommended number of contexts is 8. Specifying the number of contexts is necessary when rendering into multiple viewports: the number of the viewports must correspond to the number of contexts.