Half of my game thread CPU execution time gets spent on "Total Slate Tick Time" for no apparent reason, how to optimize this?

I did some profiling. My game thread runs at 12 ms average, of which 27.6% is actual game stuff (largely physics and AI) and a whopping 53.8% is “Total Slate Tick Time”.

Total Slate Tick Time breaks up into:

  • 34.4% “Self”
  • 33.4% “Draw Window and Children Time” (This is 62.4% “Self”, 17.5% “HitTestGrid.AddWidget”, and 7.9% “Tick Widgets”)

It appears that over half of the Slate related time (which itself is over half of my entire game thread) is lost to various forms of “Self”.

I do have a relatively expansive diegetic holographic HUD that sits on the player pawn and has multiple events that get called every tick from the player pawn. The HUD itself does not have a tick event and no bindings. The HUD is set to ignore hit tests.

Does anyone have any insight in what is going on here?

I’m guessing this is not in a standalone build? I’m pretty sure this is editor overhead for drawing the editor UI. Try playing in standalone or even better making a build, and check the stats there instead

2 Likes

Hey there @DevbyMoonlight! As Zeaf was saying, most of the time slate references are either the core of UMG breaking down or Slate itself in editor (Slate raw is actually used for the editor UI). Check and see if a Debug build is still kicking back the same. Also depending on the number of tick events you’re running on UI it can get a bit excessive when PIE but less so outside of the editor.

1 Like