Add support for AMD FidelityFX Super Resolution (FSR 2.0)

Not sure if this is even possible. As far as i understand it… MSFS is based on TAA- Temporal AntiAliasing(DLSS is based on that approach); FSR isn’t, in fact it is quite the opposite approach… could be difficult if that is a factor?!
In this early stage of development it’s hard to say if we are getting it, if the quality doesn’t get a hit, i would hope so… if it’s possible pretty sure that will take a while.
The built-in resolution scaling isn’t the solution for sure, imo settings below 100% are really hurting the picture quality, yet settings above 100 are improving the picture quality… but that isn’t the topic of this thread. :blue_heart:

1 Like

FSR is almost the polar opposite of a DLSS implementation like you say, however I don’t think that part is what would make it more difficult. MSFS technically has 4 AA options; FXAA, DLAA, TAA (render resolution at or over 100%) and TAA Upscaling (render resolution below 100%).

As far as I know, DLSS would replace or ‘take over’ a TAA Upscaling method, so you automatically inherit many of it’s temporal flaws (becoming blurry in motion, ghosting - though I believe DLSS 2.2 fixes many of those issues).
On the other hand, FSR renders the frame that the anti-alias process puts out (or skips over). It relies only the image it’s been given, so you could use any of the AA methods that are available.

The most difficult part of getting FSR to work well here is what we use TAA for currently. The sim relies on dithering, which TAA ‘blurs’ into a cleaner looking shadow, tree, reflection, cloud etc. Correct me if I’m wrong, but i believe DX12 would be able to do the same without needing TAA - which would be great news for FSR. Ideally, FSR would use a non-TAA solution to stop ghosting/artifacting from being amplified and keep images as clean and sharp as possible in motion.

While I have no knowledge on how the engine currently processes avionics, it seems they are rendered after the AA process; TAAU upscales everything around them, but the avionics themselves are still pixely. That’s one of the reasons why lowering render resolutions doesn’t really work. Since FSR comes after the AA process it might affect those, it might not. It depends on where in the process the avionics are rendered. It would be great if the avionics are rendered at the native resolution so they’re always as sharp as possible, and neither the AA or FSR has to touch them.

I’m keeping my fingers crossed for (very) good news with today’s Sim Update Q&A - starts at 17:30 UTC on the official Twitch stream. I know I’ll be there!

3 Likes

I don’t believe I have a solve for your question, but related to it, here is a topic about EFIS rendering in VR you might want to check out to see if you agree with:

[BUG/FEATURE] EFIS Screens Problems and Solutions for higher legibility - Virtual Reality (VR) / VR Wishlist - Microsoft Flight Simulator Forums

FSR does not come with an anti-aliasing solution of its own, so it just upscales an anti-aliased image provided by the game’s engine. In this case, it would upscale an image with TAA applied, which should help avoid some of the major artifacts caused by the current TAAU implementation.

The newest Xbox trailer shows reflections looking pixelated rather than grainy which could mean they’re not using dithering anymore, more in line with most other games using screen-space reflections no matter the DirectX version. But maybe this wasn’t possible with temporal reflections before.

1 Like

Oh, i am UTC +2, so lucky me it starts in an hour. Thank you for your thoughts! :blue_heart:

1 Like

Our question was answered! Sort of…: Twitch stream segment

At this point in time the dev team considers their TAAU implementation ‘good enough’ (agree to disagree on that one :wink: ) and didn’t give them the performance numbers they were looking for compared to the other optimization work they’ve done over the last few months. BUT they are still looking into it and might implement it in the future, so fingers crossed still!

1 Like

At least now we know they are not just implementing a simple TAA upscale but something more like a TAAU (effectively doing a true super-res by aggregating multiple frames at a subpixel precision).

Although they didn’t find FSR any better perf wise, I’m wondering about visuals because one thing for sure is that using TAA render scaling for up scaling the image in VR is working good only if you’re outputting an eye view which is larger than the VR panel, which means:

LOWER RES RENDER (game) → TAA → HIGHER RES VIEW → VR Compositor → Super Sampling → PANEL RES IMAGE

TAA(U) as it is implemented is also strongly blurring any EFIS drawing, and this where FSR and it edge preserving algorithm could be doing better than FS2020 TAA in VR, maybe?!

I’m not sure how they can be satisfied with the current TAAU implementation, even in the downscaled videos they previewed in today’s Q&A the shimmering in the trees was awful. 40% is a bit extreme even for 4K, but I bet a native 1536x864 image with standard TAA wouldn’t suffer that much.

Also the fact that they called FSR an upsampling technique shows that they haven’t really looked into it yet. They probably don’t know that it’s extremely easy and quick to implement either, which would make it a no-brainer.

The actual problem seems to be that none of the AA methods seem to be working on the glass displays, which is likely not a problem at native resolution anyway.

50% resolution scale, TAAU:

50% resolution scale, no AA:

If they could somehow have glass displays render at the resolution of the final output at all times it would be a massive improvement to usability.

3 Likes

So Grand Theft Auto 5 has unofficially gained FSR support a few hours ago by NarutoUA ( GitHub - NarutoUA/gta5_fsr at 1.0.1 ), I couldn’t resist to try it out! :grinning_face_with_smiling_eyes:

FSR’s source code hasn’t been published yet, so it was ‘taken’ from another -unspecified- game. No extra customizations or tweaking was done, just a straight plug-n-play method that was added without modifying the game itself. Keep that in mind.

Did the usual comparisons between the available settings, pictures down below.

All tests were run using the in-game resolution scaler, native resolution is 4k, 2x MSAA, all other settings on maximum. Excuse the change in time of day and weather.

Picture dump here

For perspective: following images are a 200% zoomed crop of this area:

4k Native - 44fps

4k x0.834 scale (1800p) with FSR - 56fps

4k x0.75 scale (1620p) with FSR - 60fps

5k x0.5 scale (1440p) with FSR - 63fps (Throwing this in the mix vs 4k x0.66)

4k x0.66 scale (1440p) with FSR - 67fps

4k x0.66 scale (1440p) WITHOUT FSR - 72fps

4k x0.5 scale (1080p) with FSR - 84fps

It’s doing a darned good job at what it’s supposed to do; retain edges, bring back clarity and of course increase framerates! There is of course a more noticeable drop in resolution at 0.66x and 0.5x scale, but I still much prefer using FSR over simple scaling. And there’s no ghosting from TAAU either :wink:

4 Likes

At this point I won’t be surprised if we eventually see an FSR mod on Flightsim.to.

1 Like

Wouldnt it be nice ? :slight_smile:

1 Like

Another bit of news, it looks like community adoption of FSR is really taking off!
I’m not too familiar in the world of VR personally, but someone managed to implement FSR in OpenVR. I believe MSFS runs on OpenXR so no luck just yet for getting it to the sim.

@CptLucky8 I believe it might be something up your alley to tinker with if you play any OpenVR games!

2 Likes

FSR is the revolution many of us have been hoping for. It’s near impossible to get a decent GPU at a reasonable price, so it is in Developers’ interests to make their games run better on lower spec GPUs. I hope FSR is added, as this will make the sim vastly more playable for so many people.

3 Likes

Really hoping we get FSR soon, if Asobo wants to they can add it in the 27th patch as well.
It took an amateur dev just a half day, 2 hours of code and some tinkering.

1 Like

It was explained already FSR will not be implemented because the current upscaling implemented works better. If you have 4k monitor try 4k with with 80% scaling. It does do upscaling already and FSR is not better. DLSS does better job though.

FSR is definitely better than what Asobo is using as upscaling.
The entire image gets blurry with Asobo it’s upscaling technique.

1 Like

Aaand yet another game joined the (community) list! I should probably stop posting every game that starts supporting it or it’ll be a veeery long thread soon.

It’s part of a whole suite of amazing effects and fixes for Assetto Corsa called ‘Custom Shaders Patch’. Currently part of early access builds on Patreon (by x4fab), can’t wait for it to go public. Addons have made this game look absolutely stunning since launch but it absolutely takes a toll on the hardware, and in comes FSR. It’s is still not officially published and spreading like wildfire already. Couldn’t wish for more!

The demo below looks like a prime example for FSR uses, likely because there’s a lot of straight-line geometry and too much speed to look for any finer texture details that may be lost.

Starting today, the source code of FSR is available for free at GPUOpen. Support is also getting added to four more games, as well as Unity and Unreal Engine 4.

2 Likes

Brilliant stuff, let’s hope that they at least experiment with it and see how it works.

1 Like

I would highly recommend checking out the free sample provided in the page I linked to if you have not tried out FSR yet. It seems to be somewhat buggy (camera got stuck in an instance and the sharpening slider seems to be inverted), but it comes with several options and two different scenes.

At 1080p, using Ultra Quality (77% rendering scale) with sharpening set to 1.000, the final output looks great compared to native rendering. An extremely minor loss in very fine detail, but the polygon edges look even smoother, and ~20% higher performance. The lower presets are not worth using at 1080p in my opinion, but personally with Ultra Quality I’m sold.

1 Like