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

Libro blanco del lag en juegos › L2 SO y dispositivo del cliente

Ahorro de energía y thermal throttling Power saving, thermal throttling

ID de la causa co-power · Responsable principal Externo (Externo) · También Desarrollo de cliente (Equipo de desarrollo)

Abrir la ficha interactiva con gráficos y simulaciones →

El modo batería de una computadora portátil, el modo de ahorro de energía del teléfono o el calor del dispositivo reducen la velocidad de la CPU y la GPU. Lo característico del calor es que al principio todo va bien y la lentitud llega al cabo de un rato.

Por qué Modo batería o de ahorro de energía, o el dispositivo se calienta → Efecto La frecuencia de la CPU y la GPU baja un 30–50%, según el dispositivo → En pantalla Con el ahorro de energía, nada más activarlo; con el calor, tras jugar entre unos minutos y unos 20 minutos: los FPS bajan y hay tirones

Síntomas
Tirones, Input lag
Factores
Detención
A quién afecta
Solo yo
Cuándo
Cuanto más tiempo lleva encendido, Siempre
Responsable
Responsable principal Externo (Externo) · También Desarrollo de cliente (Equipo de desarrollo)
Tareas (Equipo de desarrollo)
Ajustar automáticamente las opciones gráficas, controlar el calor con un límite de FPS, bajar las opciones por adelantado según el nivel térmico que informa el SO (thermalState en iOS, la API de estado térmico en Android), marcar el ejecutable para que use la GPU dedicada en computadoras portátiles con dos chips gráficos (exportar NvOptimusEnablement y AmdPowerXpressRequestHighPerformance).
Tareas (Externo)
Indicar a los jugadores que desactiven el modo de ahorro de energía y que conecten la computadora portátil a la corriente; ante reportes de “mi computadora portátil es buena pero los FPS son bajos”, indicarles que comprueben en qué chip gráfico corre el juego y que lo asignen a la GPU de alto rendimiento en la configuración de gráficos de Windows.
En el gráfico
Subida gradual · FPS, frecuencia de CPU y GPU
Dónde mirar
Registrar durante 20–30 minutos CPUFrequency, GPUFrequency, CPUTemperature y GPUTemperature de PresentMon junto con el tiempo de frame, y comprobar con la columna Motor de GPU de la pestaña Procesos del Administrador de tareas en qué chip gráfico corre el juego. En dispositivos móviles, registrar junto con los FPS la API térmica de Android (getThermalHeadroom, estado térmico) y thermalState de iOS
Se confirma si
Los FPS bajan a partir del momento en que, tras subir la temperatura, cae la frecuencia, o la frecuencia solo es baja en modo batería o de ahorro de energía. O el juego está corriendo en la gráfica integrada
Se descarta si
Si la frecuencia y la temperatura no cambian y aun así los FPS bajan: “Procesos en segundo plano que ocupan la CPU” o “Fuga de memoria en el cliente”
Se verifica con
En el entorno del jugador
Para saber más
Las computadoras portátiles con dos chips gráficos a veces ejecutan el juego en la gráfica integrada, más lenta, para ahorrar energía. Ante un reporte de “mi computadora portátil es buena pero los FPS son bajos”, lo primero es comprobar en qué chip gráfico corre el juego.

Fuentes

  1. Thermal API Android (Google)
    Los dispositivos solo mantienen el alto rendimiento durante un tiempo limitado y después el calor provoca throttling; se recomienda bajar la carga por adelantado según el estado térmico
  2. thermalState Apple
    Nivel térmico actual que informa iOS; cuando sube, la app debe reducir el uso de recursos
  3. Selecting the Best Graphics Device to Run a 3D Intensive Application AMD
    En computadoras portátiles con dos chips gráficos, un juego de 60 FPS puede bajar a 30 FPS si corre en la gráfica integrada; exportar AmdPowerXpressRequestHighPerformance selecciona la gráfica dedicada
  4. PresentMon Capture Application (README-CaptureApplication.md) Intel
    Registra por frame CPUFrequency y GPUFrequency (frecuencia) y CPUTemperature y GPUTemperature (temperatura)
  5. GPUs in the task manager Microsoft
    El Administrador de tareas tiene columnas que muestran el uso de GPU por proceso y a qué GPU y motor corresponde ese valor

Ver también

Misma capa: L2 SO y dispositivo del cliente

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

Ver la ficha interactiva con gráficos y simulaciones