Thanks for your continued time on this thread, this is very well apreciated!
Thank you for letting me know, I appreciate it very much. I will be working on downloading 5.0 Early-Access to obtain that implementation.
The implementation of TAA/TAAU between 5.0 Early-Access and 5.2 has barely moved. Targetting last gen consoles, we are very much tied on how much we can improve due to its current performance on these platforms. Onlychanges in TAA are mostly performance optimisation related to mobile renderer, and the specifics of mobile hardware like prefering pixel shader than compute shader for Delta Color Compression that can possibly be unsupported with RHI’s Unordered Access View.
This is why I find the Lumen in the Land of Nanite TAA implementation so shocking and why I wanted it. The screenshots don’t even show the insane amount of ghosting I get from TAA because of the screenshot delay. And this also happens in Valley of the Ancient with TAA.
TAA is very limiting in therms of what content you can author because of the fundamental limitation it has on its runtime performance. So the content has to be build with the constrains of TAA in mind from the ground up to avoid the issues otherwise this can be very high amount of cost of changing existing content.
The two major goals should have in mind when authoring content for TAA are: make sure static objects are not drawing velocity as much as possible with the VisualizeMotionBlur
and now the VisualizeTemporalUpscaler
show flags, minimal amount noise in the rendered scene color with vis SceneColor
command.
A nice read to have better understanding of how TAA function and therefor its limitation is the SIGGRAPH talk from original author: Advances in Real-Time Rendering in 3D Graphics and Games - SIGGRAPH 2014 (almost 9years old!)
If we can fix these issues in the already open content we have here like City Sample then we will have TSR improved. Unless I’m missing something?
There is other limitations that doesn’t necessarily show up on CitySample but that can show up in other content and this is what I’m really eager to hear from the community to make sure fixes and improvements are apropriately sorted and addressed!
Is there a way how I can some brute force the AA like in MRQ? Or is MRQ using TSR in a different way like in viewport/play mode?
Thanks for joining in @JanHxH_de ! I’ll share couples of caveats on the console variable you have below. But I want to first and foremost underline the most important caveat for “brute forcing” (or super-sampling to be exact like we do in MRQ): r.ScreenPercentage doesn’t apply to editor viewports!
Editor viewports’s screen percentage is instead instead configured in top left corner menu of the editor viewport. You can change the default for your projects in Edit > Project Settings > Editor > Performance.
Note that not everyone working on a project necessarily have the same GPU and might prefere different screen percentage settings in editor viewport, so you can also override the project settings in your editor preferences
More conveniently in //UE5/Main for 5.3, I changed the editor viewport screen percentage to be hopefully more intuitive to understand how it works:
Now more specifically about the rest of your cvars.
r.TemporalAACurrentFrameWeight 0.04
r.TemporalAASamples 64
r.TemporalAAPauseCorrect 0
r.TemporalAACatmullRom 1
These only apply to TAA (r.AntiAliasingMethod 2) and have no effects on TSR.
r.TSR.History.UpdateQuality 5
3 is the maximum.
r.TSR.History.ScreenPercentage 300
200 is the maximum . Beware there was a bug where some VFX looking fine at 100 could start to ghost at 200. This fix ( https://github.com/EpicGames/UnrealEngine/commit/9ccd56dfcc06852b5b89a81411972f81e3ac31e3 ) in 5.2 really hunted down all sort of issues could happen with >100.
r.TSR.RejectionAntiAliasingQuality 4
Beware this will be below set to 2, which is the maximum supported. I’ve not spent much time on the TSR’s built in spatial anti-aliaser since it’s for only one frame althrough there is certainely some improvements to have.
Also note that simply putting sg.AntiAliasingQuality 4
for cinematic quality by default maxes out many TSR cvars ( https://github.com/EpicGames/UnrealEngine/blob/ue5-main/Engine/Config/BaseScalability.ini#L87 )