Skip to main content

Atualizar seu título do XBOX One Software Development Kit nos consoles XBOX Series

Este tópico descreve como um título do XBOX One Software Development Kit pode detectar que está sendo executado no XBOX Series X|S. O título pode então usar essas informações para oferecer uma experiência aprimorada enquanto continua operando no modo de compatibilidade com versões anteriores. Títulos do XBOX One Software Development Kit podem fazer uma atualização de conteúdo do jogo do XBOX One para aproveitar aproximadamente 80% da potência dos novos consoles XBOX sem precisar, por exemplo, migrar para o Microsoft Game Development Kit (GDK) ou para o novo compilador de sombreadores. Títulos do XBOX One Software Development Kit não podem acessar novos recursos da plataforma, como o DirectX 12 Ultimate. Este tópico descreve como você pode detectar que está sendo executado nos consoles XBOX Series e descreve as limitações dos títulos do XBOX One Software Development Kit executados no modo de compatibilidade com versões anteriores em comparação com um título nativo do XBOX Series X|S criado com o Microsoft Game Development Kit (GDK). Este tópico também explica como os desenvolvedores podem habilitar experiências adicionais quando estão sendo executados nos consoles XBOX Series. Esses recursos incluem Quick Resume, AutoHdr, AnisoBoost e VsyncMode. Este tópico não se aplica a títulos que já estão no Microsoft Game Development Kit (GDK). Exigimos que os títulos do Microsoft Game Development Kit (GDK) para XBOX One lançados antes do Microsoft Game Development Kit (GDK) 2020.06 (o primeiro Microsoft Game Development Kit (GDK) aprovado para os consoles XBOX Series) sejam atualizados para o Microsoft Game Development Kit (GDK) 2020.06 ou posterior.

Introdução

A partir da recuperação 2020.06, os títulos do XBOX One Software Development Kit podem detectar se estão sendo executados no XBOX Series X ou no XBOX Series S por meio de uma API oficial. Isso requer apenas atualizações simples no código do título e no arquivo AppxManifest, além do empacotamento usando um instalador de ferramentas 2018.07 QFE. Embora não haja um requisito específico para atualizar o XBOX One Software Development Kit com o qual você originalmente lançou o título para aproveitar os novos recursos, alocar mais de 5 GB de RAM exige que seu título seja compilado com o XBOX One Software Development Kit 2017.06 ou posterior. Títulos do XBOX One Software Development Kit podem ser implantados em um XBOX Series X Dev Kit das maneiras usuais, com o kit configurado no modo “XBOX Series X” ou “Lockhart”. A implantação por push do título no SSD NVMe de varejo é fundamental para os testes. A unidade mais rápida pode sobrecarregar a CPU com trabalho de descompactação, causando travamentos de quadros que não ocorrem nos consoles XBOX One. Você ou sua editora devem testar minuciosamente a atualização do título em um XBOX Series X Dev Kit executado nos modos XBOX Series X e Lockhart e em consoles XBOX One. A equipe de compatibilidade com versões anteriores do XBOX não testará atualizações de conteúdo que usam o modo “compatível com XBOX Series X|S”, que é criado quando algumas configurações são adicionadas ao arquivo AppxManifest em títulos do XBOX One Software Development Kit. A 2018.07 é a versão final do XBOX One Software Development Kit. Não há planos para recursos adicionais. O suporte agora está limitado apenas a correções de bugs críticos que não têm solução alternativa. Recomendamos fortemente que você migre para o Microsoft Game Development Kit (GDK) para títulos futuros.

Marketing

Uma atualização de conteúdo para um título do XBOX One Software Development Kit não pode usar toda a potência ou o conjunto de recursos dos novos consoles XBOX Series. Embora um título do XBOX One Software Development Kit que aproveite essas opções seja elegível para marketing e promoção relacionados a aprimoramentos, ele não se qualificará para nenhuma identidade visual específica aplicável a atualizações de conteúdo nativas do XBOX Series X|S criadas com o Microsoft Game Development Kit (GDK).

Recomendações

Recomendamos fortemente que os títulos implementem o Dimensionamento Dinâmico de Resolução (DRS). Ele maximiza a resolução e minimiza a perda de quadros. No entanto, você deve tomar cuidado para garantir que não esteja sendo restringido incorretamente pelos limites de resolução do XBOX One nos novos consoles XBOX Series. Você precisará decidir o que seu título deve fazer com a CPU, a GPU, a memória e a velocidade de E/S adicionais. No entanto, recomendamos oferecer ao jogador as opções a seguir.
  1. Uma opção de “Desempenho” com o dobro da taxa de quadros:
    1. Esteja ciente, no entanto, de que os títulos do XBOX One Software Development Kit executados no XBOX Series X|S só conseguem liberar aproximadamente 80% do desempenho da GPU. Nem todos os componentes de hardware dobraram de desempenho; por exemplo, a largura de banda.
    2. Isso significa que o XBOX Series S pode razoavelmente executar títulos do XBOX One S com o dobro da taxa de quadros e talvez em uma resolução de 1080p. O XBOX Series X, no entanto, pode ter dificuldade para alcançar a mesma resolução do XBOX One X. Alguma redução na resolução pode ser necessária para atingir consistentemente o tempo de quadro.
  2. Opção de “Resolução”, talvez apenas para o XBOX Series S:
    1. A mesma taxa de quadros, mas 1080p deve ser um mínimo alcançável, com uma resolução máxima de 1440p ou superior. O título pode usar texturas HD no XBOX Series S e implementar um HUD em 4K.
    2. A versão do XBOX One X do seu título pode já estar alcançando resoluções suficientemente altas para que uma opção de “Resolução” no XBOX Series X faça pouco sentido.
    3. Não recomendamos que o título tente implementar resoluções superiores a 4K.
  3. Uma opção “Aprimorada”:
    1. Recomendamos que o XBOX Series S seja executado a no mínimo 1080p, portanto parte da potência adicional da GPU pode ser gasta na resolução. No XBOX Series X, uma pequena quantidade de potência adicional da GPU pode permitir uma resolução fixa de 4K.
    2. Uma parte significativa da potência adicional disponível nos novos consoles XBOX Series pode ser usada, por exemplo, para várias melhorias, distâncias de desenho maiores, mais NPCs, sombras de maior resolução/mais luzes que projetam sombras e melhor filtragem de texturas.
Recomendamos que, se várias opções forem implementadas, “Desempenho” seja a opção padrão.

Detectar os consoles XBOX Series

Os títulos do XBOX One Software Development Kit se tornam “compatíveis com XBOX Series X|S” adicionando a seguinte configuração ao arquivo AppxManifest.

XBOX One Software Development Kit 2017.06 e posterior

Quando o título é “compatível com XBOX Series X|S”, GetConsoleType() pode retornar três valores que não estão presentes na enumeração CONSOLE_TYPE fornecida pelo cabeçalho do XDK. Você precisará adicionar as seguintes definições ao código do seu título.
Esses valores não são retornados se um título não for “compatível com XBOX Series X|S”.

XBOX One Software Development Kit anterior à 2017.06

A função GetConsoleType() e a enumeração CONSOLE_TYPE não existiam antes do XBOX One Software Development Kit 2017.06. Títulos em XBOX One Software Development Kits mais antigos devem usar GetProcAddress para localizar a função GetConsoleType() em kernelx.dll. Veja a seguir um exemplo.
GetProcAddress só falha nos consoles XBOX One, nunca nos consoles XBOX Series S ou XBOX Series X. Em alguns casos gráficos específicos, um título precisa saber o console real em que está sendo executado e qual modo de compatibilidade está em vigor nesse console. Nesses casos, o título pode presumir que um console XBOX Series S é executado no modo de compatibilidade do XBOX One S e que um console XBOX Series X é executado no modo de compatibilidade do XBOX One X.

Entregar ativos específicos do console usando o Intelligent Delivery

O Intelligent Delivery permite que os títulos destinem agrupamentos de ativos, chamados de blocos, a consoles específicos usando marcas em um arquivo layout.xml, conforme mostrado no exemplo a seguir.
Por padrão, os ativos rotulados como Devices="Xbox-Durango" serão instalados nos consoles XBOX Series S. Os ativos rotulados como Devices="Xbox-Scorpio" serão entregues aos consoles XBOX Series X. Se você quiser que seu título tenha acesso a ativos específicos do Scorpio no XBOX Series S, poderá atualizar o layout do título para que fique como no exemplo a seguir.
O uso dos consoles Xbox-Lockhart e Xbox-Anaconda requer ferramentas atualizadas do QFE15 das ferramentas do XBOX One Software Development Kit 2018.07.

Desempenho, recursos e capacidades ao executar um título do XBOX One Software Development Kit nos consoles XBOX Series

Os títulos do XBOX One Software Development Kit são executados no modo de compatibilidade com versões anteriores. Como resultado, eles não têm acesso ao seguinte:
  1. Recursos do DirectX 12 Ultimate:
    1. Sombreamento de Taxa Variável (VRS)
    2. DirectX Raytracing (DXR) ou os intrínsecos de raytracing
    3. Sampler Feedback for Streaming (SFS)
  2. Todas as otimizações específicas do Navi2 (as seguintes, por exemplo):
    1. Agrupamento adiado de primitivas em lotes (deferred primitive batch binning)
    2. fp16
    3. wave32
    4. Formato renderizável 999e5
  3. Modos de bloco ideais para o XBOX Series X e o XBOX Series S
  4. DirectStorage e a Unidade de Descompactação de Memória
No XBOX Series X e no XBOX Series S, os títulos obtêm sete núcleos de CPU a 3,6 GHz, com SMT desabilitado, aproximadamente 80% do desempenho da GPU e 2 GB/s de velocidade de leitura de arquivos. É importante observar que os títulos do XBOX One Software Development Kit também podem ser executados a partir de uma unidade flash USB 3.0 externa com desempenho de E/S significativamente inferior ao do SSD NVMe interno. Antes do XBOX One Software Development Kit 2017.06, a memória acessível ao título em todos os consoles é fixada em 5 GB. Se o título for compilado com o XBOX One Software Development Kit 2017.06 ou posterior, no XBOX One X, ele poderá ser configurado para até 9 GB por meio da configuração TitleMemory no AppxManifest. Os títulos “compatíveis com XBOX Series X|S” recebem automaticamente 7,5 GB no XBOX Series S e 9 GB no XBOX Series X, a partir da recuperação 2020.10. Anteriormente, foi descrito um método para aumentar o limite nos consoles XBOX Series S e XBOX Series X por meio do AppxManifest, mas isso não é mais necessário. O suporte às configurações de TitleMemory específicas do XBOX Series X|S foi removido no QFE15 das ferramentas do XBOX One Software Development Kit 2018.07. Se configurações de memória específicas do XBOX Series X|S permanecerem no AppxManifest, o sistema operacional as ignorará. No entanto, a ferramenta makepkg relatará um erro. Você precisa remover as configurações antes do empacotamento. Nem o console XBOX Series S nem o console XBOX Series X possuem ESRAM. Ao executar nesses consoles, é importante que os títulos usem o caminho de código do XBOX One X, evitando cópias que eram necessárias para a ESRAM, mas que são redundantes nos novos consoles XBOX. Talvez você queira continuar usando aliasing de destinos de renderização, especialmente no XBOX Series S.

Funções preteridas

GetGpuHardwareConfigurationX foi preterida e não deve ser usada. Em vez disso, os títulos devem usar GetConsoleType.

Testes

Você ou sua editora são responsáveis por testar a atualização do título. Ao testar a compatibilidade, recomendamos enfaticamente que você use a versão prévia mais recente da recuperação 2020.10 (ou posterior). Recomendamos jogar o título completo, executando-o a partir do SSD NVMe de varejo. Com o desempenho de CPU e GPU significativamente aprimorado, é possível que sejam expostas condições de corrida que não foram encontradas nos consoles XBOX One. É provável que o SSD NVMe entregue dados com rapidez suficiente para que a descompactação na CPU se torne o gargalo ao carregar do disco rígido. Você deve fazer a implantação por push do seu título no SSD NVMe de varejo e verificar se a descompactação na CPU não está causando picos e perda de quadros. A velocidade de leitura de arquivos pode variar consideravelmente, dependendo se o título está sendo executado no SSD NVMe interno ou em uma unidade flash USB 3.0 externa.

Modos de bloco

O XBOX Series S usa os modos de bloco do XBOX One S; o XBOX Series X usa os modos de bloco do XBOX One X. O modo de bloco 1D que recomendamos para texturas é o mesmo em ambos os consoles XBOX One. Como resultado, as texturas empacotadas com blocos 1D não precisam ser alteradas quando são executadas nos consoles XBOX Series no modo de compatibilidade com versões anteriores.

Ferramentas

Em geral, você só precisa de um XBOX One Software Development Kit de ferramentas atualizado para empacotar seu título. Lançamos o QFE14 do XBOX One Software Development Kit 2018.07. Ele contém um instalador de ferramentas atualizado apenas para fornecer as ferramentas para os recursos básicos dos consoles XBOX Series nas configurações do AppxManifest. Conforme mencionado anteriormente, a versão de ferramentas 2018.07 QFE15 contém a atualização que habilita os recursos de instalação inteligente para os consoles XBOX Series. Instale o QFE de ferramentas mais recente para ter a versão atual do makepkg. Ele consegue interpretar as configurações de manifesto “compatíveis com XBOX Series X|S”.

Capturas de GPU usando o PIX

Para usar o PIX para capturas de GPU em um XBOX Series X Dev Kit, você deve usar o PIX do XBOX One Software Development Kit para capturar. No entanto, a reprodução deve ser feita em um PIX do Microsoft Game Development Kit (GDK). Para reproduzir essas capturas, use o Microsoft Game Development Kit (GDK) de agosto (2020.08) ou posterior.

Capturas de CPU usando o PIX

Para usar o PIX para capturas de CPU em um XBOX Series X Dev Kit, você pode usar a mesma versão 1807 do PIX que foi instalada quando você obteve a atualização do XBOX One Software Development Kit de ferramentas para dar suporte ao empacotamento do título.

Configurações adicionais

Um título também pode ser configurado para aproveitar alguns recursos do XBOX Series X|S, seja ele compatível com XBOX Series X|S ou não. Quatro opções de substituição estão disponíveis no manifesto:

AnisoBoost e VsyncMode

A filtragem anisotrópica de texturas é forçada para 16 vezes ao executar títulos no modo de compatibilidade com versões anteriores. Além disso, a apresentação de quadros é sincronizada automaticamente com o intervalo vertical (vertical blank). Títulos que chamam Present() com SyncInterval=0 se comportam como se tivessem passado SyncInterval=1. Desativar a filtragem anisotrópica forçada pode ser particularmente importante para títulos que estão tentando alcançar o dobro da taxa de quadros. Além disso, os títulos podem especificar VsyncMode="double" para dobrar a taxa normal de apresentação. O efeito desses modos está resumido na tabela a seguir. †Dependendo do suporte da tela e da configuração do sistema O modo double permite taxas de quadros mais altas sem alterações de código no título (embora uma implementação adequada frequentemente exija algumas alterações). Além disso, o modo double habilita o suporte à apresentação a 120 Hz, sujeito a algumas limitações. A tela deve dar suporte a uma taxa de atualização de 120 Hz, e o console deve estar configurado para emitir 120 Hz na seção de opções de TV e tela das Configurações. Se qualquer uma dessas condições não for atendida, a taxa de apresentação do título permanecerá limitada a 60 Hz. Um título pode inferir a taxa de apresentação atual chamando DXGIXGetFrameStatistics() e comparando quadros sequenciais (especificamente os campos GPUTimeVSync e VSyncCount).

AutoHdr

Embora a maioria dos títulos existentes no catálogo tenha o HDR automático habilitado no nível da plataforma e do serviço, os títulos que entraram no catálogo após 1º de novembro de 2020 têm o HDR automático desabilitado por padrão. AutoHdr="true" substitui isso e permite que o título seja executado com o HDR automático ativado, desde que a configuração do console também esteja ativada.

EnableQuickResume

Assim como o AutoHdr, muitos títulos existentes com compatibilidade com versões anteriores no catálogo têm o Quick Resume habilitado no nível da plataforma. Para títulos sem esse recurso habilitado por padrão, EnableQuickResume="true" substitui isso, habilitando o Quick Resume nos consoles XBOX Series. O Quick Resume depende da capacidade do título de dar suporte com êxito à suspensão e retomada e permite que o título seja restaurado e retomado rapidamente, facilitando voltar a jogar o título.
Last modified on October 6, 2026