한국어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

Pico de frametime Frame hitch

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

Abrir la ficha interactiva con gráficos y simulaciones →

Calcular un frame tarda varias veces más de lo normal y la imagen se detiene un instante.

Por qué Una avalancha de efectos de habilidades, spawns masivos o una actualización completa de la UI se concentran en un solo frame → Efecto El frame no termina en 16.7 ms y tarda 50–300 ms → En pantalla La imagen se detiene un instante y en el frame siguiente todo se mueve de golpe

Síntomas
Tirones, Congelamiento
Factores
Detención
A quién afecta
Solo yo
Cuándo
Cuando se junta mucha gente, Al hacer ciertas acciones, De vez en cuando, al azar
Responsable
Responsable principal Desarrollo de cliente (Equipo de desarrollo)
Tareas (Equipo de desarrollo)
Repartir el trabajo pesado entre varios frames, localizar con un profiler los frames con picos, limitar el número de efectos.
Cifras de referencia
Un frame a 60 FPS dura 16.7 ms. Con un solo frame de más de 50 ms, es fácil que el jugador sienta que el juego “se trabó”.
En el gráfico
Picos aleatorios · Tiempo de frame
Dónde mirar
Grabar con PresentMon, durante la partida, el tiempo de frame (FrameTime) y el tiempo que la CPU y la GPU dedicaron a ese frame (CPUBusy y GPUBusy). En dispositivos móviles, las métricas de sesiones lentas y renderizado lento de Android vitals
Se confirma si
Los momentos en que el tiempo de frame, normalmente cerca de 16.7 ms, se dispara por encima de 50 ms coinciden con efectos de habilidades, spawns masivos o actualizaciones completas de la UI, y en esos momentos el ping no cambia
Se descarta si
Si el tiempo de frame es estable pero solo los demás personajes dan tirones, apunta a la red, como en “Búfer de interpolación ausente o demasiado corto”. Si los picos llegan a intervalos regulares, revisar primero “Recolección de basura (GC) en el cliente”
Se verifica con
En el entorno del jugador

Fuentes

  1. Slow rendering Android (Google)
    Para llegar a 60 FPS hay que dibujar cada frame en menos de 16 ms; si se retrasa, se saltan frames y se ven tirones (jank)
  2. Slow Sessions (games only) Android (Google)
    Android vitals considera lento un frame del juego que supera los 50 ms (20 FPS) o los 34 ms (30 FPS)
  3. PresentMon Capture Application (README-CaptureApplication.md) Intel
    FrameTime (tiempo de CPU entre frames), CPUBusy y GPUBusy (tiempo que la CPU y la GPU dedicaron a generar ese frame)

Ver también

Misma capa: L1 Proceso del juego en el cliente

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

Ver la ficha interactiva con gráficos y simulaciones