Como funciona
- O jogo habilita os estados de energia dinâmicos da GPU.
- A GPU calcula estatísticas de quadro normalizadas e as armazena como dados históricos.
- A GPU altera automaticamente os estados de energia com base na demanda atual e no histórico, economizando energia.
Os jogos podem reduzir ainda mais o consumo de energia adotando o restante do XBOX Sustainability Toolkit.
Estudos de caso
Call of Duty: Black Ops 6
Rulon Raymond, Diretor Sênior de Tecnologia de Call of Duty:Passamos alguns dias experimentando o DPS e os resultados foram promissores. Especificamente, pudemos ver uma economia adicional de energia de 10% a 15% em áreas além daquelas que introduzimos usando o XBOX Sustainability Toolkit. Já estávamos reduzindo partes do mecanismo do jogo (por exemplo, em menus ou telas iniciais), sem alteração nas taxas de quadros dos jogadores, o que nos economizou muita energia, mas o DPS nos permitiu obter economias adicionais sem esforço.No lançamento, o plano da equipe de Black Ops 6 era:
- Habilitar o DPS em todas as áreas onde medidas de economia de energia já estavam aplicadas.
- Expor um sinalizador para habilitar o DPS o tempo todo, desativado por padrão, enquanto os testes de desempenho de vários dias continuam.
Two Point Museum
Ben Hymers, Diretor Técnico e cofundador da Two Point Studios, lançou o DPS por meio de uma configuração na nuvem gerenciada pela equipe do XBOX, sem alteração de código:Testamos os Dynamic Power States junto com o modo Constrained+ para maximizar a eficiência energética. Juntos, esses recursos reduziram o consumo de energia em aproximadamente 50–58% no menu principal e cortaram o uso de energia durante o modo restrito em 39–63%. Desde a implantação, observamos uma redução notável no consumo médio de energia sem degradar a fidelidade da jogabilidade. Por exemplo, o consumo de energia do XBOX Series X diminuiu de uma média de 135 W para 125 W. Em toda a nossa base de jogadores, isso se traduz em uma economia anual de energia de ~6,5 megawatts-hora, equivalente a assistir TV sem parar por 65.000 horas, ou quase 7,5 anos seguidos.Two Point Museum foi o primeiro estúdio terceirizado a adotar o DPS remotamente por meio de configuração na nuvem.
Testar o DPS sem alterar o código (somente desenvolvimento)
Você pode habilitar o DPS globalmente em um devkit sem recompilar seu título:1
Atualize seu devkit
Verifique se o seu devkit tem pelo menos a August 2024 Recovery instalada.
2
Crie o arquivo de sinalizador
Crie um arquivo vazio chamado
DynamicPowerEnable no seu PC.3
Copie-o para a unidade D: do console
4
Inicie e crie o perfil
Inicie seu jogo. O DPS agora está ativo.
5
Desabilite o DPS quando terminar
Observar o DPS em tempo real
Habilite a Title Performance Overlay por meio do PIX ou das configurações do console no XBOX Manager.- Se o DPS estiver habilitado, a sobreposição inclui uma linha vermelha e uma métrica de GPU power state (0–4) no canto inferior direito. 4 significa velocidade máxima; valores menores significam economia de energia.
- Se o DPS estiver desabilitado, o estado de energia da GPU mostra
N/A.
Habilitar o DPS no seu jogo (varejo)
Use a APISetDriverHintX() existente no dispositivo gráfico.
API
Habilitar o DPS
Desabilitar o DPS
Detectar o DPS em tempo de execução com estatísticas de quadro
Os jogos podem consultar estatísticas de quadro para tomar decisões de renderização (resolução dinâmica etc.) com base no comportamento do DPS.GetFrameStatisticsX
Um novo tipo de estatística de quadro está disponível:D3D12XBOX_RENDER_STATISTICS existente retorna GPUBusyDuration:
GPUBusyDuration é normalizado: ele pressupõe que o clock da GPU está em P4 e é invariável em relação ao estado de energia atual. As estatísticas de quadro de dimensionamento de energia estão sujeitas a alterações de estado de energia e serão diferentes de GPUBusyDuration.
Exemplo
Uma carga de trabalho de GPU que leva 8 ms em P4 se estende para 12 ms em P2 (clock mais baixo):O
GPUBusyDuration normalizado é preservado porque os mecanismos de jogo o usam para cálculos de resolução dinâmica. Separar as medições normalizadas e dimensionadas evita loops de feedback em que um estado de energia mais baixo faz com que a resolução dinâmica continue caindo até atingir a mais baixa.