Depois de uma parada, o jogo tenta fazer de uma vez os cálculos atrasados e, por causa desse cálculo, atrasa de novo.
Por quê A simulação do jogo roda em intervalos fixos e, em algum momento, para → Efeito Os passos atrasados são calculados todos em um só frame → Na tela Uma sequência de frames longos causa picos ou, ao bater no limite, o jogo entra em câmera lenta
Aleatoriamente, de vez em quando, Quando junta muita gente
Responsável
Responsável principal Desenvolvimento do cliente (Equipe de desenvolvimento)
O que fazer (Equipe de desenvolvimento)
Limitar a recuperação por frame, tratar o tempo que sobra com interpolação.
No gráfico
Picos aleatórios · Frame time, passos fixos por frame
Onde olhar
Ver no profiler da build de desenvolvimento quantas vezes o passo fixo rodou em um frame (no Unity, o número de marcadores da fase FixedUpdate, como FixedBehaviourUpdate) junto com o frame time
Confirma se
Depois de um frame longo vem uma sequência de frames longos que rodam vários passos e, ao bater no limite (Maximum Allowed Timestep no Unity), o tempo do jogo passa mais devagar que o real
Descarta se
Frame longo isolado, que não se repete: “Picos de frame time” ou “Coleta de lixo (GC) no cliente”
Como verificar
Exige logs e métricas do servidor ou do cliente do jogo
Saiba mais
A física do Unity (FixedUpdate) é o exemplo típico de passo fixo (0,02 s por padrão, 50 vezes por segundo). O Maximum Allowed Timestep das configurações de Time (o tempo máximo que um frame pode recuperar, cerca de 0,33 s por padrão) é o limite de recuperação. Se um frame passar disso, o tempo excedente é descartado, e o relógio do jogo fica atrasado em relação ao tempo real na mesma medida.
Handling variation in timeUnity Maximum Allowed Timestep padrão de 1/3 s (0,3333333): mesmo com 1 s de parada, o tempo do jogo avança só 0,333 s; é o limite que impede o ciclo vicioso em que os passos de recuperação deixam tudo ainda mais lento
Profiler markers referenceUnity FixedBehaviourUpdate: trecho de execução de MonoBehaviour.FixedUpdate; os marcadores de física são chamados na fase FixedUpdate