AMD reveals details of FSR 2.0, its temporal DLSS 2.0 competitor

AMD's response to DLSS 2.0?

AMD unveiled the upcoming second version of FidelityFX Super Resolution game upscaling – FSR 2.0 with temporal reconstruction and anti-aliasing to compete with Nvidia’s DLSS 2.x. Meanwhile, the company revealed more details about the technology: what graphics it works on, what modes and resolutions it will have, and the first details of the algorithm. For example, it’s supposed to preserve thin lines like wires in the sky.

FSR 2.0 scaling modes

FSR 2.0 will have four quality settings, or at least initially (we can’t rule out that more will be added at some point in the future). These settings represent scaling factors, i.e. how much higher the output resolution you are scaling to is than the actual graphics rendering resolution, and you can see them in the chart below from AMD. This factor is given per one dimension of the image, i.e., for example, 2× means that a single pixel will end up being a 2×2 pixel block. So it’s not an indication of how many times the number of pixels is increased (that’s labelled as “area scale” in the chart).

The highest preset is called Quality and will mean that both axes of the image are scaled by 1.5×. If you have a 1920×1080 resolution on your monitor, only 1280×720 is actually rendered, for 4K the internal rendering resolution is 1440p, and so on. This is not that big a scaling factor, so the results could be quite decent especially for 4K. Preset Balanced in turn scales by a factor of 1.7×, so it produces 1920×1080 resolution from only 1129×635 pixels.

AMD FSR 2.0 modes (Source: AMD)

Preset Performance, however, has a 2x scaling factor, which means it upscales to 4K from just 1920×1080 pixels, and FullHD from 940×540 pixels. Preset Ultra Performance has an even harsher 3× scaling factor, upscaling to 4K from just 1280×720 pixels, and if you were to use it in FullHD, you’d be working with a source image of just 640×360 pixels. However, these factors are the same as Nvidia uses for DLSS 2.0 Performance and Ultra Performance, so the same applies over there.

Generally these higher factors will be more bearable at high resolutions like 4K, 5K, 8K where the internal rendering resolution will still be quite high. For example, Nvidia has presented Ultra Performance mode as a solution for gaming on 8K screens (where the source is a 1440p image). If they are applied at FullHD, you’ll already be pushing the upscaling capability a bit too much. With AMD’s technology this will probably be similar, and the quality may even be slightly worse. AMD states that Ultra Performance mode is optional and it’s up to the discretion of the game developers to provide it in the settings. Therefore, many titles could probably only offer FSR 2.0 Quality, Balanced and Performance settings.

In addition to the profile settings, the strength of the artificial sharpening that the FSR 2.0 performs can also be optionally adjusted. In some games, this setting may not be available, but AMD reportedly recommends to developers that there be a slider in the settings to adjust this artificial  boost to taste.

AMD otherwise states that the algorithm should also support dynamic resolution change (i.e., scaling factor) from the start, where the quality could be reduced when a challenging scene would otherwise lead to a too large a framerate drop. But again, it will probably be up to the game developers whether they want to use this.

Pure AA mode?

AMD also states that it has a version of FSR 2.0 that would not perform any upscaling in development. It would actually just be an implementation of TAA-type anti-aliasing with temporal detail reconstruction (or enhancement) and temporal edge stabilization. It would be a bit like DLAA from Nvidia, but without the neural network.

Officially supported GPUs: both Polaris and Pascal as well

Since the implementation of FSR 2.0 will be integrated within the game itself and not in the AMD drivers, this feature should run on a wide range of GPUs without any artificial limitations. AMD lists GPUs that are “recommended” for FSR 2.0 use, but apparently this is not a hard requirement.

According to AMD’s recommendation, FSR 2.0 could enable 4K gaming on cards like the Radeon RX 6700 XT or Radeon RX 5700, or Nvidia’s GeForce RTX 3070, RTX 2070 – and higher.

Recommended hardware for FSR 2.0 (Source: AMD)

Perhaps more interesting is the information about the recommended “minimums” for 1920×1080 resolution. Therein, AMD lists Radeon RX 6500 XT as a baseline GPU for FSR 2.0 out of the current generation cards, but a Radeon RX 590 an upwards is also suitable. For Nvidia, the baseline is GeForce GTX 16xx or a GeForce RTX 1070. This should mean that FSR 2.0 will have no problem running on at least AMD’s Polaris generation graphics and Nvidia’s Turing and Pascal architecture cards.

Maybe also consoles, games

According to AMD, FSR 2.0 will also be available on consoles. At least on Xbox Series X and Series S, where this has been officially announced by AMD. PlayStation 5 hasn’t been mentioned yet, but the GPU architecture is very similar, so it’s probably just a matter of whether it will be enabled on the software level or not. As on PC, though, it will depend on the game developers – FSR 2.0 will only be available for use in their games if they integrate support into their titles.

This “assistance” from the game is non-negotiable with FSR 2.0, it is not possible to force the upscaling without game’s cooperation like FSR 1.0 does with some limitations (this feature has now been added to the drivers under the designation RSR or Radeon Super Resolution).

According to AMD, the time required for developers to implement will sometimes be relatively small, sometimes larger. Supposedly the path to add FSR 2.0 is easiest for to games that already have a competing DLSS 2.x counterpart. In this case, support for motion vector reporting and for rendering at lower than output resolution is already present and can probably be reused for FSR 2.0. In some of these cases,  programmers might need only as little as three days according to AMD. It’s also supposed to be relatively easy to add support if the game is based on Unreal Engine 4 or 5 and and the FSR 2.0 plugin, which AMD is apparently expected to provide, is integrated (it’s supposed to be available from UE4.26/4.27).

The complexity of implementing FSR 2.0 into a game (Source: AMD)

If the game doesn’t have these aces up its sleeve, FSR 2.0 is more difficult to implement, but it helps if the code already supports rendering at lower than output resolution (e.g. from FSR 1.0) and also if TAA anti-aliasing is implemented. However, if neither of these apply, FSR 2.0 can take up to four weeks or longer to implement.

The list of games where FSR 2.0 is confirmed is still short. We know about the game Deathloop, on which the feature was first demonstrated. The second game should be Forspoken. That is the game Microsoft demonstrated the DirectStorage technology on, by the way.

FSR 2.0, like FSR 1.0, will be available under an open source license (MIT) at GPUOpen.org. There will be a published API with documentation, C++ and HLSL custom library source code, a plugin for Unreal Engine 4.26/4.27, as well as example implementations under DirectX 12, Vulkan and also for Xbox (but this will be for registered developers only).

Quality

How it all performs has yet to be seen in any publicly released game. But there is a comparison on GPUOpen.org and you can download high quality screenshots for inspection.

The details of FSR 2.0’s workings have also already been shared. FSR 2.0 will be invoked in the game pipeline a bit earlier than FSR 1.0. Some of the post-processing will have to be done after it (namely those effects that require anti-aliasing to take place before them). Conversely, FSR 2.0 can take place after the effects relying on Z-buffer have been processed. Upscaling would break such.

Location of FSR 2.0 in the pipeline (Source: AMD)

According to AMD, FSR 2.0 is an extension of the TAA principle, it performs a “reprojection” of previous frames using motion vectors (i.e. it generates a “reconstruction” or prediction of the current frame from the neighbouring frames). This allows the images to then be combined to enhance detail. It should work by using jitter in the rendering, where pixels are always sampled with some varying offset, so that gradually one sample in successive frames actually provides more detailed information than if its position was just static. What TAA and now FSR 2.0 does is that it then puts that information scattered across successive frames together within one frame.

Image scaling, which is done in a purely spatial mode, should again use Lanczos or Lances-analogue algorithm, with added anti-ringing. This part of the whole chain should therefore be similar to FSR 1.0. However, it seems that during in this scaling/resampling algorithm, there is now an ability to optionally performs some sharpening. However, in addition to this, FSR 2.0 also uses the separate RCAS sharpening algorithm from FSR 1.0 at the end of the chain (as postprocessing).

It is mentioned that the algorithm generates a “disocclusion mask” that detects moving and static objects. This is to be used to prevent “ghosting”, which is an artifact where the outlines of objects from previous frames are (incorrectly) visible in the image.

Thin Features Locking

An interesting detail is that the algorithm supposedly specifically tries to detect and preserve details such as thin lines and edges. So for example, electric wires visible against the sky, which is where FSR 1.0 sometimes had problems, so this was a part of the image where you used to see a significant difference to DLSS 2.0. However, the reason could perhaps also be that they often suffer from effects of TAA. If this feature works well, it could be a big qualitative improvement for such objects.

FSR 2.0 should also hopefully have some safeguards to prevent (erroneous) temporal reconstruction from causing unnatural color changes in objects.A very detailed (technical) presentation of the whole algorithm, which AMD had at GDC 2022, can be seen on YouTube. It discusses the algorithm and the various performance optimizations AMD has made in it.

How much horsepower does the FSR 2.0 need?

The performance of FSR 2.0 should be slightly lower than FSR 1.0 at the same input resolution, because it does more work and runs on shaders that could be utilised for the general rendering of the game otherwise (but on the other hand, it already includes anti-aliasing of edges, which mitigates the cost a bit). But the performance requirements are probably still relatively manageable.

According to AMD’s presentation, FSR 2.0 consumes less than 1.1ms of GPU time for upscaling and temporal reconstruction from 1440p to 4K resolution (in Quality mode) on a high-end GPU (Radeon RX 6800 XT). For reference, at 120 frames per second, a single frame takes 8.33 milliseconds. In Ultra Performance mode (i.e. upscaling from 720p to 4K), the cost is less than 1.0 ms. (Note: these figures are without additional RCAS sharpening, which would add some extra computational time.)

FSR 2.0 compute intensity in Quality mode (Source: AMD)

AMD also provides data for cheaper cards – Radeon RX 6700 XT and RX 5700 XT in the chart below. If the target resolution is 1920×1080, then the calculation in Quality mode takes less than 0.6ms per frame on the RX 5700 XT and less than 0.5ms on Ultra Quality.

FSR 2.0 compute intensity in Performance mode (Source: AMD)

If rendering at a lower resolution saves more time on each frame than these values, then the resulting frame rate will be higher (that is, if your CPU can keep up).

Sources: AMD, The Verge

English translation and edit by Jozef Dudáš, original text by Jan Olšan, editor for Cnews.cz


  •  
  •  
  •  
Flattr this!

PC Cooling Guide: Heating Up Ryzen 9 7950 X in Cinebench

Today, we’ll focus on what happens inside a case when a CPU is under heavy load. We’ll run a Cinebench 2024 rendering on a Ryzen R9 7950X cooled by a Noctua NH-D15 G2 air cooler and see how it affects the temperatures and how all the values change with different settings of the system fans’ performance across their entire operating speed range. Read more “PC Cooling Guide: Heating Up Ryzen 9 7950 X in Cinebench” »

  •  
  •  
  •  

AMD CPUs with Zen 6 architecture will still use the AM5 socket

The AMD AM4 platform has a reputation for longevity. For most, it goes back to 2017 an the first Ryzen, but it’s even been used with Excavator APUs in 2016. It supports CPUs and APUs all the way up to the 2020/2021 Ryzen 5000, meaning that three Zen architecture generations of Zen can be used, which has keept older motherboards relevant way longer than is usual. It looks like AM5 platform owners will be similarly lucky. Read more “AMD CPUs with Zen 6 architecture will still use the AM5 socket” »

  •  
  •  
  •  

AMD plans Threadrippers with 3D V-Cache, X3D APUs coming too

AMD has launched the Ryzen 7 9800X3D with second-generation 3D V-Cache technology with a large cache in an extra chipset, which makes it a good (currently the best) CPU for gaming. But this technology is now likely to be deployed more widely. It’s apparently coming to high-performance Threadripper processors for the first time, and could even appear in APUs, i.e. mobile processors for laptops, perhaps as Infinity Cache for their GPUs. Read more “AMD plans Threadrippers with 3D V-Cache, X3D APUs coming too” »

  •  
  •  
  •  

Leave a Reply

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