Character Movement Component for ONLY player costs 34ms!? Massive performance dip when moving (50fps (in 4k high)-> 17fps -> 8fps)

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!

game name?