Когда сотни монстров одновременно гонятся за игроками и рассчитывают путь, это сильно нагружает CPU.
Почему Из-за сбора монстров «паровозом» и массового спавна монстры одновременно преследуют игроков → Следствие Каждый монстр рассчитывает путь → На экране Слоумо только на этом месте фарма
Основной ответственный Команда разработки · Разработка сервера
Команда разработки: задачи
Кэшировать пути, ограничить число расчётов, распределять их по нескольким тикам.
На графике
Растёт вслед за онлайном и нагрузкой · время тика сервера, число монстров по зонам
Где смотреть
Смотреть число монстров, преследующих игроков, по зонам и время тика. Если отдельного подсчёта нет, смотреть долю CPU по функциям игрового процесса через perf top -p
Подтверждает
При сборе «паровозом» и массовом спавне время тика растёт, а функции поиска пути занимают большую долю процессорного времени
Опровергает
Если время тика растёт, когда монстров мало, а игроков много, дело в расчёте видимости или рассылке
Чем проверить
Нужны логи и метрики игрового сервера или клиента
Источники
AI.NavMesh.pathfindingIterationsPerFrameUnity Поиск пути обрабатывает за кадр только заданное число узлов и распределяется на несколько кадров, поэтому игра идёт плавно, даже когда пути длинные или запросов сразу много