Frame and Game constantly over budget

I’ve been through a good handful of tuts and have been reading up on this for ages, but I can’t seem to get these numbers below budget, no matter what I do:

image

image

UE Insights is no help at all and this is what I’m getting out of profiling:

Slate tick and frame time seem to be a huge problem. I would take any suggestions on improving those. when I drill down, I only see items taking up very little resources, so I don’t understand where the overload could be coming from:

Literally every BP in my game has tick disabled. I don’t use tick on anything. I don’t know why world tick time is so high. anyway, figured I would send this out into the ether. any help appreciated!

Slate is in relation to the UI and not world objects. Your user interface could the thing that is ticking.

The editor UI also has some overhead so I would probably do a pack test of the game and check with stats unit graph on the project itself (no editor overhead then).

See if the game thread has a lighter load then.

You can try setting your widgets to not tick if you don’t need it


Though some elements might not behave as expected then.

Thanks for the reply. So, you’re saying all widgets? In the above examples, only HUD was showing when I ran the profile, but can other widgets affect the game, even if they aren’t showing? I have references to Widgets in Hud, so I guess it would make sense, just wanted to be sure.

Sorry, one more thing. I have always been told to rely on timer by event (looping) instead of event tick. most of these timers don’t drop below .2 seconds. is it probably that too many timers has the same effect?

The editor ui uses slate so it too adds to the insights readout


Here I have a live readout of the insights on the open world level. There is no ui present (via widgets), but the editor adds calls to slate as it draws it’s own ui around the viewport (buttons, menus etc).

I see. so some of this is just overhead from the editor that i can ignore in a build.

I have some animations in HUD. With tick disabled, these no longer function. Should i abandon animations in widgets, or is there a workaround?

If you use animations then they rely on widget tick. But it is also not as intense as uobject tick when set to auto (it disables tick when animations are not player and tick isn’t hooked up to logic)

You can tick “Stat Named Events” to a more human readable view of the insight. (must be done before recording)

thank you! one final question. Is it possible to change the tick frequency in a widget to make the tick less intense? I see i can do it in actor BPs but all i see in widgets is this and no way to edit:

image

Unfortunately I’m not sure that is possible.

At a glance of the documentation the UUserWidget (c++ version) uses AnimationTickManager to drive it’s tick function. It doesn’t have any set frequency exposed.

There is only the function GetDesiredTickFrequency() which returns a EWidgetTickFrequency (which will be the bp version of “never” or “auto”).

It’s strange that a widget tick would be causing problems performance wise. I’ve never seen this in the engine before. Does you pc meet the requirements?

If so then maybe try verifying your engine files in the epic launcher. Maybe something is damaged in the engine itself?

Maybe another process is using up resources for example a real-time antivirus scanner may be “testing” your game for viruses mid play-through killing performance?

1 Like

I’ve been through a few different engine versions, done the verify thing before and loads of different troubleshooting. I don’t honestly think that it’s the widget but at this point I’m pretty much squeezing every little bit of juice out that I can. I have ryzen 7 processor, a 3080 TI graphics card, 64 gigs of ram. I am certain it’s not the system. I feel like I may be overdid something somewhere in this game. I’ve spent a lot of time in optimizations and just generally trying to get a higher FPS. Most of the time it’s one step forward and two steps back.

To complicate things worse, the game that I’ve put the last few years of my life into is a mobile game so if it works this poorly in the editor, it is 10 times as problematic in my shipping builds. Really it honestly kind of works well on the mobile devices that I test with. The biggest problem is they heat up pretty good and I don’t want to scare away users.

Have worked my draw calls down to under 6,000, done a lot of work to make texture smaller, I’ve optimized the materials, animations, on and on and on. Cannot for the life of me figure out what causes the frame and game rate to be so high but if I could put my finger on it I feel like a lot of stress would lift off of my shoulders.

Fyi just finished removing tick from all widgets and you were right, it made very little difference. Do you have any suggestions regarding “world tick time?” I appreciate all of your help thus far.

I’ve seen many threads mentioning the increase in world tick resource consumption since the move to 5.0.

UE4 had a much smaller footprint in that regard and those threads didn’t find a solution to the problem. It’s probably just an engine optimization that the devs haven’t gotten around to since the introduction of nanite and lumen. Maybe in future updates it will be reduced.

1 Like