Pular para o conteúdo principal
Este tópico descreve como o hardware de vídeo do XBOX Series X|S oferece oportunidades para aprimorar a qualidade visual e o desempenho de GPU de um jogo. Saiba como economizar tempo de processamento e memória da GPU:
  • Descarregando parte do processamento de High Dynamic Range (HDR) para o hardware de vídeo.
  • Implementando oportunidades de taxa de quadros com telas de 120 Hertz (Hz).
  • Usando recursos como Dolby Vision e Auto HDR.
Estas informações eram atuais em abril de 2022. Vários recursos podem ter sido alterados ou atualizados desde então.
O XBOX tem muitos componentes de hardware, incluindo a CPU e a GPU. No entanto, como o hardware de vídeo é novo no XBOX Series X|S, esse hardware costuma ser ignorado. Ele é um bloco de hardware separado no console. O driver de vídeo controla e programa o hardware de vídeo. Ele é responsável por processar a imagem renderizada final do jogo, transformando-a em dados que são transmitidos pelo cabo HDMI para uma tela. O hardware de vídeo do XBOX Series X|S tem partes programáveis. Por exemplo, tabelas de pesquisa (LUTs) 1D e 3D e operações matemáticas como dimensionamento, multiplicações de matrizes e interpolações. Isso o torna muito mais capaz de mostrar detalhes de imagem do que o hardware de vídeo do XBOX One. Use essa programabilidade para opções avançadas, como implementar o Auto HDR no hardware de vídeo.

Descarregar o trabalho da GPU para o hardware de vídeo

Esta seção descreve como mover parte do processamento da GPU para o hardware de vídeo.

Renderização de cenas HDR

A maioria dos jogos renderiza valores HDR em seus buffers de fundo intermediários usando formatos de destino de renderização de alta precisão. Alguns jogos de PC usam formatos de 64 bits por pixel (bpp) ou 128 bpp. Nos consoles, ao renderizar cenas HDR, recomendamos minimizar o uso de destinos de renderização de 64 bpp e 128 bpp. Em vez disso, recomendamos que você use 32 bpp ou menos pelos motivos a seguir.
  • Você obterá exportação de cor com taxa dupla com o render backend plus (RB+) quando a mesclagem alfa estiver desabilitada.
  • Menor pressão de memória, largura de banda e cache.
  • Isso é particularmente importante no XBOX Series S.
Outra otimização é substituir o popular formato de destino de renderização R11G11B10 por R9G9B9E5_SHAREDEXP. Ele tem as seguintes vantagens.
  • Maior precisão de cor, exceto para azuis muito brilhantes
  • Leituras, gravações e mesclagens com taxa total
​Para obter um exemplo de R9G9B9E5_SHAREDEXP, confira o exemplo HDRPrecision nos exemplos de console do Microsoft Game Development Kit (GDK). Esse exemplo alterna vários formatos no formato de destino de renderização ou no formato da cadeia de troca. Ele mostra os benefícios de desempenho de GPU e precisão de cor quando várias combinações de formatos de destino de renderização são usadas. Figura 1. Visualização exagerada de faixas de valores lineares. Visualização exagerada de faixas de valores lineares A Figura 1 compara a precisão de cor de R11G11B10 com a precisão de cor de R9G9B9E5, conforme mostrado em uma captura do PIX. A imagem R11G11B10 na parte superior mostra artefatos de faixas. A imagem R9G9B9E5 abaixo dela não mostra, indicando que o formato R9G9B9E5 tem melhor precisão de cor do que o formato R11G11B10.

Buffers da cadeia de troca

Um dos padrões HDR com suporte no XBOX é o HDR10. Ele exige que os consoles enviem imagens para telas HDR10 usando o espaço de cores Rec.2020 e a curva gama ST.2084. O hardware de vídeo pode fazer conversões de cor e aplicar curvas gama, melhorando o desempenho. Com conversões de espaço de cores, há duas opções.
  • Processar a conversão na GPU
  • Processar a conversão no hardware de vídeo.

Conversões de espaço de cores: opção 1

Os títulos podem usar a computação da GPU para fazer conversões de espaço de cores em uma passagem de renderização de pós-processamento. Figura 2. Conversões de espaço de cores usando a computação da GPU. Conversões de espaço de cores usando a computação da GPU A Figura 2 mostra a sequência de conversão de espaço de cores usando a computação da GPU.
  1. O título renderiza a cena em Rec.709.
  2. O sombreador converte Rec.709 em Rec.2020 na GPU.
  3. Os valores de cor da cadeia de troca são Rec.2020.
  4. O hardware de vídeo passa os valores para a tela.
Nessa sequência, você deve usar o sinalizador Present DXGI_COLOR_SPACE_RGB_FULL_*_NONE_P2020. Ele indica ao driver que sua cadeia de troca tem valores do espaço de cores Rec.2020.

Conversões de espaço de cores: opção 2

A conversão de espaço de cores também pode ser feita pelo hardware de vídeo.
  • Os valores da cadeia de troca são Rec.709 ou P3-D65.
  • Present usa um dos seguintes sinalizadores.
    • DXGI_COLOR_SPACE_RGB_FULL_*_NONE_P709.
    • DXGI_COLOR_SPACE_RGB_FULL_*_NONE_D65P3.
Figura 3. Conversões de espaço de cores usando o hardware de vídeo. Conversões de espaço de cores usando o hardware de vídeo A Figura 3 mostra a sequência de conversão de espaço de cores usando o hardware de vídeo do console. Ela evita o uso da GPU.
  1. O título renderiza a cena em Rec.709 ou P3-D65.
  2. O processamento não é feito na GPU. A cadeia de troca tem valores no espaço de cores Rec.709 ou no espaço de cores P3-D65.
  3. O hardware de vídeo converte o espaço de cores para o espaço de cores Rec.2020 exigido pela tela.
  4. Present usa um dos seguintes sinalizadores.
  • DXGI_COLOR_SPACE_RGB_FULL_*_NONE_P709
  • DXGI_COLOR_SPACE_RGB_FULL_*_NONE_D65P3
Além de um benefício de desempenho, essa opção também resulta em maior precisão de cor do que as conversões na GPU. Os bits são totalmente usados e não são desperdiçados em valores fora do espaço de cores de trabalho.

Exemplo: renderizar uma maçã vermelha em Rec.709

Figura 4. Exemplo: renderizar uma maçã vermelha em Rec.709. Exemplo: renderizar uma maçã vermelha em Rec.709 A Figura 4 mostra um exemplo de uma maçã vermelha que usa um buffer de troca. No espaço de cores Rec.709, o vermelho mais vermelho é representado pelos valores (1.0, 0.0, 0.0). O jogo nunca renderiza uma cor vermelha mais vermelha do que esse vermelho. A Figura 4 representa os 10 bits do canal vermelho no buffer de troca. Todos os 10 bits são usados para Rec.709. O mesmo vermelho também pode ser representado no espaço de cores Rec.2020, maior, usando os valores (0.63, 0.007, 0.016). Observe que os valores numéricos são diferentes dos valores de Rec.709, mas a cor é a mesma. Apenas o espaço de cores é diferente. A linha superior da figura 4 mostra uma cadeia de troca Rec.709. A linha inferior mostra uma cadeia de troca Rec.2020. Observe que o vermelho mais vermelho do jogo agora está na cadeia de troca Rec.2020. Em outras palavras, nem todos os 10 bits da cadeia de troca são usados para o vermelho mais vermelho que o jogo renderiza. Alguns bits são usados para representar valores de vermelho mais vermelhos do que o vermelho mais vermelho que o jogo pode renderizar. Como resultado, bits são desperdiçados. Muitas combinações de formatos de cadeia de troca e espaços de cores estão disponíveis. Figura 5. Cadeia de troca R9G9B9E5 com Rec.2020 linear e Rec.709 linear. Cadeia de troca R9G9B9E5 com Rec.2020 linear e Rec.709 linear A Figura 5 mostra duas combinações de cores. A imagem à esquerda usa Rec.2020 linear e mostra artefatos de faixas nos valores de azul. A imagem à direita usa Rec.709. Ela não mostra artefatos de faixas no azul quando comparada com a imagem à esquerda. Recomendamos que você não use uma cadeia de troca R9G9B9E5 com Rec.2020 linear.

Opções de processamento da curva gama

Duas opções de processamento da curva gama estão disponíveis.
  • Processar a curva gama na GPU
  • Processar a curva gama no hardware de vídeo

Processamento da curva gama: opção 1

Figura 6. Processamento da curva gama que usa a computação da GPU. Processamento da curva gama que usa a computação da GPU A Figura 6 mostra a sequência de processamento de curvas gama usando a GPU.
  1. O título renderiza valores lineares.
  2. O título converte os valores lineares em valores gama ST.2084 usando o sombreador.
  3. O buffer da cadeia de troca agora contém valores normalizados não lineares com a curva gama ST.2084.
  4. O hardware de vídeo não faz nada porque a tela usa os valores ST.2084.
  5. Use o formato de destino de renderização R10G10B10A2_UNORM ou o formato de destino de renderização R9G9B9E5_SHAREDEXP para processar curvas gama.
  6. Present usa o sinalizador DXGI_COLOR_SPACE_RGB_FULL_G2084_NONE_*.
O sinalizador Present inclui G2084. Isso indica ao driver do hardware de vídeo que a cadeia de troca contém valores com a curva gama ST.2084 já aplicada. O título faz o processamento na GPU. O hardware de vídeo encaminha os dados.

Processamento da curva gama: opção 2

Figura 7. Processamento da curva gama que usa o hardware de vídeo. Processamento da curva gama que usa o hardware de vídeo A Figura 7 mostra a sequência de processamento de curvas gama usando o hardware de vídeo.
  1. O título renderiza valores lineares.
  2. Os valores da cadeia de troca são normalizados linearmente, com 1.0 representando 10.000 nits.
  3. Você deve usar o formato de destino de renderização R9G9B9E5_SHAREDEXP.
  4. Present usa o sinalizador DXGI_COLOR_SPACE_RGB_FULL_G10_NONE_*.
O processamento é feito no hardware de vídeo, não pelo título na GPU. O sinalizador Present inclui o valor G10, uma abreviação de gama 1.0. Isso indica ao driver do hardware de vídeo que a cadeia de troca contém valores lineares e que a curva gama ST.2084 ainda precisa ser aplicada.

Solução de imagem recomendada

Muitas combinações de formatos em que ocorrem conversões de cor estão disponíveis. A recomendação a seguir oferece imagens brilhantes e coloridas de alta precisão com processamento de GPU reduzido. Figura 8. O título renderiza Rec.709. O título renderiza Rec.709 Na Figura 8, o título renderiza sua cena como Rec.709. Figura 9. Expansão da gama de cores de Rec.709 para P3-D65. Expansão da gama de cores de Rec.709 para P3-D65 A Figura 9 mostra a expansão da gama de cores de Rec.709 para o espaço de cores P3-D65, maior. Isso garante uma imagem mais colorida. Como as instruções do sombreador são fáceis de implementar, recomendamos combiná-las em um sombreador existente em vez de usar um sombreador separado. Um exemplo de código é fornecido no final desta seção. Figura 10. Valores do buffer de troca. Valores do buffer de troca A Figura 10 mostra que a cadeia de troca agora tem valores de cor lineares no espaço de cores P3-D65. Você deve usar o formato R9G9B9E5 e especificar G10 com o sinalizador Present D65P3. Figura 11. Conversão de cor e curva gama no hardware de vídeo. Conversão de cor e curva gama no hardware de vídeo A Figura 11 mostra o hardware de vídeo convertendo o espaço de cores de P3 para Rec.2020 e de P3 linear para ST.2084. A maioria das telas HDR chega perto de exibir o espaço de cores P3 completo. Ele é muito maior do que o espaço de cores Rec.709. No entanto, muitos desenvolvedores masterizam seus títulos usando Rec.709, e as cores da tela não são totalmente utilizadas.

Expansão da gama de cores

A expansão da gama de cores é um processo frequentemente ignorado. No entanto, ela é barata, fácil de implementar e aprimora os gráficos do seu título. Figura 12. Exemplos de imagens. Exemplos de imagens Na figura 12, a imagem à esquerda mostra um semáforo. A luz vermelha é brilhante, mas é um laranja difuso em vez de vermelho. As duas imagens seguintes simulam a diferença entre o Rec.709 e um espaço de cores mais amplo. A imagem Rec.709 no centro mostra um céu azul, mas dessaturado. Na imagem à direita, o espaço de cores P3, maior, ainda tem um céu azul, mas mantém a cor azul. Essa comparação ilustra como um espaço de cores maior pode manter uma saturação de cor melhor. Isso ocorre porque o volume de cores do Rec.709 é pequeno. O volume fica menor à medida que as cores ficam mais brilhantes. Isso leva a cores brilhantes dessaturadas. Figura 13. Volume de cores e saturação. Volume de cores e saturação A Figura 13 mostra que, quando o volume de cores é menor, os valores de cores brilhantes ficam dessaturados. Usando Rec.709, as cores não podem ser ao mesmo tempo brilhantes e coloridas. Além disso, as cores podem ser brilhantes e dessaturadas ou coloridas, mas escuras. O código para converter Rec.709 em P3 é simples. É uma manipulação de matriz e uma interpolação linear. O código a seguir foi extraído do exemplo SimpleHDR.
Esse código expande o espaço de cores. A maior parte da imagem permanece no espaço de cores Rec.709, mas as cores brilhantes são expandidas. Isso reduz a dessaturação de cores. Por exemplo, cores naturais, como o tom de pele, não mudam. À medida que as cores ficam mais brilhantes, elas usam valores de cor no espaço de cores P3. A cena mantém sua saturação de cor em vez de ficar dessaturada.

Mapeamento de tons automático de Standard Dynamic Range

O mapeamento de tons automático de Standard Dynamic Range (SDR) é outra técnica que traz benefícios quando você move o trabalho da GPU para o hardware de vídeo. O mapeamento de tons automático de SDR é um processo em que um título fornece uma imagem HDR e o sistema XBOX cria automaticamente uma imagem SDR a partir dela. As imagens SDR são usadas em situações em tempo real, como Game DVR, transmissão e streaming. O mapeamento de tons automático de SDR tem os seguintes benefícios.
  • Ganhos de desempenho de GPU ao mover o trabalho para o hardware de vídeo
  • Redução de memória e largura de banda
  • Simplificação do código do título
Use esses ganhos de desempenho quando trabalhar com telas de 120 Hz ou com o XBOX Series S. Para obter mais informações, confira o exemplo HDRAutoToneMapping. As duas opções para produzir imagens SDR em tempo real para Game DVR, transmissão e streaming são as seguintes.
  • O título renderiza a imagem SDR em uma segunda cadeia de troca, usando processamento de GPU e memória extra.
  • O título não renderiza uma segunda cadeia de troca. Em vez disso, o hardware de vídeo do XBOX Series X|S gera a imagem sem custo de desempenho de GPU nem de uso de memória.

Economizar tempo e memória usando o hardware de vídeo

Se o seu título renderiza em 4K e você usa buffer triplo, aloque 96 MB de memória extra para a segunda cadeia de troca para renderizar sua imagem SDR com mapeamento de tons. No entanto, se o hardware de vídeo fizer o processamento, nenhuma alocação de memória será necessária. Com a GPU, a economia depende de como o título processa seu mapeador de tons e a gradação de cores. O custo do mapeador de tons é economizado se ele for limitado pela unidade lógica aritmética (ALU). Se o mapeador de tons for limitado pela largura de banda, você poderá usar uma LUT 3D. Isso economiza:
  • 120 microssegundos no XBOX Series X em 4K.
  • 120 microssegundos no XBOX Series S em 1440p.
120 microssegundos podem não parecer muito, mas se você estiver renderizando a 120 FPS, é uma economia de tempo valiosa. Os desenvolvedores dedicam um tempo considerável tentando otimizar o desempenho economizando dezenas de microssegundos. O processamento no hardware de vídeo ajuda a alcançar a otimização do desempenho.

Planos de exibição

Processar planos de exibição no hardware de vídeo, em vez da GPU, resulta em ganhos de desempenho adicionais. Usando o hardware de vídeo, você pode usar várias taxas de atualização, vários espaços de cores e várias resoluções para cada plano de exibição. Por exemplo, você pode renderizar a interface do usuário em 4K e atualizá-la a 30 Hz, enquanto a cena é renderizada em 1440p e atualizada a 60 Hz. Em seguida, o hardware de vídeo dimensiona e compõe os elementos da interface do usuário na imagem final do título. Figura 14. Planos de composição do hardware de vídeo. Planos de composição do hardware de vídeo A Figura 14 mostra o hardware de vídeo compondo dois planos diferentes. A adoção da composição no XBOX One tem sido baixa porque:
  • Ela é feita em espaço gama não linear.
  • Ela não pode ser usada com HDR.
No XBOX Series X|S, a composição:
  • É feita em espaço gama linear.
  • Pode ser usada com HDR se você estiver usando o mapeamento de tons automático.

120 Hz e 60 FPS+

O maior benefício de uma tela de 120 Hz pode ser que os jogadores podem jogar jogos a 120 FPS. No entanto, uma tela de 120 Hz também pode ser usada com outras taxas de quadros.

Largura de banda HDMI

Resoluções mais altas, taxas de atualização mais altas e HDR exigem maior largura de banda HDMI. Uma largura de banda maior impõe restrições sobre o que o console pode enviar para a tela. As especificações HDMI definem a largura de banda máxima que pode ser transmitida entre dispositivos HDMI.

HDMI 2.1

  • 48 Gbps é largura de banda suficiente para enviar 4K HDR e 120 Hz ao mesmo tempo.
  • Algumas telas oferecem suporte a HDMI 2.1 em apenas uma porta e HDMI 2.0 nas outras portas.

HDMI 2.0

  • 18 Gbps não é largura de banda suficiente para enviar 4K HDR e 120 Hz ao mesmo tempo.
  • As configurações de vídeo do console disponíveis são 1080p a 120 Hz ou 1440p a 120 Hz.
Nos casos em que a tela não consegue processar 4K HDR e 120 Hz ao mesmo tempo, especifique uma preferência de modo na API. Por exemplo, preferir uma taxa de atualização de 120 Hz para o modo multijogador e HDR para o modo de um jogador. Isso é mostrado no exemplo de código a seguir.
Você pode alternar seu modo de preferência enquanto o jogo é renderizado. Ao alternar modos em tempo de execução, você deve chamar as seguintes APIs na ordem correta.
  1. XDisplayTryEnableHdrMode
  2. GetDisplayModeListX
  3. SetFrameIntervalX
  4. ScheduleFrameEventX
Para obter mais informações, confira o exemplo Simple120Hz. Recomendamos que você desenvolva ou teste seu jogo considerando a complexidade do HDMI 2.0. Se a sua tela oferecer suporte a HDMI 2.1, use o XBOX Manager ou o xbconfig para emular as limitações de largura de banda do HDMI 2.0. Figura 15. Emulando a limitação de largura de banda do HDMI 2.0 no XBOX Manager. Emulando a limitação de largura de banda do HDMI 2.0 no XBOX Manager A Figura 15 mostra as configurações de vídeo no XBOX Manager. Para testar a complexidade do HDMI 2.0, altere a configuração Display connection de Auto para HDMI2. Certifique-se de alterar a configuração de volta para Auto quando terminar os testes.

Modo 60FPS Plus

Uma tela de 120 Hz permite que você faça mais do que renderizar a 120 FPS. Agora há um modo 60FPS Plus (60FPS+). Nesse modo, o título é renderizado com VSync bloqueado a 60 Hz. No entanto, ele pode ser executado sem bloqueio em taxas de quadros mais rápidas que 60 FPS (por exemplo, a 90 FPS) sem rasgos de tela nem travamentos de quadros. Esse modo exige que a tela ofereça suporte a 120 Hz e à taxa de atualização variável (VRR). Caso contrário, o título é sincronizado automaticamente a 60 Hz. A VRR é usada para exibir quadros de forma suave. Não use o modo 60 FPS+ se o objetivo for 120 FPS. Em vez disso, use D3D12XBOX_FRAME_INTERVAL_120_HZ sem o sinalizador do modo 60FPS+. Isso é mostrado no exemplo de código a seguir.
Para obter mais informações, confira os exemplos Simple120Hz e Responsiveness.

Modos de renderização de 24 Hz e 40 Hz

A seguir, são descritos os modos de renderização de 24 FPS e 40 FPS com telas de 120 Hz. 24 Hz
  • O sistema apresenta cinco quadros de 120 Hz.
  • Esses quadros são úteis para cinemáticas em tempo real.
  • 24 FPS fornece 8,33 ms de tempo extra de GPU em comparação com 30 FPS. Isso pode ser usado para melhorar a qualidade visual.
40 Hz
  • O sistema apresenta três quadros de 120 Hz.
  • Se o título não conseguir chegar a 60 FPS, 40 FPS é uma boa opção.
  • 40 FPS fornece 8,33 ms extras de tempo de GPU em comparação com 60 FPS.
Verifique o suporte da tela usando DisplayModeList.

Suspender/retomar

Um jogador pode suspender seu título a qualquer momento para alternar para outro jogo ou aplicativo, ou fazer algo na Página Inicial do XBOX, como definir as Configurações do console. As seguintes condições podem fazer com que os modos de exibição mudem enquanto o jogo está em modo suspenso ou restrito.
  • As Configurações do console são alternadas entre 60 Hz e 120 Hz
  • O HDR é ativado ou desativado nas Configurações do console
  • A tela é alterada
  • Um cabo HDMI é trocado
  • Um receptor de áudio/vídeo é adicionado ou removido
Um jogo deve processar os estados de suspensão/retomada e restrito/irrestrito usando o seguinte:
  • RegisterAppStateChangeNotification
  • RegisterAppConstrainedChangeNotification
Processe esses casos em que pode haver alterações no modo de exibição. Para isso, implemente as quatro APIs do exemplo de código a seguir em seu código de estado irrestrito ou de retomada. O exemplo de código a seguir é do exemplo Simple120Hz.
Essas quatro APIs relacionadas à exibição devem ser chamadas na ordem correta ao retomar o jogo ou removê-lo do estado restrito.

Calibração de jogos HDR

O aplicativo de calibração de jogos HDR mostra padrões de teste para determinar a luminância mínima e máxima do mapeamento de tons da tela. Isso permite que o jogador calibre o console uma vez, e não para cada jogo. Os valores de calibração são armazenados no sistema, por console. Esses valores são usados no sombreador do mapeador de exibição do título. A calibração de jogos HDR tem suporte no XBOX One e no XBOX Series X|S. Figura 16. Calibração de jogos HDR. Calibração de jogos HDR A Figura 16 mostra a configuração para iniciar o aplicativo de calibração de jogos HDR. Figura 17. Padrões de teste de calibração. Padrões de teste de calibração A Figura 17 mostra os três padrões de teste de luminância de calibração. Eles se baseiam nas recomendações do HDR Gaming Interest Group (HGiG). Eles determinam os detalhes mais escuros e mais brilhantes que podem ser vistos na tela. A Figura 17 mostra onde o teste de calibração encontra o valor em que os detalhes brilhantes começam a ser cortados. Para recuperar os valores de calibração, use o exemplo de código a seguir.

Valores de calibração: opção 1

Não implemente suas próprias telas de calibração. Use os valores da API.
  • Não implemente a tela de calibração do título.
  • Use os valores de calibração da API no sombreador do mapeador de exibição do título.
  • Recomendamos adicionar uma opção de menu do título para o aplicativo de calibração usando o seguinte código de link profundo. #include <XLauncher.h> XLaunchUri(nullptr, "hdrgamecalibration://");

Valores de calibração: opção 2

Para implementar uma tela de calibração do título, faça o seguinte.
  1. Contraste: faça um ajuste simples, como pow(x, displayGamma).
  2. Brilho: faça um ajuste de brilho de branco do papel.
  3. Brilho máximo: determine o ponto de corte de brilho máximo.
Use os valores de calibração da API como valores padrão.
  • Se o jogador não usar a calibração do título, o jogo ainda usará os valores padrão corretos.
  • Se o jogador usar a calibração do título, os valores iniciais já estarão corretos.
Figura 18. Valores de calibração: exemplo da opção 2. Valores de calibração: exemplo da opção 2 A Figura 18 mostra uma cena que usa a opção 2. Para obter mais informações, confira o exemplo HDRCalibration. Figura 19. Tela de calibração HDR do Gears 5. Tela de calibração HDR do Gears 5 A Figura 19 mostra a tela de calibração HDR do Gears 5. Ela não usa um padrão de teste objetivo. A tela mostra como a imagem do jogo é afetada quando os valores de calibração são alterados. Dessa forma, o jogador pode ver o efeito do HDR em detalhes escuros, tons médios e detalhes de brilho. O jogador pode alternar para o jogo renderizado real.

Dolby Vision para jogos

O suporte ao Dolby Vision para aplicativos de mídia, como a Netflix, está disponível desde o lançamento do XBOX One S. O suporte ao Dolby Vision para jogos foi adicionado em meados de 2021, mas apenas no XBOX Series X|S. Benefícios do Dolby Vision:
  • Simplifica a criação de conteúdo.
  • A intenção artística é preservada em todas as telas Dolby Vision.
  • O jogador vivencia o jogo como você o masterizou durante o desenvolvimento.
  • A calibração HDR não é necessária, portanto o aplicativo de calibração de jogos HDR não é relevante.

Dolby Vision: opção 1 (Dolby Vision nativo)

  • O título implementa o Dolby Vision nativo como middleware usando o Software Implementation Development Kit (SIDK) da Dolby.
  • O mapeamento de exibição estático e o mapeamento de exibição dinâmico têm suporte.
  • O Native Dolby Display Vision inclui mapeadores de tons para HDR10 e SDR.
  • O custo de GPU varia de acordo com a opção selecionada.
Figura 20. Opção 1: Dolby Vision nativo. Opção 1: Dolby Vision nativo A Figura 20 mostra o processo do Dolby Vision nativo.

Dolby Vision: opção 2 (Dolby Vision automático)

  • O sistema XBOX converte automaticamente HDR10 em Dolby Vision.
  • O sistema aplica o mapeador de exibição estático da Dolby.
  • A saída do título é HDR10.
  • O título não detecta o Dolby Vision.
  • Os títulos podem recusar o Dolby Vision.
  • Não há custo de GPU. Tudo é feito usando o hardware de vídeo.
Certifique-se de que o Dolby Vision esteja habilitado nas configurações de vídeo do console. Você pode usar a opção 4K TV details para verificar se a tela conectada oferece suporte ao Dolby Vision. Figura 21. Configurações de vídeo do console. Opção 2: configurações de vídeo do console Figura 22. Opção 2: detalhes da TV 4K (tela) nas configurações de vídeo do console. Opção 2: detalhes da TV 4K nas configurações de vídeo do console As Figuras 21 e 22 mostram as configurações General TV and display options para jogar no XBOX.

Auto HDR

O recurso Auto HDR adiciona automaticamente HDR a títulos SDR no nível do sistema. Esse recurso geralmente é aplicado a títulos com compatibilidade retroativa. No entanto, ele também está disponível para títulos do GDK. Como o Auto HDR é processado pelo hardware de vídeo, não há custo adicional de CPU, GPU, memória, largura de banda ou latência. O Auto HDR não altera a intenção artística original da imagem SDR. O Auto HDR tem os seguintes benefícios.
  • Adiciona até 1.000 nits de alcance extra de brilho.
  • Adiciona alcance extra de cores até o espaço de cores P3-D65.
Recomendamos que você implemente o HDR nativo. Se não for possível, o Auto HDR é ótimo para obter uma melhoria visual fácil em relação ao SDR. O Auto HDR otimiza os valores de calibração HDR para a tela conectada.

Exemplo de imagens HDR simuladas

Imagens HDR não podem ser mostradas aqui, mas a figura 23 simula o efeito em uma tela SDR. Figura 23. Exemplo de imagens HDR simuladas. Exemplo de imagens HDR simuladas A Figura 23 mostra a imagem SDR à esquerda. A imagem simulada com Auto HDR está à direita. Observe como a aparência geral da imagem nas duas exibições permanece a mesma. O objetivo de usar o Auto HDR é aprimorar a qualidade visual da imagem, não alterar sua intenção artística. Na imagem SDR à esquerda, os pixels mais brilhantes estão em torno dos reflexos brilhantes na superfície da água. Como é SDR, esses pixels são brancos, não brilhantes. Na imagem à direita, aprimorada pelo Auto HDR, os realces brilhantes da luz refletida na superfície da água chegam a 1.000 nits de brilho. Os realces não são apenas mais brilhantes, mas também mais detalhados. A luz circular azul-clara sob a jangada é mais colorida porque está no espaço de cores P3. Figura 24. Mapa de calor. Mapa de calor A Figura 24 mostra um mapa de calor que indica onde estão os aprimoramentos do Auto HDR na cena. As cores mais brilhantes que o intervalo SDR são indicadas por valores brilhantes de Auto HDR em amarelo e laranja. O mapa de calor fornece uma visualização de como a imagem é aprimorada, e não alterada, quando apropriado.

Auto HDR e títulos do GDK

Para habilitar o Auto HDR, faça o seguinte, conforme mostrado no exemplo de código.
  1. Alterne a tela para o modo HDR.
  2. Adicione o sinalizador de habilitação do Auto HDR durante a criação do dispositivo Direct3D.
Esse código produz os mesmos resultados visuais que o Auto HDR com compatibilidade retroativa, mas há algumas pequenas diferenças para os jogadores.
  • O jogador não é informado de que o título usa Auto HDR.
  • Não há um indicador de Auto HDR no Painel do XBOX.
  • Alternar para o Auto HDR nas Configurações do console não tem efeito sobre o Auto HDR de um título do GDK.

Recomendações do Auto HDR

Use um formato de buffer de troca de alta precisão.
  • Use R9G9B9E5 ou R10G10B10A2.
  • R9G9B9E5 é o melhor porque oferece a maior precisão de cor.
  • Evite usar R8G8B8A8 porque ele pode introduzir faixas.
Evite usar heads-up displays (HUDs) e elementos de interface do usuário em branco puro.
  • Pixels em branco puro resultam em 1.000 nits. Eles são brilhantes demais para o HUD ou a interface do usuário.
  • Use uma escala de brilho linear para escurecer o HUD ou a interface do usuário quando estiver em HDR.
Reduza a intensidade do bloom.
  • Detalhes em áreas brilhantes ficam melhores do que grandes manchas brilhantes com poucos detalhes.
Para obter mais informações, confira o exemplo AutoHDR.

Vídeos de demonstração do Auto HDR

Gears of War Ultimate: Prey: Esses vídeos de demonstração lado a lado são de jogos com compatibilidade retroativa que usam Auto HDR. As demonstrações são mais bem visualizadas em uma tela HDR.

Resumo

Descarregue o trabalho da GPU.
  • Conversões de espaço de cores
  • Curvas gama
  • Mapeamento de tons automático de SDR
  • Planos de exibição
Use recursos avançados.
  • Dolby Vision
  • Auto HDR
120 Hz permite 24/40/60 FPS+. Use os valores de calibração de jogos HDR.

Exemplos relacionados a este tópico

  • AutoHDR
  • HDRAutoToneMapping
  • HDRCalibration
  • HDRDisplayMapping
  • HDRPrecision
  • ResponsivenessSample
  • Simple120Hz
  • SimpleHDR
Para obter mais informações, confira estes exemplos na página de exemplos de console do GDK. Para obter instruções de download, confira Baixar os exemplos de console do Microsoft Game Development Kit mencionados neste tópico.

Próximas etapas

Se quiser revisar informações dos materiais de apresentação relacionados a esta visão geral, baixe os seguintes arquivos do XBOX Developer Download Secure Data Storage (SDS).
  • Apresentação de slides: Harnessing the power of the XBOX Series X|S HDR and display hardware.pptx em Xfest 2022 Graphics Track PowerPoints (Xfest2022GfxPPTs.ZIP)
  • Apresentação em vídeo: GR02.mp4 em Xfest 2022 Graphics Track Videos (Xfest2022GfxVids.ZIP)

Baixar as apresentações e os vídeos do Microsoft PowerPoint

  1. Acesse Downloads do Game Development Kit (GDK).
  2. Em Select file type, selecione Conference Materials e, em seguida, selecione Confirm.
  3. Em Select build/version number, escolha uma das seguintes apresentações de gráficos.
    • Xfest 2022 Graphics Track PowerPoints
    • Xfest 2022 Graphics Track Videos
  4. Selecione Download Now e aguarde a conclusão do download do arquivo .zip.
  5. Acesse sua pasta Downloads local e descompacte (extraia) os arquivos da pasta compactada.

Baixar os exemplos de console do Microsoft Game Development Kit mencionados neste tópico

  1. Acesse Downloads do Game Development Kit (GDK).
  2. Em Select file type, selecione GDK e, em seguida, selecione Confirm.
  3. Em Select build/version number, escolha a opção Microsoft GDKX (Sample only) mais recente.
  4. Selecione Download Now e aguarde a conclusão do download do arquivo .zip.
  5. Acesse sua pasta Downloads local e descompacte (extraia) os arquivos da pasta compactada.
  6. Selecione GDKSamples > Graphics e procure o exemplo.

Confira também

Saída de High Dynamic Range (HDR) XDisplayTryEnableHdrMode Suporte a 120 Hz Dolby Vision para jogos no XBOX Gen9
Última modificação em 8 de outubro de 2026