During the second quarter of 2022, AMD will roll out its FidelityFX Super Resolution 2.0, which is an evolution of the existing one and not a radical change. We are therefore once again faced with a solution to be able to play at higher resolutions without sacrificing images and without the need for specific hardware units as is the case with the NVIDIA solution. Also, this algorithm works on any GPU and not just those with the red mark.
However, AMD FSR 2.0 adds a number of interesting elements that push the algorithm further and make it a much more powerful alternative to NVIDIA’s all-powerful DLSS 2.0, which is closely tied to Jensen Huang’s company and is about a fully proprietary technology. The bet of those of Lisa Su, on the other hand, is that of open source and, therefore, not that everyone can use it, but to add modifications to the algorithm that go beyond what they offered.
What is AMD FSR 2.o?
Like its predecessor, it is a super resolution algorithm, which consists of taking a finished image and generating it, but with a higher number of pixels. It must be taken into account that when doing this, the number of points on the screen without color information increases and that is why it is necessary to use algorithms capable of filling these spaces. FSR 2.0 is one of them, but oriented towards video games, so at the end of each frame, the graphics card that applies it performs a series of processes that allow it to guess the information that is missing from the image.
However, it is those based on deep learning algorithms, a discipline of artificial intelligence, that have become popular in the market, in the case of NVIDIA DLSS, which uses so-called convolutional networks. We are not going to detail what they are, but the fact that they require units capable of performing mathematical operations with matrices very quickly, for which the RTX Tensor Cores are used. Instead, AMD with FSR 2.0 opted for a solution more in line with the internal makeup of their graphics hardware, as they lack these units.
So in the previous version, the Radeon creators opted to use the Lanczos algorithm as part of the process of generating better resolution versions of already rendered images. The problem is that despite achieving a higher frame rate, image quality was sacrificed in the process. Which led them to create a more advanced version.
Timing Is Key to AMD FSR 2.0
We must first define what we mean by temporality. In AMD FSR 1.0 we had the problem that all the information used to generate the higher resolution image comes exclusively from the image that was just generated, which is not enough to generate an image as similar as possible to the original image. The GPU will render the output image natively.
But where can we get the information? Well, from the frame buffers of the previous frame which are still in the video memory used by the graphics card. Specifically, AMD has defined three of them very loosely, so we’ll define them for you so that you have a much better understanding of how it works.
motion vectors
Specifically, FSR 2.0 is based on motion vectors to get the new information that allows the algorithm to be more visually accurate, as it lets us know the position of each object relative to the previous frame.
The term can be complex, but it is very easily explained with the following steps:
- Each object on the screen is given an ID or variable mode identification.
- One of the frame buffers generated in each frame does not store color, depth, albedo values and other graphical information, otherwise the identification has each element on the screen.
- The position of each ID in the current and previous frame is compared. The goal is to generate the derivative of distance with respect to time, i.e. the velocity or motion vector. Those that don’t have an ID stamp in both frames aren’t counted, because they’ve either been scrolled out of view or just rendered.
- With this information, the graphics card or the GPU can predict the exact position of the object in the two images, in order to be able to retrieve the visual information to perform the reconstruction.
However, there is a catch to this, which is that during the process of generating each frame and in the middle of the 3D pipeline, these motion vectors are automatically generated. Because they are common to many post-processing algorithms, many games nowadays have no problem adapting to FSR 2.0, but it is rather an extra task for many others. In other words, they require deeper code changes.
Depth and color data
The other two image-related buffers that FSR 2.0 derives information from are the color buffer and the depth buffer. We don’t need to talk about the first because it sets the color value of each pixel, but it’s important because that value doesn’t change from frame to frame.
The other is the depth buffer, which tells us the distance on that axis of the object from the camera. Normally it is used to tell if a pixel has a drawing preference over another. In this case, it is used to triangulate the motion vectors relative to the camera and for the algorithm to more accurately generate the corrected frame relative to the camera.
Quality mode and higher technical requirements for AMD FSR 2.0
The additional temporality-related data that AMD FSR 2.0 adds compared to its previous version means having to work with a much larger data set. This means that despite the fact that the visual quality obtained is much higher, we are going to need more powerful graphics. Let’s not forget that these algorithms take milliseconds for the scene to work. In exchange for generating an image in less time than rendering it from scratch at the output resolution.
At the moment AMD has only introduced Quality mode and in a single game in Deathloop, which makes us think that the rest of the modes will continue to work as in FSR 1.0 and most of them will not use motion vectors. In other words, the problem is that a good number of titles will be compatible with FSR, but very few will be compatible with the second version of the algorithm, which will be linked to the quality mode.
Finally, game requirements will make the list of compatible games much smaller than with the current Super Resolution FidelityFX and as with NVIDIA DLSS, from AMD we will announce new games compatible with Super Resolution FidelityFX 2.0 with each new update of its drivers.
Table of Contents