
Plugin installation
AMD FidelityFX Super Resolution (FSR) is an open source, high-quality solution for producing high resolution frames from lower resolution inputs. It uses a collection of cutting-edge algorithms with a particular emphasis on creating high-quality edges, giving large performance improvements compared to rendering at native resolution directly. FSR enables “practical performance” for costly render operations, such as hardware ray tracing.
This guide will help you navigate the process of installing and configuring the FSR Plugin for Unreal Engine 4.
Plugin installation
This plugin is intended for Unreal Engine 4.27.1* or later.
*If you are not a registered Unreal Engine developer, you will need to follow these instructions to register for access to this link.
FSR 1.0 can be enabled or disabled with the CVar r.FidelityFX.FSR.Enabled
.
Upscaling percentage can be tuned with the CVar r.ScreenPercentage
. We recommend the following values:
r.ScreenPercentage 77
Produces an image with quality virtually indistinguishable from native rendering. It should be selected when the highest quality is desired.r.ScreenPercentage 67
r.ScreenPercentage 59
Produces a super resolution image approximating native rendering quality, with a major performance gain compared to native.r.ScreenPercentage 50
We strongly recommend ensuring that r.ScreenPercentage
meets or exceeds a minimum value of 50 at all times.
Mobile users: scroll this table to the left to view the rest.
CVar | Default Value | Valid Values | Details |
---|---|---|---|
r.FidelityFX.FSR.UseFP16 | 1.0 | 0, 1 | Enables half-precision floating point arithmetic, improving performance without visible artifacts. |
r.FidelityFX.FSR.EnableFP16OnNvDX11 | 0.0 | 0, 1 | Our testing revealed that certain models of NVIDIA GPUs may not produce correct results when running DirectX 11 in conjunction with the FP16 variant of the FSR shaders. If this is resolved in the future, then you may want to use this CVar to re-enable the use of the 16-bit version of FSR on those GPUs. |
r.FidelityFX.FSR.RCAS.Enabled | 1.0 | 0, 1 | Robust Contrast Adaptive Sharpening Filter. Sharpens images after upscaling is complete. |
r.FidelityFX.FSR.RCAS.Denoise | 0.0 | 0, 1 | RCAS Denoising. Consider enabling for grainy inputs, such as when dithering or film grain effects are applied prior to FSR. |
r.FidelityFX.FSR.RCAS.Sharpness | 0.2 | [0.0, inf] | RCAS Sharpness tuning.
etc… |
r.FidelityFX.FSR.HDR.PQDitherAmount | 1.0 | [0.0, 1.0] | HDR-Only |
r.FidelityFX.FSR.Post.FilmGrain | 1.0 | 0, 1 | Applies UE4 FilmGrain effects later in the post-processing chain, to avoid conflicts with FidelityFX Super Resolution. |
r.FidelityFX.FSR.Post.ExperimentalChromaticAberration | 0.0 | 0, 1 | Be careful! This feature is Experimental and may produce undesirable results in some situations!
|
r.FidelityFX.FSR.Debug.ForcePS | 0.0 | 0, 1 | If enabled, runs FSR and post-FFX ChromaticAberration passes in VS-PS pilelines instead of CS. |
FidelityFX Super Resolution 1.0 contains a built-in sharpening pass called RCAS that can be configured through the CVar r.FidelityFX.FSR.RCAS
and is enabled by default. If your project has already integrated FidelityFX-CAS, be sure to completely disable FidelityFX CAS – including any in-game menu options – while FidelityFX Super Resolution 1.0 is enabled. This will prevent over-sharpening your final renders and improve integration results.
If Temporal Upscaling is requested via the CVar r.TemporalAA.Upsampling
, either the default Unreal Engine 4 Temporal Anti-Aliasing with Upsampling (TAAU) algorithm or a replacement Temporal Upscaling algorithm installed via plugins will always serve as the Primary Upscaler regardless of any further FSR settings. Under these conditions, r.ScreenPercentage
will apply to the Primary Upscaler and will have no effect on FSR. However, FSR can still be used as a Secondary Upscaler to meet project-specific needs!
If r.TemporalAA.Upsampling
and r.FidelityFX.FSR.Enabled
are both requested, this Hybrid Upscaling mode is selected automatically. In Hybrid Upscaling mode, upscaling intensity can be tuned to meet project requirements using the CVar r.SecondaryScreenPercentage.GameViewport
.
With upscaling enabled, rendered resolutions are frequently much lower than displayed resolutions. When combined with mipmap optimizations, this can limit the fidelity of texture samples relative to the displayed resolution. In these situations, specifying a negative mip bias can improve the quality of final renders.
When Hybrid Upscaling is in use, mip biasing guidelines for the Temporal Upscaler should be followed in lieu of these instructions. In the case of the Unreal Engine 4 default TAAU implementation, all mip bias selection is handled automatically.
When FSR is the Primary Upscaler, the developer should consider specifying a custom mip bias. This can be easily done in Unreal Engine 4 by CVar, using r.MipMapLODBias
. The desired mip bias varies with the ratio of (rendered resolution) : (displayed resolution)
, which is also represented as r.ScreenPercentage
. For upscaling with values of r.ScreenPercentage
in the range [0, 100], we recommend the following formula:
r.MipMapLODBias = log2(r.ScreenPercentage/100)
For the recommended values of r.ScreenPercentage
, these values are recommended:
Ultra Quality ( r.ScreenPercentage 77
) : r.MipMapLODBias = -0.3765
Quality ( r.ScreenPercentage 67
) : r.MipMapLODBias = -0.5771
Balanced ( r.ScreenPercentage 59
) : r.MipMapLODBias = -0.7606
Performance ( r.ScreenPercentage 50
) : r.MipMapLODBias = -1.000
The FidelityFX Super Resolution 1.0 plugin is currently incompatible with UE4 Panini Projections. Panini Projection will be explicitly disabled whenever FSR 1.0 is enabled.
Our one-stop guide to performance with Unreal Engine.
AMD FidelityFX Super Resolution (FSR) is our open-source, high-quality, high-performance upscaling solution.
Develop for Unreal Engine on AMD hardware with our plugin, performance and feature patches, including FidelityFX support.
Guest post by Sebastian Aaltonen, co-founder of Second Order. It covers optimising building the engine and asset production when using AMD Ryzen Threadripper processors.
Watch our video explaining what UE4 TressFX 5.0 is, and how to use it. TressFX is designed to simulate and render realistic hair and fur.
UE4 TressFX 5.0 has been designed to build upon the many features of UE4 TressFX 4.1, while being much easier to use. Find out what’s new!