Enquanto os pacotes não chegam, o cliente continua mostrando o personagem andando na última velocidade conhecida e, quando percebe o erro, puxa de volta.
Por quê A recepção de pacotes para, e o cliente continua movendo o personagem na última direção e velocidade → Efeito Na verdade, o outro jogador parou ou mudou de direção → Na tela O personagem do outro anda um bom trecho e depois teleporta para a posição real, ou atravessa paredes. Com intervalos de chegada irregulares, ele avança e é puxado de volta várias vezes e parece tremer
Responsável principal Desenvolvimento do cliente (Equipe de desenvolvimento)
O que fazer (Equipe de desenvolvimento)
Limitar o tempo de extrapolação (ex.: 200–250 ms), convergir suavemente para a posição certa quando a estimativa errar.
Números de referência
A 6 m/s, basta um erro de 300 ms para a posição ficar 1,8 m fora do lugar.
No gráfico
Picos aleatórios · Tempo de extrapolação, distância de correção da posição
Onde olhar
Registrar por quanto tempo outros personagens foram desenhados por extrapolação e a distância corrigida na posição quando chegou o pacote novo
Confirma se
Em cada trecho sem pacotes, o tempo de extrapolação cresce sem limite e, depois, a distância corrigida chega a vários metros
Descarta se
Extrapolação curta e limitada, mas ainda com teleporte: a perda de pacotes ou a latência em si está alta; verifique a conexão e a rota
Como verificar
Exige logs e métricas do servidor ou do cliente do jogo
Fontes
Interpolation and extrapolation (Netcode for Entities 6.5)Unity Se o próximo snapshot não chega a tempo, a extrapolação, que continua movendo na mesma direção e velocidade, erra com frequência, por isso tem um limite (padrão do Unity: 20 ticks, cerca de 1/3 s a 60 Hz)
Peeking into VALORANT's NetcodeRiot Games Quando a estimativa usada para cobrir dados atrasados ou perdidos erra, o cliente diverge do servidor, e o personagem pula ou desliza durante a correção