Pesky items in ProfileGPU

I’m in the process of optimizing my game, and I can’t seem to get rid of or understand certain line items in the ProfileGPU output (ctrl + shift + ‘,’).

The main ones in question are:

  1. Tonemapper #0
  2. PostProcessWeightedSampleSum#(There have been up to five of these with different numbers)
  3. PostProcessCombineLUTs
  4. Downsample
  5. SlateUI


The only post process effect I have is Temporal AA, EVERYTHING else is turned off in the post process volume (I know I have to click and set them to 0). Knowing that, why do I have nearly 70 milliseconds going to all of these PostProcessWeightedSums? Also, why the Combine LUTs when I have that explicitly turned off?

As for the downsample, what causes that? Is there a way to turn that off? I’m running my program at hmd sp 137 (VR equivalent to SP of 100 for normal monitor). Why would it be downsampling?

Finally, why is SlateUI showing up, isn’t that supposed to be the editor UI? It still shows up when I profile in a packaged game.


Nobody has a clue what these things do or how to get rid of them?

Unreal’s deferred renderer uses a HDR buffer internally and your screen is LDR, so it makes sense that the tonemapper is always active to handle this conversion even when not using any of its more fancy features.

Additionally, Slate can also be used for in game UI, so I would expect it to show up in a packaged game, although it should not cause a significant load when there are few UI elements visible.

Can’t directly help you with the others.

Thanks for your reply. Yeah, I actually turned the showflag for tonemapper off and realized it’s definitely needed. As for slate, I have absolutely zero UI elements visible, or even built in the game at all. It’s consistently taking about .7 milliseconds, which is precious when developing for VR. Wish I could figure it out along with the rest of it.

PostProcessWeightedSum* and downsample are probably from bloom, which shows up there.

You posted the histogram, not the profilegpu hierarchy, which is the real useful part. The hierarchy is the top part of the log output from profilegpu (Window->Developer->Output log)

I’m not sure what SlateUI is doing if you’re not using slate. Some debugging might be required.

Thanks Daniel. I’ll turn bloom off and see what I get. Afraid I’ll probably need to eat those costs because it’s a critical part of my game. As for debugging slate, how would I go about doing that?