God of War’s AMD FSR 2.0 upscaling takes on Nvidia DLSS
ORIGINAL SOURCE LINK
AMD’s FidelityFX Super Resolution 2.0 is slowly gaining traction. Its initial release for Arkane’s Deathloop has since been joined by integration into Farming Simulator 2022 and more interestingly in Sony Santa Monica/Jetpack Interactive’s PC port of God of War – and a further 16 titles have just been announced. God of War in particular is worthy of some focus because some might argue that the game’s aesthetic is based heavily on very high frequency, intricate detail – a proper workout for ‘smart’ upscaling techniques. Not only that, but it already includes impressive Nvidia DLSS support alongside Santa Monica Studio’s internal temporal upscaler.
This is a piece where I’m going to have to refer you to the embedded video to get the complete picture on how FSR 2.0 compares to these alternative solutions. You see, all of the upscalers I looked at actually fare rather well when looking at static imagery. To get a flavour for how these technologies really work, it’s important to see them in motion. The secret to their success is that they are based on the concept of temporal accumulation – pixels from prior frames are injected into the current one. Therefore, the less motion there is, the more of a super-sampling effect you get. Conversely, the more variation there is between frames (eg fast movement), the less data there is to work with in reconstructing the image.
Most of the tests I carried out were at 4K resolution, which is the ideal canvas for these techniques – individually shading 8.3m pixels per frame is challenging, but ‘smart upscalers’ do a great job of rendering at a much lower resolution and then basically calculating the difference. Technologies like FSR 2.0 and DLSS 2.x – and potentially Intel’s upcoming XeSS – are noteworthy because of the sheer scalability. It’s possible to get a good looking image from a native frame of just a quarter of the pixels: meaning a 1080p internal image looking quite 4K-like.
Typically, the lower your output resolution (eg 1440p or 1080p), the higher your base native pixel-count should be – and by extension, the less gains you get from your upscaler. This applies to DLSS for sure, but it seems to be amplified in FSR 2.0. 4K, ultra HD or 2160p, that’s where these techniques work best.
So how do you judge image quality from these new techniques? After years looking at DLSS and other scalers, we’ve put together a ten-point plan that you’ll see play out in the video above. Essentially, we have ten test cases that challenge any temporal upscaling solutions that gradually ramp up the difficulty facing each algorithm. These techniques all work well with static imagery and also hold up fairly well with camera movement.
However, once we start factoring in elements such as particle effects, water rendering, animation and the upscaling of sub-pixel detail, that’s where you can really see just how effective these techniques are. In the video, I also talk a lot about ‘disocclusion’ – what I mean by this is the introduction into the image of visual data previously obscured by other objects. Without temporal information to work from, this is highly difficult to resolve – and with God of War’s Kratos, his every movement can reveal previously obscured imagery.
It takes about 20 minute of video to work through all of these tests, but the takeaways are self-evident. FSR 2.0 works well overall, but further iteration is required to match the overall fidelity of the DLSS feature set. The main challenge facing AMD is in addressing disocclusion issues – quickly revealing previously hidden imagery causes a noticeable fizzling effect that DLSS doesn’t suffer from. Transparent elements, especially water, also see a smearing of detail that isn’t quite right. Sub-pixel detail from foliage and hair also has trouble achieving an effective resolve.
Ultimately, FSR 2.0 – perhaps predictably – acts as it does in Deathloop, the first game to receive support for AMD’s new scaler. The difference is that the more detail-rich approach to the visuals amplifies its issues, which are amplified still further when upscaling to lower output resolutions such as 1440p and especially 1080p, where the image looks particularly fuzzy in motion, Even so, I think FSR 2.0 offers a viable alternative to the in-game scaler, even in those moments where it offers less attractive results, as it tends to resolve more detail.
Summing up the entirety of this testing, FSR 2.0 works well for its intended purpose but we should expect to see improved iterations of the technique, just as we have with DLSS. Even so, this is still a promising beginning in that as a second generation upscaler, reconstructing from a quarter of the output resolution, it does a pretty good job – definitely better than Santa Monica’s own temporal upscaler. FSR 2.0 is much heavier on the GPU to the point where testing on an RX 6800 XT revealed that FSR 2.0 rendering internally at 1440p is about as fast as Santa Monica Studio’s scaler working with a 1620p base resolution. That may sound quite alarming, however, the end result is that at equalised performance levels, the extra pixels make little difference – by and large, FSR 2.0 looks better with improved reconstruction and a more stable image. The only downside is that FSR 2.0 exhibits more ghosting issues than the internal alternative.
FSR 2.0 vs DLSS? Similar to my conclusions with FSR 2.0’s debut in Deathloop, if you’re using an RTX card, Nvidia’s technique is still the way to go: it runs a touch faster than FSR 2.0 and addresses many of the issues AMD has still to address, providing an image that’s generally of a higher quality level – and can even give native resolution rendering a run for its money in some scenarios. However, for non-RTX cards (remember, there’s still many GTX GPUs out there) and for AMD cards, FSR 2.0 works well and can only get better.