FXAA (or none) is showing surprisingly better results than the TAA

A weird problem that i’m trying to figure out. What might be causing FXAA (or no AA) looking much better than the TAA?

FXAA: f4f98b9714cf616e29180f8e6f4002cbc6a9f4d5.jpeg

TAA: 249ffc54d198d82127cac9846a81c810c26a2b12.jpeg

TXAA tends to be a bit blurry and looks it’s best in motion. In certain scenes, it does an amazing job at reducing artifacts FXAA or other types of AA wouldn’t address. I do find that in motion TXAA does a great job with foliage.

Foliage, moving grass in particular, is exactly the case where TAA is inferior to other options.

It seems that TAA has become a bit worse the last one or two engine version.
Discovered that myself.
Switching to FXAA indeed helps.

See here : https://forums.unrealengine.com/showthread.php?124959-Temporal-AA-artefacts

Thanks for the input everyone!

Unfortunately that didn’t helped. But thanks for telling me about that pretty interesting option!

@Ashh111

I’d also like to bring your attention to the smaa integration that have a 4.13 patch available as well. I haven’t tested it tho, but a different aliasing algorithm could be a better solution to your case. Anyways it is worth to check it out if you are really looking forward some alternatives.

I wasn’t aware that there is a 4.13 version available, I should check that, thanks!

So i’ve been thinking about this statement and i found it actually is possible to gain some quality back by tuning the TAA. But! The current temporal AA implementation is very stable, sampling 8 matrix positions to simulate a very high detailed msaa. The “shaking” which is required to sample all these points is just unbearably noticable thus proper history blending (and motion estimation) had to be applied to hide that, otherwise all you will see is kind of a noisy and trembling image result. While the current alias’ settings are tuned for stability, a more responsive (thus sharper) result can be squeezed out, and a little extension to the way the history buffer is handled is also beneficial to the end results (if youre willing to give up some pixel stability in favor of sharper results).

Here, first i added a mild 4 sample sharpening (optionally replaces the bicubic filter), shortened the blending factor and gave less matrix points for the simulation, this can help to produce a better quality result. Also added a postprocess effect (before aliasing) that extracts some edges then applies a small amount of (5x5 approx.) median filter onto them, and optionally a 3x3 kernel sharpen to the middle (between the edges). In my opinion this touch helps a little to reduce the smearing, and reveals the original content, while the temporal stability is still remains on good levels.

Anyways, here is a quick comparison of the original and the modified taa, including SMAA-T2x as well:
https://dl.dropboxusercontent.com/u/4943998/aatest/aa_testroll.png

And the images separated:
https://dl.dropboxusercontent.com/u/4943998/aatest/aa_test_fullres.zip

All the screens are in PNG format for the proper quality, and taken these 1:1 screenshots from my desktop screen (using greenshot), not in PIE but from the editor screen (thus no screen percentage had been applied).

Maybe an SMAA1x prepass would be a nice touch to the TAA (possible stability), however it’s in the very nature of temporal aliasing to produce some level of strange smearing artifacts for the moving objects.

1 Like