Path-Performance Problems

Hey everyone,

I’m having a issue with the performance of the path system.

http://puu.sh/pf6x1/786cf45e2c.png

It may be just normal with this huge amount of enemies (260 currently) But I saw threads were similar number of enemies were being used. I’m using a slightly modified version of the AILerp script due to the feedback of this Thread: Well optimized pather script for many AIs at once?

Thread Count of the Astar Path and RVO Controller is set to “Automatic High Load”. Generally I changed everything which looked like “hey i’m eating a lot of performance” to “don’t mind me” settings (tooltips helped a lot there). This reduced the RVO Controller cost A LOT!

How can I reduce the long ms time in the Astar Update? There are ABPath’s where I claim and release to use the pooling of the paths. (Sometimes lines in the graph will stay forever, I guess I have a leak somewhere?).

The enemies are following the player, so they are often recalculating their path.
Grid Settings:

http://puu.sh/pf6UJ/281925f502.png

I hope I thew enough informations into this post to get a picture of what I have done already and what is missing?
How can I make my masses of enemies more efficient?

Thanks in advance

Savi

Hi

The AstarPath.Update method is only related to pathfinding, not RVO.
Since you are using threading, essentially the only thing which is done in the Update method of the AstarPath script would be executing graph updates and calling callback functions to signal completed paths. I would suggest that you check any path modifiers that you are using and see if they might be using a lot of CPU power since they are called when the path is signaled as complete.

The Seeker component also calls Claim and Release on the paths in order to make sure the path is not being pooled when while it is used to draw the gizmos. It is not a leak.

You can use the Astar Debugger component to check how many paths are in the pool (and also get some other information): http://arongranberg.com/astar/docs/class_astar_debugger.php

Also. What version of the package are you using?
Version 3.8 fixed a bug which could cause massive performance issues when pooling was used and a large number of paths were being calculated simultaneously.

Hey aron,

I have the beta build 3.8.2 (2016-02-39) installed. I will go straight forward to test everything with the Debugger component. Each of the enemies have the funnel modifier applied, gonna disable them and test it again.

I will write if it helped or not.

These values doesn’t seem to be in the “green area”

http://puu.sh/pfapK/1e35681420.jpg