Download

moving and still noise in UE 4.24.3 and 4.25.3

Summary of current solution below this paragraph:

There’s a type of noise I’ve encountered since getting a new computer (building it via mailed components), and it has occurred in every project I created. It basically looks like the film grain, or perhaps like the less denoised output of a path tracer, yet moving along / within reflective surfaces. It’s more visible in shadowed areas, such as self-occluded walls, sides / faces of meshes that are not in the direct light, and also in ambient occlusion areas. The other sub-type of the grain noise I observed was in surfaces having moderate to higher reflectivity, and not only metallic surfaces (such as the table / chairs in starter content). I initially seemed to narrow it down to ray tracing ambient occlusion in more than one project, but then creating a project with ray tracing disabled and RTAO disabled in the post process also had the moving noise. I tried a ton of different project settings, changed world lightmass settings, skylight / directional light settings modifications, atmospheric fog changes, material settings changes, and mesh editor modifications to normals / mesh distance fields / lightmap resolutions, enabled / disabled temporal up-sampling, and even returned a new 4K/60 monitor I got for a low price at Walmart. Now I have a different, new monitor (1080p / 165 Hz with HDR10), and in the last project I had created I tested to discover it again. I’ve looked up a ton of forum posts, did a few external searches, and have finally solved the noise…so far. In the newest project I encountered the moving noise, plus a bunch of jittery noise, I disabled Ray Tracing in project settings and the post process and in all lights / meshes (via Visible in Ray Tracing option under Rendering). Then I disabled Ambient Occlusion in Project Settings, increased the Time Code FPS to 120 from 24 (film), disabled “Allow Static Lighting” and “Use Normal Maps for Static Lighting” (also set “Force No Pre-computed Lighting” and all lights / meshes to Movable), and disabled Support depth-only and reverse index buffers. After a restart, the moving noise didn’t show up. Then a still noise replaced it. The final change that I think I’m certain got rid of the still noise is reducing SSR in the post process volume to 0 Intensity and 0 Quality, and unchecking the 3 boxes of SSR. This was one of the worst problems I’ve encountered thus far in Unreal Engine, and I even got rid of a nice 4K monitor thinking it was associated with the monitor specs being incompatible with the engine somehow. Here’s a summary of these findings:

  1. Moving or still noise appears as a ton of dot-sized grains. Particularly noticeable in shadowed / reflective surfaces, ray tracing (RT) on/off.
  2. Turning off ambient occlusion (RT and/or non-RT versions) got rid of it. Unsure if it was because I disabled SSR (Screen Space Reflections) before disabling one or both ambient occlusion versions.
  3. Increasing Time Code FPS from 24 to 120 in project settings, and changing to dynamic only lighting could have helped remove the noise.
  4. Project settings changes + switch to dynamic lighting got rid of the moving noise, yet still (as in stationary or non-moving) noise replaced it.
  5. Disabling SSR removed the still noise.

I’m aware there’s a bunch of console comms that enhance SSR and TAA, but I didn’t attempt those. If UE lighting / rendering is resulting in similar noise that I described, then it’s best to check AO, SSR, TAA, and turn on/off ray tracing. Increasing samples per pixel in RT settings improved things a bit or somewhat, but didn’t remove the noise entirely. However, it could in a different scene or encounter with that kind of finely grained noise, perhaps along with a few other changes or as an isolated solution.

Here’s a quick video of the moving noise. It’s now occurring with SSR disabled, and AO turned off it occurred too.

https://youtu.be/E8ap8rWidYg

Any suggestions or ideas of how to solve it? Is it ray tracing, and if so, what cvars do I use to potentially remove it?

r.RayTracing.ForceAllRayTracingEffects 0