AMD FidelityFX Super Resolution: Cross-Platform Resolution Scaling
Super Resolution for Super PlayabilityThe focus of AMD's FSR is to bring a major framerate boost by intelligently upscaling a lower-resolution input, combined with high-quality, high-resolution graphics to games that need it. The idea of enhanced upscaling isn't all that dissimilar to the concept behind NVIDIA's Deep Learning Super Sampling. At a high level, both technologies render a lower-resolution image and scale it up to a higher resolution for a sharper, more detailed overall image with better frame rates. While FidelityFX Super Resolution goes its own way without vendor lock-in or specialized hardware requirements, comparisons to DLSS 2.0 -- at least from image quality and performance standpoints -- are inevitable. The implementation, however, is wildly different.
First of all, FidelityFX Super Resolution is vendor agnostic and requires no specialized hardware to work its magic. If a GPU can run the necessary compute shaders fast enough, there's no real technical limitation preventing FSR from being utilized. NVIDIA relied on Turing and Ampere's tensor cores to accelerate an AI model using temporal and spatial data to weave in detail where it isn't. The effect is pretty convincing, but it absolutely requires NVIDIA's proprietary core technology. That by itself has limited adoption. Instead, AMD uses just spatial data, meaning FSR relies solely on information related to the current frame instead of trying to blend multiple frames together as NVIDIA does.
Super Resolutions For EverybodyWe've already mentioned that FidelityFX Super Resolution doesn't require any specialized hardware, unlike DLSS 2.0. The result of that might be the most exciting thing about the technology: it works on both AMD and NVIDIA GPUs today. Some of the GPUs in the supported hardware list are pretty old, and as a result AMD could be bringing some graphics processors back into relevance. That's got to be welcome news for enthusiasts who can't find the current generation of graphics cards in stock at their suggested retail prices.
The full list goes all the way back to AMD's Polaris GPUs found in the Radeon RX 400 and 500 series, and GeForce GPUs based on the Pascal architecture found in the GeForce 10 series like the GTX 1050, and later. Even Intel's chief of GPUs, Raja Kodouri, said on Twitter that the Blue Team would at least look into the tech without making any big promises about what GPUs would support it and when.
The other side of the coin is API support. Just like graphics hardware, software support extends back quite a ways. Not only is FSR available in DirectX 12, it's also available for DX11 games. Open-source APIs aren't left out of the mix, either, as Vulkan is also supported. The only problem is that each game has to add support for FSR, and as of right now AMD hasn't added a global switch to force the technology on. We're hopeful that will change in the future, but for now, we'll take what we can get.
Yes, AMD's FidelityFX Super Resolution even brings performance gains to GeForce cards
How FidelityFX Super Resolution WorksAMD has four levels of quality for FSR: Ultra Quality, Quality, Balanced, and Performance. At the top, Ultra Quality reduces the vertical and horizontal resolution of an image by a factor of 1.3. By the time we make our way down to Performance, the input is just half the resolution in either direction compared to the output image, or just one quarter of the total number of pixels. Just like DLSS 2.0, there's a reduced burden on the GPU to draw a scene, allowing it to move forward and reconstruct the detail. In this table, AMD outlines each FSR mode, scale factor, and input resolution. The scale factor below refers to the horizontal and vertical resolution, not the number of pixels drawn. For example, at 2,560 x 1,440 (around 3.69 megapixels), Ultra Quality results in a 2.18 megapixel image, which is just 60% of the detail at the start.
A couple of these settings happen to match NVIDIA's input resolutions along the way. The Quality and Performance modes here match Quality and Performance resolutions in DLSS 2.0 games like Control and MechWarrior 5. It's too bad that no DLSS 2.0 games also support FSR, or there'd be some real image quality comparison fodder. For now we'll just have to approximate it. While DLSS 2.0 has an even lower-resolution Ultra Performance mode, FSR focuses on drawing more details, and instead has the Ultra Quality mode at the top.
After the image is rendered at its input resolution but before the HUD is drawn, the FSR algorithm, accelerated by the GPU, enhances the edges of objects and outputs at the target resolution. After the image goes through the sharpening filters to make objects stand out, the HUD gets applied at the target resolution, so that it doesn't look fuzzy or stretched.
AMD says that on average, enthusiasts can expect a 2.4x performance uplift -- more than double the frame rate -- from the Performance setting. This will improve performance when hefty effects are enabled, allow gamers to get the most from their high-refresh FreeSync displays, and could potentially make games playable on hardware that might not otherwise run it smoothly, something we'll investigate on the next page.
FSR Edge Enhancement UpscalingWhatever the case and however you want to count the pixels, the next step in the process is to upscale the image. AMD says its upscaling process employs an "advanced edge reconstruction" algorithm, which is based on the spatial data before it goes to the render pipeline. Let's take this native 4K image from Counterplay Games' Godfall
In the native image, everything is what we'd expect. Objects are sharp and well-defined as they should be in on an 8MP display. Let's take a look at what Ultra Quality does to that image when it's rendered at 2,953 x 1,662 and then upscaled up to 4K.
Without blowing the image up to 2x to find all the hard edges, or swapping back and forth between images, we're actually quite hard-pressed to find glaring differences. The stairs are a little more blurry, and perhaps there's not quite as much detail in the character's hair, but in motion it's basically indistinguishable.
Folks who are sensitive to DLSS 2.0's temporal artifacts (which we feel are pretty mild and are likely to go unnoticed by many gamers) won't find anything like that here, because FSR relies solely on spatial data -- the graphics driver knows where objects are in relation to the camera as part of the scene. We can see in still images that there's a little bit of difference in the image quality at 4K, but we're hard pressed to find it when the game is moving. If there's much of a performance boost, which we'll look into soon, enabling FSR at the Ultra Quality setting seems like a no-brainer in the games that will support it.
Next up, let's jump to the other end of the spectrum and see what Performance FSR looks like. On a 4K UHD display, we're talking about a 1080p image, and on a 1440p monitor we're down to just 720p's worth of pixels at render time.
There are still two other settings we haven't looked at. For reasons that will become obvious on the next page, we're going to check out Quality next. As we mentioned, the 2,560 x 1,440 image produced by the FSR Quality mode matches DLSS 2.0's Quality mode's render resolution. Let's take a closer look at the image.
This is really the point where AMD's and NVIDIA's super scaling solutions should be compared, but that's not really possible until a game supports both technologies. Instead we can say that overall, it feels like FSR produces a softer image at the Quality setting than DLSS 2.0 does. Here's an example, and we'll start with FSR. If we really dig into the image here, it feels like our character on the left and the obelisk on the right are slightly out of focus. In motion, the game never feels that way because of constant motion, but in the still image it's apparent. For contrast, let's take a look at this scene from Remedy's Control rendered at 4K UHD on a GeForce RTX 3070 with Quality DLSS 2.0. It has the same input resolution of 2,560 x 1,440 before upscaling, and we've cropped it to 1080p the same as we did with Godfall.
Lastly is the Balanced setting. This renders around half-way between Quality and Performance, and renders at a resolution (2,259 x 1,270 when targeting 4K) that is just a bit higher than DLSS 2.0's Balanced mode (which renders at 2,227 x 1,253 with the same target).
When targeting 4K with Balanced settings, AMD's goal was to provide better image quality than 1080p while providing better performance than rendering 1440p. With a target resolution right in between the two, it should be pretty easy to hit that goal. The level of detail is better than it would have been at 1080p as well, though it can't put back all the detail that's missing from a higher resolution. The image is softer than either of the Quality settings, too, so it's just one more step in a series of trade-offs. The best way to determine which setting to use with FSR is to play the game and experiment on your hardware, but we'll do some investigation of our own on the next page.
That's a whole lot, but we'll do our best here to sum it up: thanks to the spatial data collected by AMD's algorithms, Quality FSR at 4K, which renders at 1440p, has even a smidge more detail than native 1440p rendering, because edges of objects get smoothed out. We still have to investigate performance, but the image quality trade-offs are something we think gamers will be happy to live with. The old saying goes that "something is better than nothing" but in this case, AMD's something is pretty solid, especially because it feels like it was built for lower-end hardware. In this era of shortages and high prices, hungry gamers will eat it up if it means they can play games at higher resolutions at the cost of a bit of detail.
Games and Developers Supporting FSRAMD says FSR is easy to integrate, as the company intends to make the shader source code available as part of the GPUOpen project under the permissive MIT open-source software license. The company expects source to be published sometime in mid-July. While AMD points out that FSR doesn't use temporal data or specialized hardware, there's no per-game training required, it's also important to note that DLSS 2.0 -- which does use temporal data -- no longer requires per-game training, either.
There are seven games that support FSR today. Those games are 22 Racing Series, Anno 1800, Evil Genius 2, Godfall, KingsHunt, Terminator: Resistance, and The Riftbreaker. Ubisoft's Anno 1800 has been around for a while, originally released in April of 2019. Some of the other titles are much newer and, like The Riftbreaker, are still in an early access stage. We'd love to see other game makers take Ubisoft's example and bring FSR to older titles, particularly those that stress the graphics card.
On top of that, there are 12 other games already confirmed for FSR, including huge high-profile titles like FarCry 6, Farming Simulator 22, Baldur's Gate 3, Dota 2, and Resident Evil Village. In total, around 40 developers have signed on to support FSR in their upcoming titles. Those studios include Capcom, Obsidian Entertainment, Ubisoft, and Valve. On top of that, Microsoft has already confirmed that FidelityFX Super Resolution will be coming to the Xbox Series S and Series X, too.
Let's check out some performance next...