Quando centenas de monstros perseguem jogadores ao mesmo tempo calculando rotas, o consumo de CPU é grande.
Por quê Pull em massa ou spawns grandes fazem muitos monstros perseguirem jogadores ao mesmo tempo → Efeito Cálculo de pathfinding para cada monstro → Na tela Câmera lenta só naquela área de caça
Responsável principal Desenvolvimento do servidor (Equipe de desenvolvimento)
O que fazer (Equipe de desenvolvimento)
Cachear rotas, limitar o número de cálculos, dividir entre vários ticks.
No gráfico
Sobe com a carga · Tempo de tick do servidor, monstros por zona
Onde olhar
Número de monstros perseguindo jogadores e tempo de tick por zona. Sem essa contagem, a fatia de CPU por função do processo do jogo com perf top -p
Confirma se
O tempo de tick sobe durante pulls em massa ou spawns grandes, e as funções de pathfinding (busca de rota) ocupam boa parte do tempo de CPU
Descarta se
Poucos monstros e muitos jogadores, e o tick sobe: cálculo de visibilidade ou broadcast
Como verificar
Exige logs e métricas do servidor ou do cliente do jogo
Fontes
AI.NavMesh.pathfindingIterationsPerFrameUnity Processa o pathfinding só até um número fixo de nós por frame, dividindo o trabalho entre vários frames, para o jogo continuar fluido mesmo com rotas longas ou muitos pedidos de uma vez
perf-top(1) — Linux manual pageperf Mostra em tempo real a fatia de uso de CPU por função (símbolo) de um processo em execução (-p)