AMD FidelityFX™ Super Resolution 3.1.1 (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
Download the latest version as part of the AMD FidelityFX SDK 1.1.2 - AMD FSR v3.1.2
FSR 3.1.2 minor update (as part of the AMD FidelityFX SDK 1.1.2 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.
Unreal Engine
- More info and links for our Unreal Engine 5 plugin further down. Plugin for 3.1.2 coming soon.
Features
Frame Generation
- Insert interpolated frames for smoother results.
- Works in both GPU and CPU-limited situations.
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.
Ease of integration
- FidelityFX API.
- DirectX® 12, Vulkan, and Unreal Engine 5 support.
Highly optimized
- Hand-optimized for great performance across mid to high-range GPUs.
- Frame Generation works in both GPU and CPU-limited situations.
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.
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.2 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 behaviour 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 OFF | VRR ON | |
---|---|---|
V-Sync OFF | Tearing will be seen at all frame rates. |
Recommended setting if frame times are highly variable Some tearing may appear in some circumstances (e.g. fps close to or above monitor’s max refresh). Hardware Accelerated GPU Scheduling disabled may result in more tearing. |
V-Sync ON |
Tearing-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
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)
- Composite UI stored in another RT on top of generated frames.
- Call back into the engine and have you render UI on top of the generated frames.
- Identify UI by comparing the game frame without UI to the game frame with UI.
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.
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 mode | Description | Scale factor | Input resolution | Output resolution |
---|---|---|---|---|
Native AA | Native 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 |
Quality | Quality 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 |
Balanced | Balanced 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 |
Performance | Performance 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 |
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
For detailed information on how to implement AMD FSR 3.1.2 technology into your game, check out our comprehensive documentation.
You'll find our AMD FSR 3.1.2 documentation within our wider AMD FidelityFX SDK v1.1.2 manual.
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.Unreal Engine 5 developer?
Plugin for FSR 3.1.2 coming soon
Wait! It really is worth reading the manual!
Our UE5 FSR 3 plugin installation guide, and our Unreal Engine performance guide (now updated for FSR 3) will make sure you get the best results in your game.
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
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!
Version history
FSR 3.1.2 minor update (as part of the AMD FidelityFX SDK 1.1.2 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.
- sRGB and PQ flags moved to dispatch context instead of creation context.
- Added support for a frame distortion texture.
- 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.
Part of the 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.
- Fixing a rare crash that could occur with fast camera motion on all GPUs.
- Initial release as part of AMD FidelityFX SDK
Related GPUOpen content
AMD FidelityFX Super Resolution 3.1.1 Unreal Engine plugin guide
Download the AMD FSR 3.1.1 plugin for Unreal Engine, and learn how to install and use it.
AMD FSR 3 game integrations out now + more details for developers
With the integration of AMD FidelityFX™ Super Resolution 3 into games, we’re sharing even more technical details for developers.
We’re generating news on AMD FSR 3, so let’s put you in the frame!
Read the latest AMD FidelityFX™ Super Resolution 3 developer updates from the GPUOpen team.
Temporal Upscaling – Past, Present, and Future (GDC 2023 – YouTube link)
This talk focuses on temporal upscaling, describing how the algorithm generates a final image and how FSR mitigates against common artifacts.
AMD FidelityFX™ Super Resolution 2 (FSR 2)
Learn even more about our new open-source temporal upscaling solution FSR 2, and get the source code and documentation!
AMD FidelityFX™ Super Resolution 1 (FSR 1)
AMD FidelityFX Super Resolution (FSR) is our open-source, high-quality, high-performance upscaling solution.
AMD FidelityFX™ – Testimonials
Find out what developers are saying about AMD FidelityFX.
All part of the FidelityFX SDK!
AMD FidelityFX™ SDK
The AMD FidelityFX SDK is our easy-to-integrate solution for developers looking to include FidelityFX features into their games.
Don't miss our other effects
AMD FidelityFX™ Blur
AMD FidelityFX Blur is an AMD RDNA™ architecture optimized collection of blur kernels from 3×3 up to 21×21.
AMD FidelityFX™ Breadcrumbs library
AMD FidelityFX Breadcrumbs library uses the breadcrumbs marker technique to track down where your submitted commands cause a GPU crash.
AMD FidelityFX™ Brixelizer/GI
AMD FidelityFX™ Brixelizer GI is compute-based real-time dynamic global illumination solution built upon sparse distance fields.
AMD FidelityFX™ Cauldron Framework
AMD FidelityFX Cauldron Framework is our open-source experimentation framework for DirectX®12 and Vulkan®, provided in the AMD FidelityFX SDK.
AMD FidelityFX™ Combined Adaptive Compute Ambient Occlusion (CACAO)
AMD FidelityFX Combined Adaptive Compute Ambient Occlusion (CACAO) is an AMD RDNA™ architecture optimized implementation of ambient occlusion.
AMD FidelityFX™ Contrast Adaptive Sharpening (CAS)
AMD FidelityFX Contrast Adaptive Sharpening (CAS) provides a mixed ability to sharpen and optionally scale an image.
AMD FidelityFX™ Denoiser
AMD FidelityFX Denoiser is a set of denoising compute shaders which remove artefacts from reflection and shadow rendering.
AMD FidelityFX™ Depth of Field (DoF)
AMD FidelityFX Depth of Field is an AMD RDNA™-architecture optimized implementation of physically correct camera-based depth of field.
AMD FidelityFX™ Hybrid Shadows sample
This sample demonstrates how to combine ray traced shadows and rasterized shadow maps together to achieve high quality and performance.
AMD FidelityFX™ Hybrid Stochastic Reflections sample
This sample shows how to combine AMD FidelityFX Stochastic Screen Space Reflections (SSSR) with ray tracing in order to create high quality reflections.
AMD FidelityFX™ Lens
AMD FidelityFX Lens is an AMD RDNA™ architecture optimized implementation of some of gaming’s most used post-processing effects.
AMD FidelityFX™ Luminance Preserving Mapper (HDR Mapper)
AMD FidelityFX LPM provides an open-source library to easily integrate HDR and wide gamut tone and gamut mapping into your game.
AMD FidelityFX™ Parallel Sort
AMD FidelityFX Parallel Sort makes sorting data on the GPU quicker, and easier. Use our SM6.0 compute shaders to get your data in order.
AMD FidelityFX™ Single Pass Downsampler (SPD)
AMD FidelityFX Single Pass Downsampler (SPD) provides an AMD RDNA™ architecture optimized solution for generating up to 12 MIP levels of a texture.
AMD FidelityFX™ Stochastic Screen Space Reflections (SSSR)
The AMD FidelityFX SSSR effect provides an open-source library to easily integrate stochastic screen space reflections into your game.
AMD FidelityFX™ Super Resolution 1 (FSR 1)
AMD FidelityFX Super Resolution (FSR) is our open-source, high-quality, high-performance upscaling solution.
AMD FidelityFX™ Super Resolution 2 (FSR 2)
Learn even more about our new open-source temporal upscaling solution FSR 2, and get the source code and documentation!
AMD FidelityFX™ Variable Shading
AMD FidelityFX Variable Shading drives Variable Rate Shading into your game.
TressFX
The TressFX library is AMD’s hair/fur rendering and simulation technology. TressFX is designed to use the GPU to simulate and render high-quality, realistic hair and fur.
Avatar: Frontiers of Pandora™ © 2023 20th Century Studios. Game Software excluding 20th Century Studios elements: © 2023 Ubisoft Entertainment. All Rights Reserved. Avatar: Frontiers of Pandora™ and the 20th Century Studios logo are trademarks of 20th Century Studios. Licensed to Ubisoft Entertainment by 20th Century Studios. Ubisoft and the Ubisoft logo are registered or unregistered trademarks of Ubisoft Entertainment in the U.S. and/or other countries.
FORSPOKEN © 2023 SQUARE ENIX CO., LTD. All Rights Reserved.
Immortals of Aveum © 2023 Electronic Arts Inc.
Like a Dragon Gaiden: The Man Who Erased His Name and Like a Dragon: Infinite Wealth © SEGA. All rights reserved. SEGA is registered in the U.S. Patent and Trademark Office. SEGA, the SEGA logo, Yakuza and LIKE A DRAGON are registered trademarks or trademarks of SEGA CORPORATION or its affiliates. All other trademarks, logos and copyrights are property of their respective owners.