한국어English日本語简体中文繁體中文DeutschไทยTiếng ViệtРусскийPortuguês (Brasil)EspañolBahasa Indonesia

Libro blanco del lag en juegos › L1 Proceso del juego en el cliente

Extrapolación excesiva (dead reckoning) Over-extrapolation / dead reckoning

ID de la causa cg-extrap · Responsable principal Desarrollo de cliente (Equipo de desarrollo)

Abrir la ficha interactiva con gráficos y simulaciones →

Mientras no llegan paquetes, el cliente sigue mostrando a los personajes en movimiento con su última velocidad y, cuando descubre que se equivocó, los devuelve a su sitio.

Por qué Se cortan los paquetes y el personaje sigue avanzando con su última dirección y velocidad → Efecto En realidad, el otro jugador se había detenido o había cambiado de dirección → En pantalla El personaje del otro jugador avanza un buen trecho y salta de golpe a su posición real, o atraviesa paredes. Si los paquetes llegan a intervalos irregulares, se adelanta y vuelve atrás una y otra vez, y parece que tiembla

Síntomas
Teletransporte, Tirones
Factores
Pérdida de paquetes, Jitter
A quién afecta
Solo yo
Cuándo
De vez en cuando, al azar
Responsable
Responsable principal Desarrollo de cliente (Equipo de desarrollo)
Tareas (Equipo de desarrollo)
Limitar el tiempo de extrapolación (p. ej., 200–250 ms), converger suavemente cuando haya error.
Cifras de referencia
A 6 m/s, un error de solo 300 ms supone 1.8 m de desfase.
En el gráfico
Picos aleatorios · Tiempo de extrapolación, distancia de corrección de posición
Dónde mirar
Registrar cuánto tiempo se dibuja a otros personajes con extrapolación y qué distancia se corrige su posición cuando llega un paquete nuevo
Se confirma si
En cada corte de paquetes, el tiempo de extrapolación crece sin límite y luego la distancia de corrección llega a varios metros
Se descarta si
Si la extrapolación se corta pronto y aun así hay teletransporte, la pérdida de paquetes o la latencia son grandes en sí mismas: revisar la conexión y la ruta
Se verifica con
Requiere logs y métricas del servidor o el cliente del juego

Fuentes

  1. Interpolation and extrapolation (Netcode for Entities 6.5) Unity
    Si el siguiente snapshot no llega a tiempo, la extrapolación, que sigue moviendo la entidad con la misma dirección y velocidad, se equivoca a menudo, así que se le pone un límite (en Unity, 20 ticks por defecto, alrededor de 1/3 de segundo a 60 Hz)
  2. Peeking into VALORANT's Netcode Riot Games
    Cuando los datos tardíos o perdidos se rellenan con suposiciones y la suposición falla, el cliente se desfasa del servidor y el personaje salta o se corrige como si se deslizara

Ver también

Misma capa: L1 Proceso del juego en el cliente

Causas de otras capas con el mismo síntoma (Teletransporte)

Ver la ficha interactiva con gráficos y simulaciones