Очень низкая производительность с 500 агентами с A * Pathfinding Unity - PullRequest
0 голосов
/ 27 мая 2020

Я использую A * поиск пути и менеджер поведения для системы ИИ в своей игре и использую 500 агентов, просто патрулирующих по карте. Это нормально? Мне нужно увеличить FPS примерно до 60 FPS, где сейчас около 5 ... Что мне делать?

После множества испытаний результаты профилировщика:

1) Без поиска пути звездой , менеджер поведения и любой агент (около 2 мс в основном потоке). enter image description here

2) Без поиска пути и менеджера поведения Astar, только 500 агентов enter image description here

3) Только с поиском пути Astar (без любая команда перемещения) с 500 агентами enter image description here

4) С поиском пути Astar и менеджером поведения (с командой патрулирования) с 500 агентами enter image description here

Примечание: я использую контроллер персонажа в своих агентах, я пытался отключить его, но прирост был незначительным. Кроме того, я отключил раздел fixedUpdate в AIBase.cs ().

Кстати, я использую 1 единственный график Recast со следующими параметрами и результатами. enter image description here

1 Ответ

0 голосов
/ 28 мая 2020

Вы пробовали разделить их между потоками? Алгоритмы поиска пути требуют больших вычислительных ресурсов и не должны обновляться.

...