Temporal AA is wrong and cannot be disabled

During real-time editing and simulation mode my particle system looks how I want it. I use FXAA on “Quick Setting->Engine Scalability Settings->Anti-Aliasing->Epic”.

However when I go to play mode, the bloom effect is far less strong or goes completely away and is in the wrong color (maybe the color of a pixel next to the high-value pixel).

I notice that when I set “Quick Setting->Engine Scalability Settings->Anti-Aliasing->Medium”. the scene renders again how I want it.

When I enable “Show->Advanced->Temporal AA (instead of FXAA)” and use high or epic AA, then the scene also renders differently then how I want it in real-time or simulation mode.

See my attached screenshots.



It seems as if Unreal Engine always uses Temporal AA when going in play mode, regardless wether the setting is activated. Can this be changed?

See also an earlier problem I had with AA:

If you have a PostProcessVolume in place, that will likely be the reason it is changing in game, in the details panel for the PP volume go to the bottom, under Misc expand the drop-down, and you should see an option for AA Method (see attached image). Try switching it to FXAA as well as the others and see if that helps. Temporal AA smooths out semi-translucent FX too much it seems, actually culling small individual sparks etc, so try using FXAA or none. Hope that helps! :slight_smile:

Have you tried turning on “Responsive AA” within your material properties? As far as I know it’s exactly for these kinds of things, but you would have to test it, since I am not 100% sure if that’s correct.

Hello DotCam, You were right: I had a PostProcessVolume and indeed Hidden in the options, was this AA method. Setting it to FXAA solved it.

@Dakraid: I also trie Responsive AA, but it had no effect.

This is possibly because TAA smooths over multiple frames, if you have super-fast moving particles that are very transparent or small they’ll get ghosted out by the AA, FXAA isn’t as high-quality and works on the one frame but it’s cheap and quick.

The other method would be super sampling or MSAA but that’s super expensive :smiley:

Ahh, that’s why it is called “Temporal AA”. Looking at the showcase from Unreal Engine:

The scenes look notably different. The scene without AA, looks significantly more “wet”. I think indeed that the sparking of light on the water gets lost with TempAA, making it look far more artificial and plastic. I understand why temporal AA is useful in cases where you have a static camera and it seems as if one texture has a noise signal on it.

In my case I indeed have very fast moving particles originating from the source and they get slowed down very fast due to drag. Indeed the particles at the end of the trail look more similar to the FXAA rendering than the particles at the beginning of the trail.

The non-AA version is showing a ton of aliasing artifacts on specular highlights, which is the sparkling you’re talking about. That’s actually really bad looking…it shouldn’t shimmer like that. It should be more like the temporal AA version where the specular highlights are solid when they should be, and moving the camera perspective doesn’t cause shimmering.

At least give me the option of choosing it!

I am using meshes in my game as a health bar, which looks cool but Temporal AA makes it look horrible so I am forced to use FXAA which overall is worse but doesn’t screw up that one thing. I WISH I could just use a normal super sampling method

The antialiasing methods used before the deferred techniques just dont work with the current rendering methods. Its great we have two working solutions in the engine, FXAA and temporal antialiasing, and MLAA should be quite possible too.

Well the thing is that shimmering is real and sharp or rough objects do shimmer. I think if you really made an environment with so many reflective metallic objects, it would really look like the version in the non-AA scene, than the one in the Temporal AA scene.

Speaking of anti-aliasing; To be completely honest I’m not quite happy with any of the AA methods UE4 has atm. FXAA makes things flicker too much, and Temporal AA smears stuff too much. Are there any other AA solutions being worked on for UE4?
Personally I wouldn’t mind very expensive AA methods, since most work I do (Archviz) is offline rendered anyway.


I would very much like an alternative to FXAA and TXAA.

My tests have yielded that Temporal AA is basically unusable in a game. The ghosting is just insane. Take, for example, the water planes example. Placing the translucent water in my map and then having Temporal AA on creates this extremely noisy “ghosting” on all areas of the water which have any form of lighting. It completely destroys particles. The torches in Elemental lose color depth and appear to animate slower due to the ghosting. I have a custom flipbook and it looks really, really messed up in Temporal AA. I cannot imagine pursuing particle effects with that feature on. I’ve found a lot of posts and videos discussing this issue and Epic basically saying nothing about it, even though it’s present in their own Kite demo.

Additionally, TXAA causes an exceptionally severe loss in visual quality by blurring the screen. FXAA does this, too, but it’s not as severe (still severe enough I would never use it).

We would like to know if there is plans to introduce support for SMAA in the future, or how difficult it would be to take the source and implement it ourselves (we aren’t programmers, so we wouldn’t even know where to start).

The most concerning part about TXAA for me is how dependent the reflections are on it. I’m content to run without TXAA, but it dramatically removes reflections. Entire meshes and alphad textures just cease to exist in reflections. - No AA - FXAA - TXAA

The differences between FXAA and No AA are only really significant in the blurring. However, TXAA clearly has a very significant portion of the reflection pipeline built into it. This seems to happen regardless of what settings I have SSR set to. Bloom values are no longer accurate, either (the bloom in TXAA is significantly subdued). Pay especially close attention to the Caution boundary and the cubes on it. They are extremely different in every case.

I google’d around about this, and the closest thing I could find is a reference to Epic changing the reflections in ~4.2, and there being a command called r.SSR.Temporal that was allegedly able to get some portion of the Temporal reflection pipeline into FXAA. It currently has no effect that I can discern.

Is there a way to get those reflections back without using Temporal AA? I would be content if I could manage that, and just never use AA.

I’m all for another AA solution alongside the existing ones. MSAA springs to mind, but there’s probably a more fitting one.

If you watch the KITE demo, you can actually see a lot of ghosting of the Kite. Especially when it has a fairly solidly coloured green background behind it. It was really distracting in the demo, and I agree that TXAA isn’t viable for everybody. In terms of results : Performance though, it rules.

EDIT: I haven’t tried but it might be possible to build an AA solution into a material, and use that as part of post-process. I’m sure somebody did that in UDK a few times actually… time to scour through Polycount.