AMD has announced its FidelityFX Super Resolution 3 (FSR 3) development kit of upscaling and frame generation tools has been added to GPUOpen and GitHub, almost nine months after launching the technology. This means anyone can view the source code for the routines, experiment with it to see how it works 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 in 2023, sporting AMD’s system, has been very disappointing: just Forspoken, Immortals of Aveum, and Avatar: Frontiers of Pandora. This isn’t to say FSR hasn’t been used in many games, quite the opposite, it’s just that they’ve all used the previous systems (e.g. FSR 2.2 going into Baldur’s Gate 3).
What makes FSR 3 a little special is the whole package comprises four systems: an upscaler, an optical flow technique, a frame interpolator (aka frame generation), and a routine to manage the swapchain. The upscaler is something that many of us will already be familiar with: It uses a host of clever algorithms, all processed via shaders, to increase the resolution of a frame and then tidy up the image a bit.
That’s essentially what FSR has been since the very beginning, but now we have frame generation thrown in for good measure. 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 rendered frames. This system is not only proprietary to Nvidia but it’s also limited to its GeForce RTX 40-series graphics cards.
FSR 3 not only works on any GPU that supports DirectX 12 and compute shaders v6.2, but the code for it is fully open source. You can literally do whatever you like with it, including repackaging it and selling it as a piece of your ‘own’ software, if you’re so immorally inclined.
Browsing through my usual haunts, AMD’s announcement has been well received by the modding community and there seems to be an expectation that we’re going to see a lot of FSR 3 frame generation mods appearing for games that don’t currently implement it (or perhaps never will).
I have no doubt that this will certainly be the case, but I also suspect that an awful lot of these mods will either look really bad or have serious image quality problems.
This is because of how the frame interpolation algorithm works in FSR 3. The first thing it requires is the upscaler from FSR 2 to be present and in use, though a huge number of games have it anyway. Next, the game needs to create extra buffers, to share data between the various components of FSR 3. Without these, no frame generation mod is going to work.
Where things get properly tricky is how the game manages the user interface (UI or HUD) stage in the rendering process. The user interface is the thing that shows your health bar, what items you have, and so on, and this is pretty much the very last thing to be added to a frame before it gets flagged for presenting on the monitor.
For FSR 3 frame interpolation to work properly, the UI needs to be done in one of three ways: As a separate function that gets called every time a frame is completed (real or generated); gets rendered as a texture, and then applied to the frame at the end; or the game engine renders frames without the UI and uses these for the interpolation step.
Many games use the second method for generating the UI in a frame but since it only gets created with each real frame, the contents will never be updated or modified for the generated frames.
At high frame rates, this could result in the UI looking glitchy or at the very least, a tad laggy. Overriding how a game creates and manages the UI isn’t a trivial task and I suspect a lot of FSR 3 frame generation mods will have a number of image quality issues.
The first method would be the best one to use but as to how many games do it this way, I honestly couldn’t say. The third method would be the worse one to use, regarding overall image quality, but I should imagine relatively few developers would consider making their games this way.
Modders are an inventive lot, though, and given the open-source nature of FSR 3, we might be treated to some brilliantly creative solutions that bypass all the problems.
At the very least, there’s no reason for a developer to not implement upscaling and frame generation in their game now, provided it uses DirectX 12. Support for Vulkan is still in development but there’s no indication as to when it’ll be ready.
AMD’s frame generation technology is very clever and the fact that it’s so widely supported is really nice, and it deserves to be used in more than three, somewhat average, games. We spotted a suggestion on Reddit that it might be coming to Call of Duty: Modern Warfare 3 and as a game series that traditionally runs very well on AMD’s GPUs, it would be the ideal platform to really kick off the uptake of FSR 3.
Until then, we’ll just have to wait for modders to step in, but just don’t expect any miracles, okay?