Low poly simple ai cause massive fps drop

I have no idea what’s causing the drop in fps. The zombie are only 300ish triangles. On an empty map, with a plane, a nav mesh, no light, no skybox, and 60 ai spawners I go from 120 fps 8ms to 45fps spiked to 30ms and levels out around 20ms. Here are a bunch of screenshots and profiler logs.

[Stat Log File][1]

I removed the mesh, animation, anything visual on the character. It’s60 empty characters on screen.

The result is 50 fps at 15-17ms on the gpu. NOW I’M EXTRA CONFUSED

If I let it sit for a while eventually it climbs back up to 120 fps. If i glide my cursor from editor across the screen (not clicking) it drops to 70 fps. It will stay 70 fps while i move the cursor and go back to 120 fps when I stop moving it. WTF is going on here???

Have you tried closing all Blueprint Windows etc before starting the application?

I’ve had the issue that an open window easily cost 30 fps or more.

Does this issue also occur when your game is cooked?

Mind to try to cook your project and run it, check if that fps drop happens?

And btw, what is your video card?

980 ti classified. Haven’t cooked it yet and the windows get closed on VR start.

You say simple AI, how simple are we talking here? Could there be excessive loops going on making your ‘simple’ scripts surprisingly heavy? It does look like it’s mostly GPU bound though… when does the frame drop start?

Just looking at them. At no point of time is it better or worse, other than looking away from the zombies. I’ve had all windows closed and cooked content, yet no change. I use behavior trees and I don’t think there is anything too excessive for loops in there.

Hi, did you find the reason for it?

Nope, I’ve switched to a new AI system I’m writing from the ground up, ditched behavior trees, and rewriting the character movement component.

If you are calling Tick for each 60 AI and use small value of Service interval on Behavior Tree, it possibly affect performance.

Well that’s partly the problem, but it’s a culmination of many things. So far I can run 100 ai simultaneously at 120 fps. I want to get 1000 ai doing the same.

There should be (always) an alternative instead of using Tick. Ex : Use Sight and forget LineTrace…Disabling StartWithTickEnabled would be also safe.

I wasn’t running anything on tick though. I removed behavior trees as well. The particular ai talked about as the problem above mostly got the fps drop from overlap events and it’s animations were motion captures so not ideal.

What did you do? Please help me out too, I’m facing the same issue!