Sempre trabalhe com seu contato de relações com desenvolvedores / DPM antes de envolver o ATG. Eles podem oferecer diversos recursos capazes de resolver seus problemas antes do escalonamento.
Preparação para uma análise de desempenho de GPU
1. O que enviar
O ATG pode analisar capturas do PIX fornecidas por você ou fazer as próprias capturas do PIX a partir de um build do seu jogo. Capturas fornecidas por você são altamente preferíveis — isso permite que o ATG comece a análise imediatamente, em vez de primeiro colocar o jogo em execução, resolver contas de teste e encontrar locais representativos de jogabilidade. Mais tempo de captura = mais tempo de análise.2. Envie as capturas do PIX com antecedência
Entregue as capturas do PIX alguns dias antes do engajamento agendado. Isso dá ao ATG tempo para verificar se os dados estão completos e se o build do PIX deles é compatível com a versão em que você fez a captura.3. Use o PIX e o OS Recovery mais recentes (recomendado)
As versões mais recentes do PIX e do OS Recovery trazem melhorias de análise, correções de estabilidade, iteração mais rápida e novos recursos (DXR, VRS). Você não precisa instalar o GDK mais recente nem recompilar o jogo — há um download separado somente para as GDK Tools.4. Inclua capturas do XBOX Series S (recomendado)
Os engajamentos costumam se concentrar no Series X. Adicione capturas do Series S para que o ATG possa identificar oportunidades de desempenho que não aparecem no Series X.5. Inclua símbolos de sombreador nas capturas de GPU (recomendado)
Os símbolos de sombreador permitem análises mais aprofundadas, recomendações de otimização de sombreadores, feedback sobre a geração de código do compilador de sombreadores e experimentação com o Shader Edit and Continue do PIX. Use Slim PDBs (compile com/Zs) — eles são mais rápidos e menores. Você não precisa enviar arquivos PDB separados; com o Symbols Path configurado corretamente nas configurações do PIX, salvar a captura incorpora os símbolos.
6. Capturas de GPU dos piores cenários (obrigatório)
As capturas de GPU devem ser representativas das cenas em que o jogo tem mais dificuldade. Isso facilita a identificação dos problemas de desempenho, evita que o ATG deixe passar problemas importantes e gera uma lista de recomendações mais bem priorizada.7. Desabilite o Dynamic Resolution Scaling (obrigatório)
Desabilite o dimensionamento dinâmico de resolução ao fazer capturas de GPU. Capture na resolução máxima pretendida em todas as passagens de renderização para que o ATG veja o custo real no pior caso de cada passagem.8. Defina eventos nomeados do PIX (obrigatório)
Marcadores e delimitadores do PIX são obrigatórios. Eles permitem que o ATG identifique subsistemas, correlacione o trabalho com seu mecanismo e produza feedback acionável rapidamente.9. Use nomes de recursos (opcional)
Nomeie os recursos comID3D12Object::SetName(). Nomes significativos em destinos de renderização, texturas e buffers deixam clara a intenção de cada draw e dispatch.
10. Capturas de GPU Trace (recomendado)
As capturas de GPU Trace do PIX são capturas de criação de perfil leves disponíveis no XBOX Series X|S. Elas registram vários quadros enquanto o título é executado e levam em conta as interações entre CPU/GPU/memória. Ao contrário das GPU Captures, um Trace é autossuficiente — o arquivo de captura é reproduzido sem conexão com um devkit.11. Captura de Timing do PIX (opcional)
Uma captura de Timing é útil quando há suspeita de problemas de sincronização CPU↔GPU, tempo de apresentação, ritmo de quadros ou latência.12. Capture dois quadros de GPU para computação assíncrona entre quadros (recomendado)
Se a computação assíncrona abranger dois quadros (fim do quadro N → início do quadro N+1), inclua uma captura de dois quadros para que o ATG possa ver toda a cadeia de dependências.13. DXR (obrigatório)
Habilite Capture All GPU Mapped Memory no PIX para que toda a estrutura de aceleração esteja presente. Por padrão, apenas as páginas acessadas pela GPU são capturadas, o que não é suficiente para a análise de DXR. Em GDKs anteriores a junho de 2023, useSetCompileTimeShaderPdbPathX para gerar PDBs de sombreador para DXR.
