GPU optimization, "Lumen Screen Probe Gather"?

Hey, I’m currently looking into optimizing my UE5 scene.

I’m currently not using Lumen, yet one of the bigger culprits is something called “LumenScreenProbeGather” in the GPU visualizer.

Do you have any suggestions on how to manage this?

1 Like

Did you ever figure this out?

I’m afraid not, I’ve been focusing on other tasks in the meantime.

If you’re not using Lumen then this is most likely a bug. You can try just disabling diffuse indirect via cvar: r.Lumen.DiffuseIndirect.Allow 0

1 Like

Hmm, that appears to have disabled GI entirely, including non-lumen GI, I guess it might just be all categorized under Lumen now, and it’s in fact working as intended?

Edit: Or is screenspace GI not working anymore? I just realize I get the exact same behaviour whether I set it to Lumen or screenspace.

I have to assume you’re actually using Lumen or you’ve discovered some bug I can’t reproduce… when I use SSGI and set r.Lumen.DiffuseIndirect.Allow 0, I continue to get SSGI. Also SSGI shows up in the GPU profiler as “SSGI”, there’s no screen probe gather cost.

There is no screenspace GI anymore, Lumen is either on or off.

Ah that would explain it, I have SSGI enabled in project settings, but it doesn’t seem to make a difference.

Lumen is screen space. If the ambient light source is not in frustum, it wont provide any ambient lighting in your view.

Lumen is not screenspace.

“Probe gather” refers to the rendering technique called “final gather” - selective light bounces for indirect illumination, done after raytracing to improve physical accuracy.

You can adjust the quality of the Lumen final gather in a post-process volume.
Or try to find out why your scene is so hard to light.


It is not. If you think that, then your not getting the correct results. You can get Lumen reflections even when objects are not in the screen space.

The reason this happens is because you have lumen enabled in your PostProcess volume. Yes even if you disable it on the project settings, you can still enable it individually on your PostProcessVolume here: