Game Optimization - Unreal Insights ?

Hello,

I’m coming to the end of my project Deep in The Mine on Steam
, in the game menu I find +120 fps, in the lobby (3D with interactions) +70 fps, but in the level of a part which is more complete I find myself at 15 fps for the dwarf players and 50 fps for the monster player. I have to optimize this. Apparently unreal insights is a powerful tool for identifying problems, however despite some tutorials I can’t put it into practice on my project. Anyone to guide me?

1 Like

Hello @DriHaze

I suggest you take a look

list of UE profiling tools to find the bottleneck of your game.
I fist find out what is source of frame drop CPU code or GPU rendering time.
Then try profiles to find which functions taking too much and reducing framerate of the game

here some video explanation of CPU profiling

I’d say ‘named events’ is very important. It gives you some indication where the load is actually coming from. But as far as I know, you need to name the events from CPP, bummer.

Also, picking channels that are relevant to you, see

1 Like

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.