Avatar: Frontiers of Pandora

AMD FidelityFX™ Super Resolution 3 (FSR 3)

Frame Interpolation

AMD FidelityFX™ Super Resolution 3.1.4 (AMD FSR 3) technology uses a combination of super resolution temporal upscaling technology and frame generation to deliver a massive increase in framerates in supported games.

AMD FSR 3 technology extends upon AMD FSR 2’s upscaling by adding Frame Generation – the ability to generate entirely new game frames and present those to the user to improve FPS. FSR 3 does this by adding two new technologies – Frame Interpolation and Optical Flow enhanced from AMD Fluid Motion Frames. AMD FSR 3.1 further expands upon this technology with quality improvements and the ability to use AMD FSR Frame Generation with any upscaling technology.

Discover which game developers are already using, or are planning on using, AMD FSR 3 in their titles further down this page.

Supports:

  • DirectX® 12.
  • Vulkan®
  • Unreal Engine 5.

Part of the AMD FidelityFX™ SDK

AMD FidelityFX SDK components

Download the latest version - v3.1.4

FSR 3.1.4 minor update (as part of the AMD FidelityFX SDK 1.1.4 release):

  • AMD FSR 3.1.4 includes several fixes for issues including reduced upscaler ghosting in newly disoccluded pixels compared with FSR 3.1.3.

FSR 3.1.3 minor update (as part of the AMD FidelityFX SDK 1.1.3 release release):

  • Several fixes for issues discovered with FSR 3.1.1/2.
  • New opt-in hybrid spin lock pacing support.
  • Update to AMDFidelityFX_FSR3FrameInterpolation GDK sample, bringing native FSR 3.1.3 support to Microsoft® Xbox and desktop ecosystem sample.

FSR 3.1.2 minor update (as part of the AMD FidelityFX SDK 1.1.2 release release):

  • New AMDFidelityFX_FSR3FrameInterpolation GDK sample, bringing native FSR 3.1.2 support to Microsoft®’s Xbox and desktop ecosystem.

  • FSR 3.1.2 includes several fixes for issues discovered with FSR 3.1.1 and adds additional developer-requested feature support:

    • Fix dilated depth formats in glsl shaders.
    • Addition of velocity factor to help eliminate bright pixel flickering in motion.
    • Color clamp now uses ellipsoid instead of AABB to help with ghosting streaks.
    • Added support for a frame distortion texture.

FSR 3.1.1 minor update (as part of the AMD FidelityFX SDK 1.1.1 release):

  • AMD FidelityFX Frame Interpolation Swapchain 1.1.0
    • Add support for AMD Anti-Lag 2.
  • FSR 3.1.1 includes a number of fixes for issues discovered with FSR 3.1.0.
  • FSR 3.1.1 has been tested and optimized for Microsoft GDK for Xbox Series X/S.

FSR 3.1 (as part of the larger AMD FidelityFX SDK 1.1 release):

  • AMD FidelityFX API integration.
  • API documentation including quick start checklist.
    • We strongly recommend you consult this checklist to ensure the best upscaling quality!
  • Separation of upscaling and frame generation.
  • Upscaling quality improvements and new features.
  • Vulkan implementation.
  • Full C++ and HLSL source provided via a library.
  • AMD FSR 3 DirectX 12 and Vulkan sample.
  • Learn more in our AMD FSR 3.1 blog post.
  • More info and links for our Unreal Engine 5 plugin further down

Features

Frame Generation

Insert interpolated frames for smoother results.
Works in both GPU and CPU-limited situations.

Upscale resolution

Resolution Upscaling

Image quality similar or better than native rendering.
Support for any area scale factor between 1x and 9x (including Dynamic Rate Scaling/DRS).

Latency Reduction

Keeps latency down as much as possible.
Frame pacing for regular frame rates with and without VRR.

FSR 3 Ease Integration

Ease of Integration

FidelityFX API.
DirectX® 12, Vulkan®, and Unreal Engine 5 support.

FSR 3 Optimized

Highly Optimized

Hand-optimized for great performance across mid to high-range GPUs.
Frame Generation works in both GPU and CPU-limited situations.

Antialiasing

Anti-aliasing

Includes high-quality anti-aliasing.
FSR 3 replaces any TAA within the game frame.
New FSR 3 “Native AA” mode.

Cross Platform

Boosts framerates in supported games.
Wide range of products and platforms, both AMD and select competitors.

FSR Open Source

Open Source

Available here on GPUOpen under the MIT license.

Integration

General overview

AMD FidelityFX Super Resolution 3.1 technology includes both upscaling and frame generation. AMD FSR 2 is therefore superseded by FSR 3. Developers only need to integrate FSR 3.1 to benefit from upscaling and frame generation. 

Frame generation in FSR 3.1 is optional – it can be disabled if only upscaling is desired. This will effectively revert behavior to be equivalent to FSR 2.

  • If a game already supports FSR 2 then replace it with FSR 3.1.4 using the FidelityFX API for the simpler upgrade path.
  • If a game does not already support FSR 2 then integrate FSR 3 directly.

FSR 3.1 Frame Generation is compatible with third-party upscalers, as long as render-resolution motion vectors and depth, in supported formats, is provided to the API.

Signed AMD FidelityFX API DLL integration is strongly recommended for debug and future compatibility purposes.

We also have documentation to support migration to the AMD FidelityFX API.

Important notes for integrating AMD FSR 3

Minimum frame rate

FSR 3 Frame Generation runs best when interpolating from a minimum of 60 fps pre-interpolation (e.g. after upscale). Whilst FSR 3 can roughly double any input frame rate, going below 60 is not recommended. This is due to interpolation visual artifacts being more prominent at lower frame rates. Sub 30fps frame rate pre-interpolation should be absolutely avoided.

Upscaling quality pre Frame Generation

Ensure your game has a high-quality FSR 3 upscale-only implementation first (see FSR 2 documentation here) as a sub-optimal integration of the upscale component will carry over any upscaling artifacts to interpolated frames!

Altering FSR 3 behavior based on sub-60 fps detection is not recommended. We recommend educating players about this and letting them adjust their own graphics settings as needed.

User interface considerations

There are multiple methods for UI composition. Make sure you read our detailed documentation to choose the optimal solution for your game.

Follow our recommendations for UI requirements.

We also now provide localization strings for all three versions of FidelityFX Super Resolution for use where you refer to FSR in your game. You can find these on our AMD FidelityFX Naming Guidelines page.

Variable Refresh Rate (VRR) considerations

FreeSync, G-Sync, and Adaptive Sync are all forms of Variable Refresh Rate technologies. With VRR, refresh rate is dictated by frames sent by the GPU to the monitor.

It is highly recommended that games implement a frame limiter to provide options to players who want a steady frame rate.

FSR 3 Frame Generation behaves according to the following table:

VRR OFFVRR ON
V-Sync OFFTearing will be seen at all frame rates.Recommended setting if frame times are highly variable
Some tearing may appear in some cases (e.g., fps close to or above monitor’s max refresh).
Hardware Accelerated GPU Scheduling disabled may result in more tearing.
V-Sync ONTearing-free experience at all frame rates.
FPS limited to integer multiple of max refresh when fps is under max refresh. This may cause “judder” due to uneven sync intervals.
Recommended setting if frame times are stable (e.g., via limiter)
Tearing-free experience at all FPS.
Frame rate will be capped at monitor’s maximum refresh rate.
Render rate is implicitly limited to half of the monitor’s max refresh rate.

Debug view

FSR 3 has debug views for integration testing of Upscaling, Frame Generation, and screen tearing. Read more in our FSR 3 blog.

Sharpening

FSR 3 comes with its own optional sharpening pass. It is strongly recommended that the game exposes a sharpening slider – this is also a common request from players.

Compatibility with third-party software or code

AMD FSR 3 requires unencumbered access to the swap chain for best frame pacing results. Software libraries that intercept DXGI calls may cause frame pacing issues with FSR 3.

Third-party software that intercept DXGI calls to display an on-screen overlay may be incompatible with FSR 3 Frame Generation. It is recommended to disable those for best frame pacing FSR 3 results.

  • AMD OCAT has been validated to work correctly with FSR 3 Frame Generation.

There are more substantial notes expanding on everything here in our deck/main documentation pages.

How it works

AMD FSR 3 data flow

AMD FSR 3.1 architecture

The four basic steps to integrate AMD FSR 3 technology into your game

Step 1: FSR 3 upscaling

  • For upscaling, FSR 3 integration should be similar to FSR 2. Integration should be easy, via the intuitive, flexible AMD FidelityFX API.  See our API documentation for more details.
  • You’ll find an easier integration for FSR 3 upscaling into games that already have a temporal upscaling rendering path. If FSR 2 is already supported, you can simply replace FSR 2 upscale with FSR 3 upscale.

Step 2: Swapchain

  • Replace or create your swap chain using the AMD FidelityFX API DX12 or Vulkan Frame Generation Swapchains.

Step 3 – Frame Generation

  • FSR 3 Frame Generation requires some additional input on setup and dispatch, and swapchain handling.
    • Start off with Async disabled to validate integration quality.
  • Call the Frame Generation Prepare Dispatch API at upscale/TAA time in the graphics pipeline.

Step 4 – UI handling

  • There are three different UI composition options: (Note: this step is REQUIRED for integration)
    1. Composite UI stored in another RT on top of generated frames.
    2. Call back into the engine and have you render UI on top of the generated frames.
    3. Identify UI by comparing the game frame without UI to the game frame with UI.

More details in our documentation.

FSR 3 Optical Flow and Frame Generation workloads

The Optical Flow and Frame Generation workloads can be either run on the presentation queue provided by the game, or an async queue provided by the FrameInterpolationSwapchain .

More information on this and the asynchronous compute pipeline in our documentation.

FSR 3 present queue, upscaling, frame generation pipeline

AMD FSR 3 quality modes

FSR 3 adds a new quality mode, Native AA,  to the four modes from earlier FSR implementations – Quality, Balanced, Performance, with Ultra Performance as an optional mode. These vary the amount of scaling to apply to the source image, depending on the quality/performance ratio desired. 

The new Native AA quality mode is a pure anti-aliasing option, no upscaling takes place. If you enable it together with “Frame Generation” this provides frame generation without upscaling. 

Note: Native AA quality mode has the largest performance overhead. It still requires reactive, and transparency + composition masks to work correctly! 

FSR 3 quality modeDescriptionScale factorInput resolutionOutput resolution
Native AANative AA mode provides an image quality superior to native rendering with a modest performance cost.1.0x per dimension
(1.0x area scale)
(100% screen resolution)
1920 x 1080
2560 x 1440
3440 x 1440
3840 x 2160
1920 x 1080
2560 x 1440
3440 x 1440
3840 x 2160
QualityQuality mode provides an image quality equal or superior to native rendering with a significant 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
BalancedBalanced mode offers an ideal compromise between image quality and performance gains.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
PerformancePerformance mode provides an image quality similar to native rendering with a major performance gain.2.0x per dimension
(4x area scale)
(50% screen 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
Ultra Performance*Ultra Performance mode provides the highest performance gain while still maintaining an image quality representative of native rendering.3.0x per dimension
(9x area scale)
(33% screen resolution)
 640 x  360
 854 x  480
1147 x  480
1280 x  720
1920 x 1080
2560 x 1440
3440 x 1440
3840 x 2160

* Optional

AMD FSR 3 performance overhead

The performance data below has been taken from the FidelityFX SDK sample and Microsoft® PIX and rounded up, and should be taken as an estimate of runtime.

  • Sharpening disabled.
  • Async compute disabled.

Integrating FSR 3 with async compute can help reduce the cost of frame generation by having it scheduled asynchronously.

FSR 3.1 target resolution

Quality mode

Enthusiast GPUs
(AMD RADEON™ RX 7900 XTX)

Performance GPUs
(AMD RADEON™ RX 6800 XT)

Mainstream GPUs
(AMD RADEON™ RX 5700 XT)

Upscale
(ms)
Frame Generation
(ms, up to)
Upscale
(ms)
Frame Generation
(ms, up to)
Upscale
(ms)
Frame Generation
(ms, up to)

4K

Native AA

1.7

2.4

2.9

3.8

6.5

7.3

Quality

1.0

1.7

1.8

2.4

4.4

5.0

Performance

0.8

1.5

1.5

2.1

3.7

4.5

1440p

Native AA

0.8

1.0

1.2

1.6

3.0

3.3

Quality

0.5

0.9

0.9

1.3

2.0

2.4

Performance

0.4

0.7

0.7

1.0

1.7

2.1

1080p

Native AA

0.5

0.7

0.7

1.0

1.7

2.1

Quality

0.3

0.6

0.5

0.9

1.2

1.6

Performance

0.3

0.5

0.4

0.7

1.0

1.4

System used for performance testing

  • Asrock X670E Steel Legend
  • AMD Ryzen™ 9 7950X @ 4.2 Ghz 
  • System RAM: 64GB G.Skill DDR5-6000
  • Windows® 10 Pro 64-bit
  • AMD Software: Adrenaline Edition 24.3.1

Documentation

Blogs

Don’t miss our blogs, where our engineers explain the latest developments with AMD FSR 3 in detail. 


Technical documentation here on GPUOpen for developers

Extensive documentation

For detailed information on how to implement AMD FSR 3.1.4 technology into your game, check out our comprehensive documentation.

You’ll find our AMD FSR 3.1.4 documentation within our wider AMD FidelityFX SDK v1.1.4 manual.

Looking to integrate AMD FidelityFX Super Resolution 3 into your game?

Or any of our AMD FidelityFX effects, including FSR 1/2, CAS etc?

Please take a look at our AMD FidelityFX Naming Guidelines for advice on presenting FSR 3 in your game UI, and to obtain AMD FidelityFX™ logo assets.

NEW: Multi-language translation strings now available for FSR.

FSR 3 present queue, upscaling, frame generation pipeline

Unreal Engine 5 developer?

Download our Unreal Engine 5 FSR 3 plugin
Plugin for FSR 3.1.3 now available, supporting UE 5.5 and below.


Wait! It really is worth reading the manual!

Our UE5 FSR 3 plugin installation guide, and our Unreal Engine performance guide will make sure you get the best results in your game.  Also - don’t miss our detailed five part series on getting the most out of our UE FSR 2 plugin remains a valuable read, as it applies to FSR 3 upscaling too.

AMD FSR 3 technology is available in titles now

See the very latest list over on amd.com

AMD FSR 3.1.4 is now available! Avatar: Frontiers of Pandora™ is the largest and most technologically advanced game we have shipped on our Snowdrop engine so far.

During its development, we caught our eyes on AMD’s FidelityFX Super Resolution tech pretty early on and it quickly became the default option for anti-aliasing and upscaling in Snowdrop.

The compute-based algorithm allowed us to opt to use FSR for all our platforms and give us a consistent high quality and performant solution across the board, something we definitely value a lot.

With high quality temporal upscaling and frame generation we can ensure that players experience the game for what it truly is.

Hampus Siversson, Associate Lead Engine Programmer

Massive Entertainment – A Ubisoft studio

We’d love for you to join our AMD FSR 3 partner list!

Game developers using AMD FSR 3

Version history

  • FSR 3.1.4 minor update (as part of the AMD FidelityFX SDK 1.1.4 release):

  • AMD FSR 3.1.4 includes several fixes for issues including reduced upscaler ghosting in newly disocludded pixels compared with FSR 3.1.3.

Other AMD FidelityFX effects

Related news and technical articles