Um frame leva várias vezes mais que o normal para ser calculado, e a imagem para por um instante.
Por quê Explosão de efeitos de skill, spawn em massa e atualização da UI inteira se acumulam no mesmo frame → Efeito O frame não termina em 16,7 ms e leva 50–300 ms → Na tela A imagem dá um engasgo e, no frame seguinte, todos se movem de uma vez
Quando junta muita gente, Ao fazer ações específicas, Aleatoriamente, de vez em quando
Responsável
Responsável principal Desenvolvimento do cliente (Equipe de desenvolvimento)
O que fazer (Equipe de desenvolvimento)
Dividir o trabalho pesado entre vários frames, encontrar com um profiler os frames que dão pico, limitar o número de efeitos.
Números de referência
Em 60 FPS, um frame dura 16,7 ms. Basta um único frame acima de 50 ms para o jogador sentir que o jogo “engasgou”.
No gráfico
Picos aleatórios · Frame time
Onde olhar
Gravar com o PresentMon, durante o jogo, o frame time (FrameTime) e o tempo que a CPU e a GPU gastaram em cada frame (CPUBusy, GPUBusy). No mobile, as métricas de sessões lentas e de renderização lenta do Android vitals
Confirma se
O frame time, normalmente perto de 16,7 ms, dispara acima de 50 ms em momentos que coincidem com efeitos de skill, spawns em massa ou atualização da UI inteira, e o ping não muda nesses momentos
Descarta se
Frame time estável, mas só os outros personagens dão engasgos: aponta para a rede, como “Buffer de interpolação ausente ou curto demais”. Picos em intervalos regulares: verifique primeiro “Coleta de lixo (GC) no cliente”
Como verificar
Verificação no ambiente do jogador
Fontes
Slow renderingAndroid (Google) Para rodar a 60 FPS, cada frame precisa ser desenhado em 16 ms; se atrasar, frames são pulados e aparecem como engasgos (jank)
Slow Sessions (games only)Android (Google) O Android vitals considera lento o frame de jogo que passa de 50 ms (20 FPS) ou de 34 ms (30 FPS)