Estas informações eram atuais em abril de 2022. Vários recursos foram alterados ou atualizados desde então.
Apresentando o PIX Checklist
O PIX Checklist fornece recomendações automatizadas para desempenho e correção da GPU. Os dados de criação de perfil capturados pelo PIX podem ser usados para analisar problemas de desempenho de GPU, CPU, memória e E/S de arquivo. O PIX Checklist foi lançado no Microsoft Game Development Kit with XBOX Extensions (GDKX) de abril de 2021 e foi aprimorado nas versões subsequentes. Se você ainda estiver na versão do GDK de abril de 2021, atualize imediatamente. O PIX Checklist está disponível somente no XBOX Series X|S. O XBOX One X não foi incluído porque isso teria tirado tempo de engenharia do XBOX Series X|S. No entanto, as recomendações de desempenho costumam ser as mesmas para ambas as plataformas.Benefícios da automação
A automação pode detectar o seguinte:- Problemas que você não verifica
- Pequenos problemas que ocorrem muitas vezes
- Problemas que exigem conhecimento de toda a captura
Demonstração um: localizando e navegando no PIX Checklist
Esta seção descreve o modo de exibição Checklist. Figura 1. Janela de visão geral do PIX.




Por que as tentativas de automação falham
Para fazer a coisa certa, precisamos que você entenda o que deu errado nas tentativas anteriores. A mais óbvia são os falsos positivos. Se a lista de verificação informar que você está fazendo algo errado, e você não estiver, trata-se de um bug que precisa ser corrigido. No entanto, às vezes problemas sutis não são falsos positivos, mas estão relacionados a eles. São casos de verdadeiros positivos, em que a lista de verificação está correta, há uma falha, mas por um motivo ou outro você não pode ou não vai corrigi-la. Chamamos esses problemas de _Sim, mas_s. Os exemplos incluem:- A Checklist diz Prefer GPU Optimal Memory for Graphics Resources. Sim, mas - A memória ideal da GPU acabou e o PIX Checklist está pedindo que você corrija o impossível.
- A Checklist diz Avoid consecutive calls to ResourceBarrier. Sim, mas - Houve apenas algumas ocorrências. Não vale a pena fazer a correção porque ela não trará nenhuma economia substancial.
- A Checklist diz Use the 2nd hardware display plane. Sim, mas - você não quer bifurcar o código para PC, XBOX One X e XBOX Series X|S.
Demonstração dois: filtrando o modo de exibição Checklist
Esta seção descreve como filtrar no modo de exibição Checklist. Figura 6. Filtragem do PIX por status de aprovação/falha no modo de exibição Checklist.




Demonstração três: descompactação de profundidade desnecessária
Esta seção descreve o aviso Use Texture Compatibility on Compressed Resources e usa uma descompactação de profundidade desnecessária no exemplo. Figura 11. Modo de exibição PIX Checklist com o aviso Use Texture Compatibility on Compressed Resources.
Selecionar o link leva você ao modo de exibição Events e a uma chamada ResourceBarrier, como mostrado na figura 12. Depth Decompress está abaixo da chamada ResourceBarrier. No entanto, no XBOX Series X|S, há um recurso de compatibilidade de textura que permite ignorar uma Depth Decompress e ler nativamente o formato compactado. Descompactadores de profundidade geralmente não aparecem neste ponto. Você não espera ver uma Depth Decompress. E ela leva 0,116 milissegundo. A lista de verificação informa onde houve uma violação.
Figura 13. Modo de exibição API Objects do PIX e o sinalizador de compatibilidade de textura.
Investigar isso mais a fundo leva você ao modo de exibição API Objects e ao objeto mostrado. A Figura 13 confirma que o objeto #35073 foi criado como um buffer de estêncil de profundidade, mas não especificou a compatibilidade de textura.
Esse aviso surgiu em ambos os títulos de exemplo. Para um deles, foi uma boa descoberta. O outro disse sim, mas, isso foi tentado e não era importante. Portanto, foi razoável ignorar a Depth Decompress, apesar de perder desempenho em outro lugar.
Demonstração quatro: compactação delta de cores (DCC)
Esta seção descreve o aviso Use Delta Color Compression for Pre-cleared Color Textures. Figura 14. Delta Color Compression do PIX.


Demonstração cinco: destino de renderização não associado
Esta seção descreve o aviso Remove Unbound RTVs from Shader/PSO e um destino de renderização não associado. Figura 17. Destino de renderização não associado do PIX.



- Exportar algo que não é necessário e o custo de desempenho relacionado.
- O cálculo para computar o valor exportado é um custo desperdiçado.
- Isso aconteceu apenas brevemente.
- Corrigi-lo exige um novo PS, o que adiciona memória e complexidade.
Demonstração seis: exportações de VS não utilizadas
Esta seção descreve o aviso The VS Exports Only Parameters which are Needed by the PS. Figura 21. Aviso de exportações de VS não utilizadas do PIX.
A Figura 22 mostra as chamadas de desenho no modo de exibição Pipeline.
Selecionar o link leva você às chamadas de desenho no modo de exibição Pipeline.
Figura 23. Sombreador de pixel não associado do PIX.

- Exportar parâmetros que não precisam ser exportados ocupa espaço no cache de parâmetros.
- Os parâmetros exportados eram o resultado de um cálculo potencialmente longo que também é desperdiçado.
Demonstração sete: wave64 quase vazia
Esta seção descreve o aviso Use Wave32 for threadgroups of size 32 or less e uma wave64 quase vazia.Desde então, esse aviso foi expandido para abranger mais casos, e seu nome foi alterado de acordo.


Conclusão
O PIX Checklist está em desenvolvimento ativo
A equipe do PIX está desenvolvendo ativamente o PIX Checklist. Seus comentários são importantes. A equipe do ATG usa o PIX Checklist ao fazer revisões de desempenho, observando falsos positivos e aprendendo onde estão os pontos problemáticos. A equipe do PIX ainda atualiza a Checklist e continua sugerindo novos avisos. Recomendamos que você continue a usá-la.Nossas solicitações para você
O desenvolvimento do PIX Checklist é influenciado pelos seus comentários.- Execute o PIX Checklist em suas capturas.
- Envie-nos comentários sobre recursos úteis e não úteis por meio do botão de comentários do PIX, dos fóruns ou de seus contatos da Microsoft. Os desenvolvedores tendem a enviar comentários quando as coisas dão errado. As equipes do PIX também precisam de comentários sobre o que está funcionando bem, para saber em que continuar trabalhando.
- Solicite novos testes. Agora que você viu quais tipos de testes são possíveis, envie suas ideias de testes adicionais úteis.
Planos futuros
Aqui estão alguns recursos que a equipe do PIX considerou para o futuro.- Limites de aviso configuráveis pelo usuário: por exemplo, se você tiver um aviso, ele pode ser útil apenas se houver 100 ocorrências dele. No entanto, outro desenvolvedor pode precisar de um limite de aviso de apenas cinco ocorrências.
- Expandir o modo de exibição Checklist para outros tipos de capturas: por exemplo, um aviso do System Monitor que detecta quando você está abaixo da taxa de quadros desejada por um determinado número de quadros. Isso criaria uma GPU Capture.
- Modo de exibição Checklist para Timing Capture: forneceria avisos que indicam falhas em uma PIX Timing Capture.
Próximas etapas
Para 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: GR01_A Tour of the New PIX Checklist - GPU Performance Made Easy.pptx em Xfest 2022 Graphics Track PowerPoints (Xfest2022GfxPPTs.ZIP)
- Apresentação em vídeo: GR01.mp4 em Xfest 2022 Graphics Track Videos (Xfest2022GfxVids.ZIP)
Baixar as apresentações e os vídeos do Microsoft PowerPoint
- Acesse Downloads do Game Development Kit (GDK).
- Em Select file type, selecione Conference Materials e, em seguida, selecione Confirm.
- Em Select build/version number, escolha uma das seguintes apresentações de gráficos.
- Xfest 2022 Graphics Track PowerPoints
- Xfest 2022 Graphics Track Videos
- Selecione Download Now e aguarde a conclusão do download do arquivo .zip.
- Acesse sua pasta Downloads local e descompacte (extraia) os arquivos da pasta compactada.
