Get ready to see frame generation everywhere as AMD finally releases FSR 3 tools and source code

By | December 16, 2023

Screenshot of Avatar: Frontiers of Pandora.

AMD announced that its FidelityFX Super Resolution 3 (FSR 3) development kit consisting of upscaling and framing tools has been added to GPUOpen and GitHub, almost nine months after releasing the technology. This means anyone can view the routines’ source code, experiment with them to see how they work, and implement the features into their games and applications.

Some developers have already had access to this by working directly with AMD to add FSR 3 to their games. However, the actual number of new releases supporting AMD’s system in 2023 is quite disappointing: only Forspoken, Immortals of Aveum, and Avatar: Frontiers of Pandora. This isn’t to say that FSR hasn’t been used in many games, quite the opposite, just that they’ve all used previous systems (e.g. FSR 2.2 making its way into Baldur’s Gate 3).

What makes FSR 3 a little special is that the entire package consists of four systems: an amplifier, an optical flow technique, a frame interpolator (aka frame rendering), and a routine for managing the swap chain. An upscaler is something most of us will already be familiar with: It uses a series of clever algorithms, all processed through shaders, to increase the resolution of a frame and then slightly edit the image.

Essentially, FSR has been like this from the very beginning, but now we’ve included framing. This was developed by AMD as an alternative to Nvidia’s DLSS 3 Frame Generation, a technique that uses a machine learning model to create a new frame based on two normally generated frames. This system is not only from Nvidia, but is also limited to GeForce RTX 40 series graphics cards.

Not only does FSR 3 run on any GPU that supports DirectX 12 and compute shaders v6.2, but its code is completely open source. If you have an unethical bent, you can literally do anything you want with it, including repackaging it and selling it as part of ‘your’ software.

Judging by my usual pursuits, AMD’s announcement has been well-received by the modding community, and there seems to be an expectation that lots of FSR 3 frame rendering mods will appear for games that don’t currently implement it (or perhaps it never will).

A diagram showing data flow paths in AMD's FSR 3 algorithmsA diagram showing data flow paths in AMD's FSR 3 algorithms

A diagram showing data flow paths in AMD’s FSR 3 algorithms

I have no doubt that this will definitely be the case, but I also suspect that many of these mods will either look really bad or have serious image quality issues.

This is due to the way the frame interpolation algorithm in FSR 3 works. The first thing required is that the booster in FSR 2 is present and in use, although a large number of games already have this feature. Next, the game needs to create extra buffers to share data between FSR 3’s various components. Without these, no frame rendering mode will work.

Where things get really tricky is how the game handles the user interface (UI or HUD) phase of the rendering process. The UI shows your health bar, what items you have, etc. It’s what shows, and it’s pretty much the last thing to be added to a frame before it’s marked for presentation on the monitor.

For FSR 3 frame interpolation to work properly, the UI must be done in one of three ways: As a separate function that is called when each frame is completed (real or rendered); rendered as a texture and finally applied to the frame; or the game engine creates the frames without the user interface and uses them for the interpolation step.

Diagram showing one method of user interface management when using AMD's FSR 3 algorithmDiagram showing one method of user interface management when using AMD's FSR 3 algorithm

Diagram showing one method of user interface management when using AMD’s FSR 3 algorithm

Most games use the second method to render the UI in a framework, but only because it is rendered with each real framework, content will never be updated or changed. created frames.

At high frame rates this can cause the user interface to appear glitchy or at least slightly laggy. Overriding how a game renders and manages its UI is no trivial task, and I suspect many FSR 3 frame rendering mods will have some image quality issues.

The first method would be the best method to use but I can’t honestly tell you how many games do it this way. The third method would be the worst method to use in terms of overall image quality, but I would guess that relatively few developers would consider making their games this way.

But modders are a creative bunch, and given the open source nature of FSR 3, we may be faced with some clever creative solutions that overcome all the problems.

Your next upgrade

Nvidia RTX 4070 and RTX 3080 Founders Edition graphics cardsNvidia RTX 4070 and RTX 3080 Founders Edition graphics cards

Nvidia RTX 4070 and RTX 3080 Founders Edition graphics cards

Best CPU for gaming: The best chips from Intel and AMD.
best gaming motherboard: Correct boards.
best graphics card: Your perfect pixel pusher is waiting for you.
Best SSD for gaming: Enter the game before others.

At the very least, there’s no reason why a developer shouldn’t implement upscaling and framing in their games anymore, provided they use DirectX 12. Vulkan support is still in development but there is no indication when it will be ready.

AMD’s frame rendering technology is very smart and it’s really nice that it’s so widely supported and deserves to be used in more than three, somewhat average games. We saw this suggestion on Reddit: maybe Call of Duty: Modern Warfare will be coming to 3 and will be the ideal platform to really kick-start the adoption of FSR 3 as a game series that has traditionally run very well on AMD’s GPUs.

Until then we’ll have to wait for the modders to step in, but don’t expect any miracles, okay?

Leave a Reply

Your email address will not be published. Required fields are marked *