When AMD launched the RX 7000 series in November last year, it also teased FidelityFX Super Resolution (or FSR) 3, the third iteration of the resolution upscaling technology. FSR is AMD’s answer to Nvidia’s Deep Learning Super Sampling (or DLSS), which is now in version 3 that uses frame interpolation for possible double frame multipliers. FSR 3 was also promised frame doubling and was supposed to introduce frame interpolation. AMD recently gave a preview of FSR 3 at GDC, confirming that it does indeed use frame interpolation, which means FSR has caught up to DLSS again but may also encounter the same issues.
Frame interpolation is the primary improvement to FSR 3
Contrary to some rumors, AMD didn’t fully release FSR 3 at GDC but did provide some technical details that help us understand how exactly AMD achieves the double frame rate. The arrows in the image above show the workflow when the GPU is not using (from top to bottom) an upgrader, is using FSR 2, and is using FSR 3. If you’re wondering how FSR 2 can increase frame rate, this shows you: Spend less GPU Render Resources To create a lower quality frame, the FSR 2 algorithm makes it look better. This results in poorer image quality but around 50% more frames per second.
FSR 3 is very similar to FSR 2 but there is an extra step of frame interpolation, which is the key to boosting the frame rate. The basic idea is that if you have two frames, you can easily insert an AI or software-generated frame in the middle, giving you a third frame that the GPU doesn’t even need to render itself. However, if you notice in the image, FSR 3 gets the first frame after FSR 2. Frame interpolation takes an extra step, not to mention the fact that you need the next frame for interpolation; You cannot create an additional frame if you only have one frame of reference.
The end result is that the latency is higher but the frame rate is also higher, although by definition a higher frame rate means lower response time. This is because the GPU is waiting for the second frame to interpolate, and in addition, your input only counts for the frames originally given by the GPU, because the frames generated by interpolation are purely visual. To be fair to AMD, this isn’t a flaw in the way they implement frame interpolation, and Nvidia’s DLSS 3 has the exact same problem (as we saw above), plus a few others.
Promote the same framework as DLSS 3, along with the same issues
Current testing of DLSS 3 in the few games it’s available in shows that it boosts the frame rate nearly four times over the original offering, but with similar latency. Even with AI-powered Tensor cores, it seems impossible to get around the fact that frame interpolation will always result in extra latency since you need to wait for the real frame rendered on the other side of the generated frame.
This is not the only problem with DLSS 3. DLSS 3 takes final frames to create additional frames, and final frames contain the UI elements and HUD as well as all the 3D rendered parts. It’s very difficult for DLSS 3 to properly copy these elements onto the generated frame, which results in garbled text and weird jigsaws that wouldn’t be present in a real frame. FSR 3 works in exactly the same way and AMD directly acknowledges that this is a challenge to FSR 3’s visual quality, just as it is with DLSS 3.
But perhaps the biggest and most challenging issue with FSR 3 and DLSS 3 is CPU throttling. It doesn’t matter how many frames the GPU puts in if the CPU can’t keep up, and even the fastest CPUs have their limits. Ultimately, the interpolation or frame generation technology for games suffers from latency issues and visual quality issues and may not even offer the theoretical double in frame rate if the CPU is overwhelmed. DLSS 3 has faced all of these challenges since launch, and it’s hard to imagine FSR 3 won’t either.
source: AMD