AMD today released FidelityFX Super Resolution, a feature that significantly improves game performance with minimal trade-offs to image quality. The idea isn't to dial down the eye-candy of your game, such as textures, geometry detail, effects, etc., but to render the game at a lower resolution and upscale the output back to your desired resolution while reconstructing details so it doesn't feel like a low-resolution image that's simply been stretched to fit. The computational cost involved in restoring details to the upscaled image is less than rendering the game at the higher resolution, and so the net result is increased framerates.
NVIDIA pioneered such a technique two years ago, in 2018, using machine learning. NVIDIA's Deep Learning Super-Sampling (DLSS) was introduced as one of two killer features of its GeForce RTX graphics cards (the other being real-time raytracing). The updated DLSS 2.0 in particular gained much popularity with gamers as it provided them with a practically free 50-100% frame-rate boost, which came in handy with games that use raytracing. AMD has finally caught up and introduced their version of super-sampling with FidelityFX Super Resolution (FSR), which we review today.
At their core, both FSR and DLSS aim to do the same thing—enable rendering at lower resolution with minimal image-quality loss to eke out performance, but how they go about it vastly differs. NVIDIA DLSS 2.0 is a pre-trained AI network that takes in the lower-resolution frames and motion vectors (information that suggests which way the image is about to change) to generates a higher-resolution image based on those. On the user-side, only inference happens, all training is done at NVIDIA's labs and is not game specific. In the older 1.0 version of DLSS, NVIDIA used a pre-trained network that was optimized per-game, but didn't take into account motion vectors to reconstruct the details. A drawback with DLSS is the hardware dependency of the Convolutional Autoencoder AI. Within NVIDIA's product stack, only the GeForce RTX 20-series, RTX 30-series, and Quadro RTX-series graphics cards support DLSS, so this ability is limited to fewer products than FSR, which can work on any somewhat recent graphics card.
FidelityFX Super Resolution, on the other hand, is a technology that is integrated with the game's own rendering pipeline. Game developers can simply transplant FSR code, which will be open sourced at AMD's GPUOpen site in July (according to AMD). The technology doesn't require specialized hardware, and so AMD enabled the feature for all its Radeon GPUs dating back to "Polaris" (RX 400 series), as well as NVIDIA GeForce GPUs as far back as the GTX 10-series "Pascal." AMD's strategy is to repeat FreeSync, where it came out with a simpler alternative to G-SYNC, that went on to become popular due to its simplicity and royalty-free nature. On the next page, we will dive into the details of how FSR works, and how it can be configured.
In this review, we will analyze the image quality and performance impact of the various modes of AMD FidelityFX Super Resolution and also show you how it affects performance on various graphics cards, including NVIDIA GeForce models.
How AMD FidelityFX Super Resolution Works
The name FidelityFX has been around for a while, it's a combination of various turnkey game effects and image quality enhancements given to game developers under AMD's GPUOpen initiative. FidelityFX Super Sampling, the subject of this review, is a feature that lets you significantly improve the performance of your game at minimal cost to visual quality.
Your game is rendered at a resolution lower than your display resolution, and the resulting image is processed through an upscaling algorithm that attempts to reconstruct details.
FidelityFX Super Sampling (FSR) is integrated into the game as a shader-based post-processing code. It's agnostic to the hardware beyond programmable shaders and can thus run even on NVIDIA hardware. Within the game engine's rendering path, FSR sits between a tone-mapped anti-aliased output of the lower-resolution render and post-FX that can introduce visual noise, such as filmgrain. Only the 3D graphics are processed, the HUD is overlaid later, so it's always rendered at the native resolution. The FidelityFX Super Sampling upscaler operates in two passes. One is an upscaling pass, which uses a spatial upscaling algorithm that detects the edges in the image and sharpens them, while attempting to preserve details, and the other is a sharpening pass, which "adds" crispness to textures to improve image quality.
This is a completely different approach than NVIDIA DLSS 2.0, which looks at multiple images in a sequence, so it has additional pixel information. NVIDIA DLSS also requires game developers to provide them with motion vectors to avoid rendering errors due to this temporal appraoch. FSR is much simpler and requires no engine integration (other than the FSR shader render pass).
At what resolution your game is actually rendered is decided by the FSR quality preset you choose in your game's settings.
The various quality presets alter the render resolution, and hence impact resolution. With each step, you trade image quality for performance. The table above lists the various render resolutions for target display resolutions based on the quality presets. Since the scale factor changes with each preset, the performance gained between the native resolution and highest performance setting can be drastic.
Since FSR is essentially a drop-in render stage, practically any game can integrate it, and any current-generation hardware can run it. AMD is hence working to integrate it with as many game engines and games already launched or in development as possible. While Epic Games / Unreal Engine is not listed here, we have tested Unreal Engine based titles today, and FSR work perfectly fine in them.
|Processor:||AMD Ryzen 7 5800X @ 4.8 GHz|
(Zen 3, 32 MB Cache)
|Motherboard:||MSI B550-A Pro|
BIOS 7C56vA5 / AGESA 188.8.131.52
|Resizable BAR:||Enabled on all AMD RDNA2 & NVIDIA Ampere cards|
|Memory:||Thermaltake TOUGHRAM, 16 GB DDR4|
@ 4000 MHz 19-23-23-42 1T
Infinity Fabric @ 2000 MHz (1:1)
|Cooling:||Corsair iCue H100i RGB Pro XT|
240 mm AIO
|Storage:||Crucial MX500 2 TB SSD|
|Power Supply:||Seasonic Prime Ultra Titanium 850 W|
|Operating System:||Windows 10 Professional 64-bit|
Version 20H2 (October 2020 Update)
|Drivers:|| AMD: 21.6.1 Beta|
NVIDIA: 466.77 WHQL
- All games are set to highest quality
- Games tested were special "FSR-Preview" versions, keys provided by AMD
- Raytracing disabled for all games
- Motion blur, sharpening, and depth of field deactivated where supported
- In the comparison images, the FPS number is the 4K result for the RX 6800 XT
Our Patreon Silver Supporters can read articles in single-page format.