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

Libro blanco del lag en juegos › Diseño del netcode

Doble espera de tick Double tick quantization

ID de la causa sy-double-tick · Responsable principal Desarrollo de servidor (Equipo de desarrollo)

Abrir la ficha interactiva con gráficos y simulaciones →

Si las solicitudes se acumulan hasta el siguiente tick para procesarlas y el resultado también se envía en el tick posterior, el intervalo de tick se suma dos veces.

Por qué Las solicitudes recibidas se procesan en el siguiente tick → Efecto El resultado también se acumula para enviarlo en el siguiente tick de envío → En pantalla El ping de la conexión es bajo, pero la respuesta llega siempre con un retraso de aproximadamente 1.5 veces el intervalo de tick. En un servidor de 10 ticks, 0.15 s de media y 0.2 s en el peor caso

Síntomas
Input lag
Factores
Latencia
A quién afecta
Todo el servidor
Cuándo
Siempre
Responsable
Responsable principal Desarrollo de servidor (Equipo de desarrollo)
Tareas (Equipo de desarrollo)
Enviar la respuesta en el mismo tick en que se procesa, subir el tick rate, enviar al instante las respuestas importantes.
Cifras de referencia
En un servidor de 10 ticks cada tick dura 100 ms, así que solo la espera de tick añade 150 ms de media y 200 ms en el peor caso. Con una sola espera, la media es de 50 ms.
En el gráfico
Siempre alto · Tiempo desde que llega la solicitud hasta que se envía la respuesta
Dónde mirar
En una captura de paquetes del lado del servidor, medir el intervalo entre la llegada del paquete de solicitud y la salida del paquete de respuesta mientras una cuenta de prueba repite la misma acción (p. ej., usar un objeto). Si hay logs del servidor, ver la hora de llegada de la solicitud, el número del tick que la procesó y la hora de envío de la respuesta
Se confirma si
El tiempo dentro del servidor es de aproximadamente 1.5 veces el intervalo de tick de media y 2 veces como máximo, y es constante sin importar el RTT
Se descarta si
Si el tiempo dentro del servidor ronda la mitad del intervalo de tick de media, solo hay una espera de tick. Si es más largo que el intervalo de tick y varía, revisar “Tick que excede su presupuesto”
Se verifica con
Con herramientas de infraestructura (no hace falta código del juego)

Fuentes

  1. Peeking into VALORANT's Netcode Riot Games
    Un input que llega espera como máximo un tick hasta el siguiente límite de tick, y aplicarlo y enviarlo cuesta otro frame. Cuanto más alto es el tick rate, menor es la espera
  2. VALORANT's 128-Tick Servers Riot Games
    Parte de la latencia viene de la red y parte del tick rate del servidor
  3. NetworkTime and ticks (Netcode for GameObjects 2.5) Unity
    Los cambios de NetworkVariable no se envían al instante: se acumulan y se envían en cada tick de red

Ver también

Misma capa: Diseño del netcode

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

Ver la ficha interactiva con gráficos y simulaciones