If just applying traditional Lanczos was enough, similar actions would have been in games for many years.
We tested it too Ultra-precision FidelityFX The source code for the action became public in the middle of the previous month, around Also inform us. There is no particular development regarding the AMD solution, but Alexandre Battaglia, journalist at Digital Foundry On Twitter you claimNVIDIA drivers can request scaling based on the Lanczos algorithm, and because FidelityFX Super Resolution is based on the Lanczos algorithm, NVIDIA users can access this technology in any game.
The problem with the above statement is that it has a lot of truth in it, but it has been grabbed by so much media that although the source code was available it was easy to look at what’s going on inside the AMD process. Moreover, the company held several presentations to developers after the release of FidelityFX Super Resolution, where they explained in detail how much difference there is compared to the Lanczos algorithm, but let’s not rush it.
Let’s start with the fact that today’s graphics drivers already have the option to scale the GPU. This has long been supported by more modern AMD and NVIDIA hardware, and is essentially a proprietary component of display engines in which the participating companies implemented the Lanczos algorithm in the form of a constant function. The purpose is that if the screen does not have a built-in scaler, the GPU can resolve the scale instead, so that the image can be displayed under the original resolution on the entire screen without significant distortion. A simple solution, so a simple solution is offered by manufacturers, although nowadays it is very rare for a monitor that does not include a factory scaler, it rarely happens, and the scaling blocks implemented in GPU display drives can be considered a negligible cost with today’s transistor numbers. Of course, there are still a lot of limitations, so even companies that develop GPUs think it’s best to use a scaling tool for that particular monitor because it’s specifically designed to be a display. But for lack of a better way, there is an escape route in GPUs, slow for years in all of them, not just NVIDIA solutions.
Of course, the question might be, if your AMD GPUs have such a scaler, why not use it in FidelityFX Super Resolution? Well, this device doesn’t reflect nearly the same problem that FidelityFX Super Resolution was designed to solve. Of course, GPD scaling can also be done in AMD from Radeon Software, where you can order Radeon Image Sharpening, just as NVIDIA has GPU scaling in the drive with another arming procedure. Although it provides better quality through increased clarity rather than just displaying an image with a lower resolution than the original image, it cannot reproduce nearly the quality that FidelityFX Super Resolution offers.
This is because FidelityFX Super Resolution isn’t just a simple Lanczos upgrade tool, it’s much more complex than that. On the other hand, the Lanczos algorithm is a reality with fixed-function devices, but not so much with arithmetic shaders, because it requires a relatively large number of special operations (sine function, reciprocal, square root). In these processes, GPUs are generally very slow because they do not run on the main ALUs, but on a small number of special ALUs. It is no coincidence that FidelityFX Super Resolution has replaced the equation used by the Lanczos approximation algorithm with an equation that uses only basic operations. This will reduce the accuracy somewhat, but the performance of the original algorithm will increase several times, and this should be understood as a good 20-30 times percussion advantage. This was specifically required because the Lanczos scaling algorithm would run fairly slowly on existing GPUs without this modification if implemented in an algorithmic shader. On many devices, real-time processing will not be available, without which scaling would be meaningless. As for a video, it can still be assumed that there is a more serious delay in the calculation, but in an interactive game, it simply does not fit, and will not give a good experience at all.
So FidelityFX Super Resolution speeds up the performance of the Lanczos algorithm by several orders of magnitude, and another important factor is the image quality. Although Lanczos is an excellent general scaling algorithm, it has its buzz. Among other things, it generates the so-called image resonance defects in its operation, which can be perceived as a smooth ghost image along the edges of the image. For this reason, the EASU (Edge-Adaptive Spatial Upsampling) algorithm is not only a quick upgrade, but also an edge reconstruction solution. This is why FidelityFX Super Resolution has no image error at all, unlike the traditional Lanczos algorithm. Here’s the answer to why AMD doesn’t use the GPU’s built-in scaling block; You cannot determine the image quality produced by FidelityFX Super Resolution because it does not do an almost exact job. But there’s nothing wrong with that per se, as that’s not the purpose of the target hardware included with the GPU.
After scaling with the EASU algorithm, FidelityFX Super Resolution performs arming using the RCAS (Strong Contrast Sharpening) algorithm. This is not the same as FidelityFX CAS (Adaptive Contrast Sharpening) or RIS (Radeon Image Sharpening). Here too, quality matters, because ordinary sharpening solutions, even while driving, are designed to arm the original precision, and it can be said that they achieve good results by investing relatively little energy, even without sharpening to start, so to speak, oil is like painting, make the final image . Of course, it works with less accuracy than the original solutions, but the nature of the problem is somewhat different, for which AMD designed an alternative armament procedure. Although it requires a lot more power than the original CAS algorithm, it does a much better job with upgraded content. However, a more powerful sharpening solution may not favor this HUD used in games, or even some post-processing effects. There is no particular problem with this because FidelityFX Super Resolution must be integrated into the processing vector after setting the tone, and it is recommended to add photo effects and elements to the image later which does not guarantee that the process works well.
In general, you can require arming within drives, and GPU scaling, but not a solution like FidelityFX Super Resolution. Unfortunately, this has to be integrated into games to work really well, and there is no alternative. If so, AMD and NVIDIA would have made something similar in their device drivers a long time ago. However, in addition to the current image mapping, the problem itself is not solvable by externally forced actions.