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

Libro blanco del lag en juegos › L9 Proceso del juego en el servidor

Acumulación de entidades (objetos e invocaciones sin limpiar) Entity / timer buildup over uptime

ID de la causa sp-entity-buildup · Responsable principal Desarrollo de servidor (Equipo de desarrollo)

Abrir la ficha interactiva con gráficos y simulaciones →

Si los objetos tirados en el suelo, las invocaciones y los temporizadores terminados que deberían desaparecer no se limpian y se acumulan, el trabajo de cada tick crece cuanto más tiempo lleva encendido el servidor.

Por qué Los objetos del suelo, las invocaciones, los temporizadores vencidos y los datos de grupos vacíos no se borran a tiempo → Efecto Las listas que se recorren en cada tick se alargan día a día → En pantalla Justo después del mantenimiento todo va bien, pero al cabo de unos días ese servidor o esa zona va cada vez más pesado

Síntomas
Cámara lenta, Tirones, Input lag
Factores
Detención
A quién afecta
Todo el servidor, Una zona o un canal
Cuándo
Cuanto más tiempo lleva encendido
Responsable
Responsable principal Desarrollo de servidor (Equipo de desarrollo)
Tareas (Equipo de desarrollo)
Registrar como métrica el número de entidades por zona y seguir su tendencia, dar a cada entidad una vida útil y un tope de cantidad, limpiar periódicamente.
Cifras de referencia
En un servidor que recorre todas las entidades una vez por tick, si el número de entidades se duplica, el tiempo de tick de esa parte también se duplica.
En el gráfico
Diente de sierra · Entidades por zona, tiempo de tick del servidor
Dónde mirar
Entidades por zona y servidor (objetos del suelo, invocaciones, temporizadores) y tiempo de tick en un periodo más largo que el ciclo de mantenimiento (varias semanas)
Se confirma si
El número de entidades y el tiempo de tick empiezan bajos tras el mantenimiento, suben día a día y caen de golpe en cada mantenimiento o reinicio, una y otra vez, mientras la memoria sobra
Se descarta si
Si el tick no cambia y solo sube la memoria sin parar, apunta a “Fuga de memoria”
Se verifica con
Requiere logs y métricas del servidor o el cliente del juego
Para saber más
Como la fuga de memoria, empeora cuanto más tiempo lleva encendido el servidor, con una diferencia: la memoria sobra y solo crece el tiempo de tick. Si el gráfico del número de entidades tiene forma de diente de sierra al ritmo de los mantenimientos, es este caso.

Fuentes

  1. Actor Ticking in Unreal Engine Epic Games
    Si no se fija un intervalo, los actores y componentes ejecutan su tick una vez por frame, y se puede desactivar el tick si no hace falta
  2. AActor::SetLifeSpan Epic Games
    Si se fija una vida útil a un actor, se destruye automáticamente al expirar

Ver también

Misma capa: L9 Proceso del juego en el servidor

Causas de otras capas con el mismo síntoma (Cámara lenta)

Ver la ficha interactiva con gráficos y simulaciones