Cómo funciona
- El juego habilita los estados de energía dinámicos de la GPU.
- La GPU calcula estadísticas de fotogramas normalizadas y las almacena como datos históricos.
- La GPU cambia automáticamente de estado de energía según la demanda actual y el historial, ahorrando energía.
Los juegos pueden reducir aún más el consumo de energía adoptando el resto del XBOX Sustainability Toolkit.
Casos prácticos
Call of Duty: Black Ops 6
Rulon Raymond, director sénior de tecnología de Call of Duty:Pasamos unos días experimentando con DPS y los resultados fueron prometedores. En concreto, pudimos ver un ahorro de energía adicional del 10–15% en áreas más allá de las que introdujimos con el XBOX Sustainability Toolkit. Ya estábamos reduciendo la actividad de partes del motor del juego (por ejemplo, en los menús o las pantallas de la interfaz inicial), sin cambios en la velocidad de fotogramas de los jugadores, lo que nos ahorraba mucha energía, pero DPS nos permitió obtener ahorros adicionales sin esfuerzo.En el momento del lanzamiento, el plan del equipo de Black Ops 6 era:
- Habilitar DPS en todas las áreas donde ya se aplicaban medidas de ahorro de energía.
- Exponer una marca para habilitar DPS en todo momento, desactivada de forma predeterminada, mientras continúan las pruebas de rendimiento de varios días.
Two Point Museum
Ben Hymers, director técnico y cofundador de Two Point Studios, publicó DPS mediante una configuración en la nube administrada por el equipo de XBOX, sin cambios en el código:Probamos los estados de energía dinámicos junto con el modo Constrained+ para maximizar la eficiencia energética. Juntas, estas características redujeron el consumo de energía en aproximadamente un 50–58% en el menú principal y recortaron el uso de energía durante el modo restringido en un 39–63%. Desde el lanzamiento, hemos observado una disminución notable en el consumo medio de energía sin degradar la fidelidad del juego. Por ejemplo, el consumo de energía en XBOX Series X ha disminuido de una media de 135 W a 125 W. En toda nuestra base de jugadores, esto se traduce en un ahorro anual de energía de ~6,5 megavatios-hora, equivalente a ver la televisión sin parar durante 65 000 horas, o casi 7,5 años seguidos.Two Point Museum fue el primer estudio de terceros en adoptar DPS de forma remota mediante configuración en la nube.
Probar DPS sin cambiar el código (solo desarrollo)
Puede habilitar DPS globalmente en un kit de desarrollo sin recompilar el título:1
Actualice el kit de desarrollo
Asegúrese de que el kit de desarrollo tenga instalada al menos la recuperación de agosto de 2024.
2
Cree el archivo de marca
Cree un archivo vacío llamado
DynamicPowerEnable en su PC.3
Cópielo a la unidad D: de la consola
4
Inicie el juego y genere perfiles
Inicie el juego. DPS ya está activo.
5
Deshabilite DPS al terminar
Observar DPS en tiempo real
Habilite la Title Performance Overlay mediante PIX o la configuración de la consola en XBOX Manager.- Si DPS está habilitado, la superposición incluye una línea roja y una métrica de estado de energía de la GPU (0–4) en la parte inferior derecha. 4 significa velocidad completa; un valor inferior significa que se está ahorrando energía.
- Si DPS está deshabilitado, el estado de energía de la GPU muestra
N/A.
Habilitar DPS en su juego (versión comercial)
Use la API existenteSetDriverHintX() en el dispositivo de gráficos.
API
Habilitar DPS
Deshabilitar DPS
Detectar DPS en tiempo de ejecución con estadísticas de fotogramas
Los juegos pueden consultar las estadísticas de fotogramas para tomar decisiones de representación (resolución dinámica, etc.) en función del comportamiento de DPS.GetFrameStatisticsX
Hay disponible un nuevo tipo de estadísticas de fotogramas:D3D12XBOX_RENDER_STATISTICS devuelve GPUBusyDuration:
GPUBusyDuration está normalizado: supone que el reloj de la GPU está en P4 y es invariable con respecto al estado de energía actual. Las estadísticas de fotogramas de escalado de energía sí están sujetas a los cambios de estado de energía y diferirán de GPUBusyDuration.
Ejemplo
Una carga de trabajo de la GPU que tarda 8 ms en P4 se extiende a 12 ms en P2 (reloj más bajo):El valor normalizado
GPUBusyDuration se conserva porque los motores de juego lo usan para los cálculos de resolución dinámica. Separar las mediciones normalizadas y escaladas evita bucles de retroalimentación en los que un estado de energía inferior hace que la resolución dinámica siga bajando hasta alcanzar el mínimo.