AMD FidelityFX™ FarCry FSR background

AMD FidelityFX™ Super Resolution 1 (FSR 1)

AMD FidelityFX™ Super Resolution (FSR) is our 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. 

Supports: 

  • DirectX®12.
  • DirectX®11.
  • Vulkan®.

Part of the AMD FidelityFX™ SDK

AMD FidelityFX SDK components

Looking for AMD FidelityFX Super Resolution 3? This page is for our spatial upscaler, FSR 1. If you’re looking for our latest super resolution temporal upscaling and frame generation technology you’ll need to head over to our dedicated FSR 3 page instead!

AMD FidelityFX Super Resolution 3 spaceship

Download the latest version - v1.1

Updated as part of AMD FidelityFX SDK v1.1:

  • AMD FidelityFX backend updates, including buffer allocator overrides
  • Updated documentation and release of reference documentation for SDK + Framework
  • Native Microsoft® GDK® backend implementation library (requires developer access to GDK® program)

Features

FSR Super Resolution

Super Resolution

FSR Super Resolution

Cross-platform

FSR Open Source

Open Source

FSR Open Source

Easy to integrate

FSR Open Source

Highly optimized

Super Resolution

  • Major framerate boosts combined with high-quality, high-resolution graphics!
  • Four different quality modes proposed: Ultra QualityQualityBalanced, and Performance.

Cross-platform

Open Source

  • Provided on GPUOpen under an MIT license.

Easy to integrate

  • Full shader source code provided for a smooth and flexible integration.
  • Wide API support for DirectX®12, Vulkan®, and DirectX®11!
  • FSR can be ported onto multiple platforms without restriction. 

Highly optimized

  • FSR is hand-optimized for great performance across a wide variety of GPUs[^1].

How it works

AMD FidelityFX Super Resolution is a spatial upscaler: it works by taking the current anti-aliased frame and upscaling it to display resolution without relying on other data such as frame history or motion vectors.

At the heart of FSR is a cutting-edge algorithm that detects and recreates high-resolution edges from the source image. Those high-resolution edges are a critical element required for turning the current frame into a “super resolution” image. 

FSR provides consistent upscaling quality regardless of whether the frame is in movement, which can provide quality advantages compared to other types of upscalers.

FSR is composed of two main passes:

  • An upscaling pass called EASU (Edge-Adaptive Spatial Upsampling) that also performs edge reconstruction. In this pass the input frame is analyzed and the main part of the algorithm detects gradient reversals – essentially looking at how neighboring gradients differ – from a set of input pixels. The intensity of the gradient reversals defines the weights to apply to the reconstructed pixels at display resolution.
  • A sharpening pass called RCAS (Robust Contrast-Adaptive Sharpening) that extracts pixel detail in the upscaled image.

FSR also comes with helper functions for color space conversions, dithering, and tone mapping to assist with integrating it into common rendering pipelines used with today’s games.

FidelityFX Super Resolution looks for gradient reversals in the source image to reconstruct high-definition edges at upscaled resolution.

Where to integrate AMD FidelityFX Super Resolution in a frame?

AMD FidelityFX Super Resolution passes work best in perceptual color space, and should therefore be integrated after tone mapping. Passes that introduce noise or other high-frequency visual components to the scene should be rendered after upscaling to avoid those noisy components being amplified.

Looking to integrate AMD FidelityFX Super Resolution into your game? For more information on how to integrate FSR and how to expose it in your game’s user interface please consult our FSR presentation.

Please also take a look at our naming guidelines for advice on presenting FSR in your game UI, and to obtain AMD FidelityFX logo assets.

AMD FidelityFX CLI

Want to quickly try out AMD FidelityFX Super Resolution (FSR) or AMD FidelityFX Contrast Adaptive Sharpening (CAS)?

You can use our new command-line tool AMD FidelityFX CLI, which lets you test FSR or CAS on a screenshot, or any other image.

Comparison

The comparison images below are a 1200 x 700px crop taken from a 4K frame from our FSR sample provided via our Cauldron framework.  The images are JPEGs saved with minimal compression to keep the file sizes lower to support faster load times.

Native resolution is on the left, and FSR Ultra Quality on the right.  

Native Resolution
FidelityFX Super Resolution Ultra Quality Mode

This next set of images are the same crop as above, but this time comparing bilinear upscaling (left) with FSR Performance (right).

Bilinear upscaling
FidelityFX Super Resolution Performance Mode

Here is a different crop, with native, and then all four FSR quality settings shown.

To make it easier to see the differences, we’ve applied the native resolution image over the top (left) so you can see how FSR quality modes (right) compare by moving the slider.

Native
Quality modes

AMD FidelityFX Super Resolution quality modes

AMD FidelityFX Super Resolution exposes different quality modes that varies the amount of scaling to apply to the source image, depending on the quality/performance ratio desired.

In addition to fixed scaling, FSR may be used in “arbitrary scaling” mode, whereby any area scale factor between 1x and 4x is supported. This mode is typically used for Dynamic Resolution Scaling, whereby source resolution is determined by a fixed performance budget to achieve a minimum frame rate.

FSR quality modeDescriptionScale factorInput resolutionOutput resolution
Ultra Quality

Ultra Quality mode produces an image with quality virtually indistinguishable from native rendering. It should be selected when the highest quality is desired.

1.3x per dimension
(1.69x area scale)
(77% screen resolution)

1477 x 831
1970 x 1108
2646 x 1108
2954 x 1662

1920 x 1080
2560 x 1440
3440 x 1440
3840 x 2160

Quality

Quality mode produces a super resolution image with quality representative of native rendering, with a sizeable performance gain.

1.5x per dimension
(2.25x area scale)
(67% screen resolution)

1280 x 720
1706 x 960
2293 x 960
2560 x 1440

1920 x 1080
2560 x 1440
3440 x 1440
3840 x 2160

Balanced

Balanced mode produces a super resolution image approximating native rendering quality, with a major performance gain compared to native.

1.7x per dimension
(2.89x area scale)
(59% screen resolution)

1129 x 635
1506 x 847
2024 x 847
2259 x 1270

1920 x 1080
2560 x 1440
3440 x 1440
3840 x 2160

Performance

Performance mode visibly impacts image quality and should only be selected in situations where needing additional performance is critical.

2.0x per dimension
(4x area scale)
(50% scale resolution)

960 x 540
1280 x 720
1720 x 720
1920 x 1080

1920 x 1080
2560 x 1440
3440 x 1440
3840 x 2160

AMD FidelityFX Super Resolution performance

AMD FidelityFX Super Resolution is hand-optimized for best performance and runs well on a large variety of GPUs. The following table provides some indication of upper performance threshold numbers for the cost of running FSR, measured on different classes of GPUs.

FSR target resolution

Enthusiast GPUs

RADEON™ RX 6800XT, NVIDIA RTX 3080

Performance GPUs

RADEON™ RX 6700XT, NVIDIA RTX 3060 Ti

Mainstream GPUs

RADEON™ RX 5700XT, NVIDIA RTX 2060 SUPER

4K
Ultra Quality Quality Balanced Performance

0.40 ms or less0.60 ms or less1.0 ms or less

1440p
Ultra Quality Quality Balanced Performance

0.20 ms or less0.30 ms or less0.50 ms or less

System Specifications

  • Motherboard: MSI X570-A Pro
  • Operating System: Windows 10 Pro 64-bit Version 20H2 (OS Build 19042.928)
  • AMD Driver Version: 21.20-210624n
  • NVIDIA Driver Version: 471.11
  • CPU: AMD Ryzen 9 5900X @ 3.70 GHz
  • Chipset: Ryzen SOC
  • System RAM: 16.0 GB G.Skill DDR4-3600 CL16-16-16-36

Unreal Engine developer?

AMD FidelityFX Super Resolution is now available as a plugin for Unreal Engine 4 at 4.27.1 or higher, or as a feature patch you can apply for Unreal Engine 4.26.

Discover our Unreal Engine FSR plugimSee our Unreal Engine feature patches

Our Unreal Engine Performance Guide is a must-read for all Unreal Engine 4 developers.

We’ve recently updated it to include a comprehensive section dedicated to upscaling in Unreal Engine, including FSR.

Find out about Unreal Engine upscaling
Unity Logo

Unity developer?

AMD FidelityFX Super Resolution is now available in both the Unity HDRP and URP.

Unity 2021.2 includes built-in FSR support.  Unity developers can use FSR by enabling dynamic resolution in HDRP assets and Cameras, and then selecting “FidelityFX Super Resolution 1.0” under the “Upscale filter” option.

FSR can also now be integrated into Unity URP projects with our new patch, which you can download below.

Check out the features of Unity 2021.2Download our new patch for Unity URP

For more information on AMD FidelityFX Super Resolution in Unity check out our dedicated Unity page.

This page includes tips on installing our URP patch and examples of FSR in Unity.

Xbox developer?

An example use of AMD FidelityFX Super Resolution exists within the Xbox Game Development Kit samples.

xbox

See FSR in action in these fantastic titles

Click on any of the thumbnails below to take you to YouTube in a new window.

1 year of FSR

Far Cry 6

Necromunda

Resident Evil Village

We are thrilled that AMD FidelityFX Super Resolution is supported by all these developers

Partners using FSR

Find out more about FSR on amd.com 

And still there’s more! You can find further developer experiences with AMD FidelityFX shared on our testimonials page

Before you go! Do you want to be one of the first to hear our latest developer news? Then make sure to follow us on Twitter  @GPUOpen, add our  RSS feed, or just keep popping back here to GPUOpen!

Version history

  • Updated as part of AMD FidelityFX SDK v1.1:

  • AMD FidelityFX backend updates, including buffer allocator overrides

  • Updated documentation and release of reference documentation for SDK + Framework

  • Native Microsoft® GDK® backend implementation library (requires developer access to GDK® program)

Other AMD FidelityFX effects

Related news and technical articles