# Entenda o relógio dentro de um loop de jogo
Cada frame renderizado entrega ao jogo um novo tempo decorrido. Em um loop de delta variável, o movimento costuma ser atualizado como position += velocity × frameTime. Quando os frames são estáveis, a velocidade média fica próxima da desejada, mas uma atualização pode ter o mesmo tamanho do frame que a produziu. Por isso, um hitch não é apenas uma pausa visual: ele muda a quantidade de tempo de jogo consumida por essa atualização. # Compare a integração variável com um acumulador fixo
Um loop de timestep fixo soma a duração de cada frame a um acumulador e consome repetidamente um passo escolhido, como 16,667 ms. A simulação recebe atualizações iguais enquanto o render pode manter outro ritmo. A fração restante fica no acumulador para o próximo frame. Quando chega um frame longo, o loop fixo executa várias atualizações pequenas para contabilizar o tempo decorrido. O tamanho do passo permanece estável, mas pode surgir um pico de trabalho de recuperação. | Renderização estável | Uma atualização usa cada duração normal | Passos iguais consomem o tempo acumulado | Os dois caminhos devem acompanhar o mesmo movimento. |
| Frame longo | Uma atualização grande pode mover o objeto longe demais | Várias atualizações fixas recuperam o tempo | Observe o desvio junto com a contagem de recuperação. |
| Taxa de renderização diferente | O tamanho da atualização muda com o frame rate | O passo de simulação permanece igual | Passos fixos reduzem a dependência do render. |
| Teto do delta | O tempo acima do limite é ignorado | O acumulador recebe a duração completa | Limite apenas quando perder tempo for aceitável. |
# Veja o que um pico de frame realmente faz
A 60 frames por segundo, um frame normal dura cerca de 16,667 ms. Com um pico adicional de 80 ms, um frame passa a durar cerca de 96,667 ms. O modelo variável consome toda essa duração em uma atualização. O modelo fixo consome em vez disso cerca de seis passos de 16,667 ms. O tempo total decorrido pode coincidir, embora o percurso dentro da simulação seja diferente. # Leia o desvio de posição junto com a recuperação
A diferença de posição é o caminho variável menos o caminho fixo. Ela mostra o quanto as duas políticas de integração se separaram, não qual delas está automaticamente correta. A contagem de recuperação mostra quanto trabalho fixo foi necessário em um único frame renderizado. Uma diferença grande aponta para uma divergência de movimento visível; muitos passos apontam para um possível problema de orçamento de CPU. Os sinais estão relacionados, mas não dão o mesmo diagnóstico. # Trate o limite do delta como uma política
Um limite pode impedir que uma aba pausada, um breakpoint ou um hitch grave teletransporte um personagem ou faça um corpo físico atravessar a geometria. O custo é que o relógio variável fica atrás do tempo real decorrido. Se o jogo precisa preservar o tempo, use um acumulador fixo ou outra política de recuperação. Se precisa manter os saltos limitados e continuar responsivo, um limite pode ser adequado, mas o tempo perdido deve ser intencional. # Escolha o loop pelo trabalho que ele protege
| Física, colisões ou gameplay determinístico | Timestep fixo | Passos iguais tornam a simulação menos dependente do ritmo de renderização. |
| Movimento visual simples sem estado acumulado | Delta variável | A atualização é pequena e normalmente não precisa de uma fila de recuperação. |
| Simulação de gameplay com renderização suave | Atualização fixa com interpolação | A simulação mantém o passo enquanto a apresentação esconde o progresso fracionário. |
| Recuperação depois de uma pausa grave | Política de recuperação limitada | Evita transformar um frame ruim em trabalho de simulação ilimitado. |
# Use um fluxo de ajuste repetível
Comece sem picos e confirme que os dois caminhos coincidem. Adicione um hitch repetível e mude a sua frequência para ver se o erro visível se acumula ou se estabiliza. Ajuste o passo fixo e observe a contagem de recuperação antes de alterar a velocidade. Por fim, ative o limite e compare o tempo simulado variável com o tempo real. Essa sequência separa a causa de uma divergência da política usada para contê-la.
O que este experimento não pode provar
O laboratório usa durações de frame declaradas e velocidade constante, portanto explica o comportamento temporal, mas não mede um dispositivo nem valida uma engine. Física real, amostragem de entrada, rede, interpolação e orçamento de frame podem mudar o melhor design. Use o resultado para formular uma hipótese e depois verifique-a no jogo real.