The only thing even near red beyond CPU stalls is CharacterMovementComponent.
My game runs at 45fps locked fully loaded up.
As soon as I move, I dip down to 17fps; if I run super fast, I dip down to 8fps.
I thought it was lots of things so this weekend I nuked my PC, reinstalled Windows, rebuilt everything, blah blah blah.
Anyways, loaded it up; game runs phenomenal (considering I haven’t even gotten to the point of reducing draw calls YET)
UNTIL I MOVE.
I’ve been having this issue for a while and I assumed it was cloth sim, this, that. Checked for and fixed every possible bottleneck and this is the only one.
What can I do to fix this?
When you move, each actor/component has the actors/components it overlaps with updated (UpdateOverlaps Time
). Seems like the Sphere_Trigger
SphereComponent
in your MinimapBoundsTrigger
blueprint is responsible for that huge drop. Looking at the screenshots I’m guessing the trigger has quite a large radius? Are you using a special dedicated collision channel for these to filter the amount of actors/components that need to be considered for the overlap query? If not I’d try that first. Otherwise you may need to look into alternative ways to register/detect objects relevant for the minimap (e.g. each one could register/unregister itself with a global manager instance). And then filter those objects with a simple spatial grid and/or distance check.
Thanks for the reply.
I didn’t write the map (it’s from marketplace) and i’ve already had to make some changes to it (a lot was running on tick).
It is a massive area, yes, about 90 city blocks.
I have switched to a dedicated channel and it bought me 2fps
I am in the process now of rewriting the map system for subscribe/unsubscribe/timer + push updates which I think will be the answer.
Thanks a lot for your reply!