Game Optimization - Unreal Insights ?

Hi, first you can check whether you’re CPU or GPU bound. You can do that via the console command ‘stat unit’. If the GPU time it shows is larger than the Game time, then you’re GPU bound and can go from there (GPU profiler → console command ‘ProfileGPU’, or render doc for an in-depth view (shows you the cost of the individual materials)).

If the GPU time is similar to the game time (GPU will stall and wait for the gamethread, therefore it won’t be lower than the game time) you’re likely CPU bound by the game thread (you can check that by setting the render resolution to a really low value (console command ‘r.screenpercentage 10’ or so, 100 is full res), if the GPU time does not change you’re not bound by that). To debug the game thread, you could use ‘stat game’ to get an overview, or use unreal fontend (no longer works after 5.2, but is still backwards compatible with traces from 5.4, don’t know about later versions). Unreal fontend will you show the time taken down to the individual blueprint functions and events.

You can also use unreal insights instead, then you can check the GPU thread, render thread and game thread. E.g. if you’re CPU bound, you could zoom into the game thread and see what takes up time.