Este artigo é baseado na apresentação What’s new in PIX realizada no XBOX Dev Days 2024. Estas informações eram atuais em maio de 2024. Vários recursos podem ter sido alterados ou atualizados desde então.
Desempenho do PIX
O desempenho do PIX teve melhorias significativas, tornando-o uma ferramenta valiosa para o desenvolvimento de jogos. As atualizações mais recentes se concentraram em melhorar o tempo de iteração do desenvolvedor, reduzindo as durações de captura e análise em mais de 50%. A maioria dos dados de captura agora permanece no console até ser necessária, o que acelera o processo de iteração. Além disso, há novos esquemas de compactação para arquivos de captura de GPU e funcionalidades de análise secundária usando dados em cache. Esses aprimoramentos ajudam a garantir que você possa depurar e otimizar seus jogos de forma rápida e eficiente. Isso proporciona um fluxo de trabalho de desenvolvimento mais suave e simplificado.PIX on XBOX e PIX on Windows: desempenho da UX
As melhorias de desempenho da UX do PIX se concentraram em aumentar a eficiência e a eficácia da interface do usuário do PIX on XBOX e do PIX on Windows. Relatos de comportamento instável e lento na interface do usuário do PIX levaram a uma investigação. Ela revelou o uso abaixo do ideal da estrutura de interface do usuário chamada Windows Presentation Foundation (WPF). Esse uso abaixo do ideal do WPF causava uma carga de trabalho significativa no thread principal, o que gerava a lentidão. Para resolver isso, os esforços se concentraram em tornar o mecanismo do PIX mais assíncrono. Mais operações agora são feitas em paralelo, como abrir arquivos ou coletar contadores.Melhorias no tempo de iteração do desenvolvedor em capturas de GPU do PIX on XBOX
Modo de armazenamento local
O Modo de armazenamento local é um recurso que melhora os tempos de iteração em 50% ou mais. Esse modo funciona retendo a maior parte dos dados capturados na unidade SSD do console. Isso minimiza a quantidade de dados transferidos quando você abre um arquivo. Como resultado, você pode fazer uma análise imediatamente, sem o atraso normalmente associado à transferência de dados. Figura 1. Captura de GPU do PIX on XBOX.

Desempenho da análise
Um novo esquema de compactação foi implementado para arquivos de captura de GPU e todas as transferências de rede do PIX. Isso aumenta a eficiência do armazenamento e da transmissão de dados. Mais dados agora são coletados em paralelo, simplificando o processo de análise. Uma nova estratégia de coleta de contadores foi lançada em março de 2024. Anteriormente, para obter as médias, todos os contadores em todos os níveis e hierarquias eram coletados. A coleta de dados agora prioriza os eventos do PIX de nível superior, exibindo-os primeiro. Os nós folha são coletados posteriormente em segundo plano. Essa abordagem garante que os dados críticos fiquem prontamente acessíveis. As passagens de cálculo de média foram reduzidas de 48 em outubro de 2023 para 19 em março de 2024.Funcionalidades de análise secundária usando dados em cache
A análise secundária é a segunda vez que você executa uma análise na mesma captura. Ao armazenar em cache os dados de captura no console e usar um cache de dados no PC para a Timeline, você pode reduzir significativamente o tempo necessário para a análise. Essa abordagem permite a coleta paralela de dados da Timeline. As informações críticas ficam prontamente disponíveis sem a necessidade de buscar dados repetidamente. Use os dados em cache para acessar e analisar rapidamente as métricas de desempenho, identificar gargalos e tomar decisões informadas para otimizar seus jogos. Esse processo simplificado não apenas melhora os tempos de iteração, mas também fornece um fluxo de trabalho de análise mais responsivo e eficiente.Melhorias no tempo de iteração do desenvolvedor em capturas de GPU do PIX on Windows
O PIX on Windows teve o desempenho de análise melhorado com a exibição de dados básicos antes do início de uma análise. Isso simplifica o processo. Agora você tem acesso imediato a informações como recursos vinculados e objetos de API, e a modos de exibição como o modo de exibição de estado, heaps de descritores, tabela de sombreadores e o modo de exibição de histórico de recursos. Isso economiza tempo e oferece uma experiência mais intuitiva. O tempo de inicialização agora é dez vezes mais rápido em alguns cenários em comparação com versões anteriores do PIX on Windows. Outros recursos de desempenho de análise incluem os seguintes.- A guia de pipeline agora é preenchida mais rapidamente.
- O Shader Access Tracking agora é um recurso opcional. Para habilitar esse recurso, selecione o botão Gather Accessed Resources.
- Plug-ins atualizados dos fornecedores de GPU melhoraram a velocidade de coleta de dados.
Depuração de GPU do PIX on XBOX
Anteriormente, a depuração de GPU era um cenário secundário para o PIX. Devido aos avanços na tecnologia de GPU, agora ela é um dos cenários mais importantes. As atualizações mais recentes na depuração de GPU do PIX on XBOX introduzem vários recursos poderosos projetados para aprimorar o processo de depuração e torná-lo mais eficiente. Os novos recursos incluem os seguintes:- Exceções de sombreador na depuração ao vivo
- Exceções de sombreador em capturas de GPU
- Janela Invocations para depuração ao vivo
- Monitoramento de threads no modo de exibição Watch
- Modos de exibição de símbolos de sombreador
- Suporte para depuração de sombreadores DirectX Raytracing (DXR)
Exceções de sombreador na depuração ao vivo
Agora você pode tratar exceções de sombreador na depuração ao vivo. Você pode:- Detectar erros em programas de sombreador em execução na GPU.
- Identificar problemas em cálculos numéricos.
- Capturar violações de acesso à memória.

Exceções de sombreador em capturas de GPU
As exceções de sombreador agora podem ser visualizadas em capturas de GPU. O modo de exibição de exceções de sombreador fornece informações detalhadas sobre as exceções que ocorreram ao longo do quadro. O modo de exibição fica em Tools, ao lado de Dr. PIX, Shader Trace e Memory Timeline. Esse modo de exibição mostra uma lista de identificadores gráficos (GIDs) em que exceções são geradas. Para cada GID, o modo de exibição mostra uma lista de sombreadores em que ocorrem exceções, identificados por seu hash. Expanda essas entradas para ver todas as exceções geradas nesse sombreador. Para cada exceção, você obtém o nome da função, a linha do código-fonte, o valor do contador de programa, a contagem de ocorrências da exceção e o tipo de exceção. Você também pode ir imediatamente para o depurador para testar cada sombreador. Os resultados podem ser filtrados ainda mais. Por exemplo, você pode selecionar um intervalo de GIDs e um subconjunto de tipos de exceção e ver quais sombreadores são afetados. As exceções de memória no PIX on XBOX ainda estão em desenvolvimento, mas as exceções numéricas estão totalmente funcionais. Figura 4. Modo de exibição Shader Exceptions.
Janela Invocations para depuração ao vivo
As exceções de sombreador na depuração ao vivo agora ficam visíveis nas janelas Invocations e Watch. Você pode ver o local no código-fonte em que a exceção foi gerada, se o thread estava ativo, o tipo de wave (64 versus 32) e a linha do contador de programa. Figura 5. Janela Invocations para depuração ao vivo.
Threads no modo de exibição Watch
Um novo recurso do modo de exibição Watch mostra todas as lanes da wave no modo de exibição Watch. Isso oferece uma única visão de toda a wave. Anteriormente, você precisava alterar a invocação que estava examinando para ver as lanes. Há várias opções de configuração para filtrar os resultados. Você pode observar todas as lanes, um intervalo específico, somente lanes ativas/inativas ou as lanes pertencentes a um quad. Figura 6. Modo de exibição Watch do PIX.

Modo de exibição Shader Symbols
O modo de exibição Shader Symbols substitui a caixa de diálogo pop-up que aparecia quando uma captura era aberta. Agora, um aviso é exibido, seguido por um modo de exibição dedicado. Ele mostra quais símbolos estão carregados e descarregados. Anteriormente, apenas o que não estava funcionando era mostrado. Agora há uma visão abrangente do que está presente. Você também pode adicionar e remover caminhos de símbolos e verificar novamente os caminhos de Program Database (PDB), se necessário. Figura 8. Modo de exibição Shader Symbols.
Suporte para depuração de sombreadores DXR
Os sombreadores DXR no PIX on XBOX agora estão no mesmo nível dos outros tipos de depuração quanto à geração de PDBs, à descoberta desses PDBs no PIX, ao seu carregamento e à depuração de qualquer parte do sombreador. Os símbolos de sombreador DXR diferem um pouco do que normalmente é recomendado. Para outros estágios de sombreador, a recomendação é usar PDBs slim. Compile usando um conjunto diferente de sinalizadores para obter um PDB slim e, posteriormente, o PIX pode regenerar as informações de depuração a partir dele. Isso é conveniente porque os PDBs completos são grandes e caros de usar. Para DXR, recomendamos usar PDBs inseridos. Eles funcionam melhor com as ferramentas atuais. Há menos sombreadores DXR do que outros em termos de permutações. Ao entrar emTraceRays(), o depurador começa na implementação de TraceRay do driver. Continue a depuração passo a passo a partir daí ou coloque pontos de interrupção nos seus sombreadores em linguagem de sombreamento de alto nível (HLSL) para ir imediatamente ao ponto que deseja investigar.
Para o PIX on Windows, os seguintes tipos de sombreador agora têm suporte para depuração.
- Sombreadores
RayGen - Sombreadores
ClosestHit - Sombreadores
AnyHit - Sombreadores
Miss
Análise de travamentos de GPU
A análise de travamentos de GPU é essencial para manter o desempenho e a confiabilidade dos gráficos de jogos. Ela envolve detectar e resolver problemas que fazem a GPU parar de responder. Esses problemas podem afetar significativamente a experiência de jogo. Ao analisar travamentos de GPU, você pode identificar gargalos, otimizar o desempenho e garantir que o jogo seja executado sem problemas em várias configurações de hardware.Análise de travamentos de GPU do PIX on XBOX durante o desenvolvimento
A análise de travamentos de GPU pode ser o aspecto mais desafiador do desenvolvimento de gráficos de jogos. Um novo recurso de captura de tela em travamentos de GPU foi introduzido no GDK de março de 2024. Ele captura uma tela do jogo se ocorrer um travamento de GPU em um kit local. No momento, esse recurso não tem suporte no varejo por questões de privacidade. Para capturas locais no modo de desenvolvedor, adicione um blob ao arquivo .hix usando a APIAdd_Blob_to_GPU_Hang_DumpX. No seu manipulador, chame essa API para adicionar metadados personalizados ao relatório.
A vantagem do arquivo de blob é que os estúdios ou editores geralmente têm seu próprio rastreamento e telemetria interna. Eles fornecem melhores informações sobre onde os jogadores estavam no jogo quando ocorreu o travamento de GPU. Isso permite adicionar contexto às investigações de travamentos.
Os eventos e marcadores do PIX de desenvolvimento são os seguintes.
PIXBeginEventPIXEndEventPixSetMarker
Análise de travamentos de GPU em ambientes de varejo
No ambiente de varejo, os despejos de travamento (arquivos .hix) ficam disponíveis no Partner Center. Esses arquivos capturam informações de hardware e do jogo, analisam automaticamente o despejo de travamento e, em seguida, apontam a causa raiz do travamento. Essa abordagem unificada para depuração offline e ao vivo no PIX aumenta a eficiência da depuração de GPU.Entre em contato com seu Developer Partner Manager (DPM) para obter acesso aos arquivos .hix.
Retail são os seguintes.
PixBeginRetailEventPixEndRetailEventPIXSetRetailMarker
Retail funcionam da mesma forma que suas equivalentes que não são de varejo. O uso de marcadores Retail do PIX resulta em uma perda de desempenho, semelhante à dos marcadores padrão do PIX.
Análise de desempenho de GPU
A análise de desempenho de GPU usando o PIX envolve alguns elementos-chave que ajudam você a otimizar e depurar seus jogos para obter melhor desempenho e estabilidade. Os principais componentes são os seguintes.- GPU Captures: registra todas as chamadas de API do Direct3D 12 feitas pelo jogo, incluindo os dados de parâmetros. Isso oferece uma variedade de recursos de depuração e análise.
- Timing Captures: combina dados de criação de perfil de CPU e GPU em uma única captura para uma análise aprofundada do jogo. Esses dados são coletados enquanto o jogo está em execução, com sobrecarga mínima.
- Shader Explorer: ajuda a melhorar e iterar o desempenho dos sombreadores e o uso de registros. Você pode usá-lo a partir de uma captura de GPU, de um código-fonte de sombreador HLSL ou de um arquivo .pdb de sombreador.
- Identificação de gargalos: fornece ferramentas como o GPU Trace para medição de ocupação e identificação de gargalos.
- Gerenciamento de memória e recursos: fornece um modo de exibição API Objects Summary mais rápido, novos recursos como o modo de exibição Texture MIP Statistics e muito mais.
- Raytracing: inclui novos recursos como coloração por custo da heurística de área de superfície e mapas de calor por instância para análise detalhada no Acceleration Structure Viewer.
Análise de desempenho do PIX on XBOX: GPU Trace
A ferramenta GPU Trace oferece uma maneira rápida e abrangente de obter uma visão geral de alto nível da medição de ocupação e da coleta de contadores de gargalos. Isso é feito sem fazer e reproduzir uma captura de GPU. Um dos principais recursos dessa ferramenta é que as medições de desempenho e as linhas do tempo vêm da execução do jogo em andamento. O GPU Trace registra o desempenho como ele foi executado no jogo real em execução, fornecendo dados mais precisos para cargas de trabalho complexas e sobrepostas. Isso contrasta com as capturas de GPU, que reproduzem o trabalho da GPU e podem deixar passar pequenos detalhes de desempenho da interação e da sincronização entre CPU e GPU. Para obter detalhes sobre o GPU Trace, confira Investigação rápida de desempenho com o GPU Trace. Figura 9. Ferramenta GPU Trace.




Shader Explorer
O recurso Shader Explorer ficou disponível publicamente no GDK de outubro de 2023. Use esse recurso para examinar fatores que afetam o desempenho dos sombreadores, como pressão e tempo de vida dos registros, mapeamentos de variáveis para registros, custo de execução de instruções, taxas de emissão e muito mais. O Shader Explorer foi projetado para a iteração rápida de sombreadores, para que você possa experimentar diferentes abordagens e ver o que funciona melhor. Comece a usar o Shader Explorer a partir de uma captura de GPU, de um código-fonte de sombreador HLSL ou de um arquivo .pdb de sombreador. Use uma captura de GPU para fazer várias alterações dentro da ferramenta e, em seguida, retorne-as à captura para ver os efeitos imediatos no quadro. Para obter mais informações sobre o Shader Explorer, confira Otimizando o desempenho de sombreadores com o Shader Explorer do PIX.Identificação de gargalos
O GDK de março de 2024 introduziu um recurso de gargalo do cache de parâmetros que ajuda a visualizar as áreas em que o cache de parâmetros pode estar sob pressão. À medida que o cache se enche, o sistema pode ficar mais lento, o que pode afetar a velocidade e a eficiência das exportações de waves. Isso pode levar a tempos de exportação mais longos ou até a falhas se o sistema não conseguir alocar os recursos necessários. A identificação de gargalos é crucial para recuperar o desempenho do jogo. Para obter mais informações e exemplos de gargalos, confira Dicas e truques de desempenho de GPU.Raytracing
DXR do PIX on XBOX: visualizador Acceleration Structure
O visualizador Acceleration Structure no PIX on XBOX foi aprimorado. Os novos recursos incluem:- Coloração para refletir os custos ou ramificações da heurística de área de superfície (SAH).
- Um modo de exibição de mapa de calor por instância para encontrar facilmente oportunidades de otimização.
- Uma seção editável da estrutura de aceleração de nível superior (TLAS) para modificar as entradas da TLAS e ver a hierarquia de volumes delimitadores (BVH) resultante e seu efeito nos tempos.

DXR do PIX on Windows: visualizador Acceleration Structure
O Acceleration-Structure Viewer do PIX on Windows agora tem um modo de exibição de visualização de raios, para ver como os raios são lançados sobre a geometria e depois rastreá-los. Cada raio rastreado é invocado por uma chamada específica aDispatchRays() na lista de eventos. Isso representa tanto os raios primários quanto os secundários. No entanto, diferentemente do PIX on XBOX, os recursos de cores de raios e mapa de calor não podem ser implementados aqui devido à visibilidade limitada das BVHs. Além disso, não há carimbos de data/hora em HLSL no PC.
Um novo modo de exibição de árvore hierárquica também está disponível. Ele mostra as instâncias e geometrias que compõem sua TLAS e suas estruturas de aceleração de nível inferior (BLASs). Esse modo de exibição contém informações sobre cada instância ou geometria, incluindo tamanho, sinalizadores, transformação e outras propriedades. Você também pode mostrar ou ocultar cada instância ou geometria individual no visualizador e classificar suas BLASs por tamanho dentro da TLAS.
Figura 15. Visualizador Acceleration Structure do PIX on Windows.

ClosestHit, AnyHit, Miss ou Callable de um evento DispatchRays() específico. Esse modo de exibição também fornece informações relevantes sobre a origem do raio, os índices de dispatch, o tipo de sombreador e a direção.
Figura 16. Modo de exibição Invocations do PIX on Windows.

Memória e recursos
O PIX oferece vários recursos poderosos para ajudar você a entender e otimizar o uso de memória. Isso é especialmente importante para plataformas com memória limitada, como o XBOX Series S. Uma atualização do GDK de março de 2024 forneceu 500 MB adicionais de memória para esses consoles, oferecendo mais flexibilidade no gerenciamento de recursos.Modo de exibição API Objects Summary do PIX on XBOX
O modo de exibição API Objects Summary no PIX on XBOX mostra todos os objetos de API do Direct3D em uma captura. Anteriormente, esse modo de exibição tinha problemas de desempenho e era difícil de navegar porque havia muitos objetos. O modo de exibição de API agora começa com um modo de exibição de resumo que é preenchido mais rapidamente do que o modo de exibição detalhado. Você ainda pode alternar entre os dois modos de exibição na interface do usuário. Figura 17. Modo de exibição API Objects Summary do PIX on XBOX.
- Vá para o modo de exibição API Object Summary.
- Filtre para mostrar apenas recursos.
- Localize a coluna Size.
- Selecione o cabeçalho da coluna de tamanho para classificar os elementos por tamanho.

Modo de exibição Pipeline State Object
O modo de exibição Pipeline State Object está disponível desde o GDK de junho de 2023. O desempenho e a precisão desse modo de exibição vêm sendo continuamente aprimorados. Um recurso-chave é o botão de filtro. Ele filtra todos os objetos de estado de pipeline (PSOs) não utilizados na captura, mostrando apenas o que está sendo usado. Isso torna o modo de exibição muito mais útil ao fazer uma captura de GPU. Uma guia de histórico agora mostra quais GIDs usam o PSO selecionado. Você também pode selecionar o estágio do sombreador em um menu suspenso, e a seção do meio exibe os sombreadores vinculados a esse PSO. Esse modo de exibição também inclui as edições feitas no PIX nos códigos-fonte dos sombreadores. Figura 19. Modo de exibição Pipeline State Object do PIX on XBOX.
Modo de exibição Texture MIP Statistics do PIX on XBOX
O modo de exibição Texture MIP Statistics fornece informações valiosas sobre quantas solicitações de busca de textura cada recurso recebeu. Para uma captura de GPU, esse modo de exibição mostra todas as solicitações de MIP feitas a esse recurso durante a reprodução e indica o nível de MIP mais alto solicitado. Esse modo de exibição é útil para investigações de desempenho. Ele pode ajudar a identificar se um recurso está criando desnecessariamente MIPs que nunca são solicitados ou se há uma textura para a qual apenas o MIP 0 é solicitado. Essas informações podem ser um ponto de partida para otimizar o uso de recursos. Figura 20. Modo de exibição Texture MIP Statistics.
Modo de exibição Edits do PIX on XBOX
O modo de exibição Edits é uma ferramenta abrangente para acompanhar alterações. Use-o para acessar todas as edições atuais, revertê-las e ver uma lista de todos os GIDs afetados por essas alterações. Esse modo de exibição é especialmente útil para fazer alterações sem o trabalho de localizá-las depois. Clique com o botão direito do mouse em qualquer edição para compará-la com o código-fonte original. Isso fornece uma diferença entre o sombreador original e a versão editada. Você pode usar sua ferramenta de comparação de arquivos preferida, como WinDiff ou Beyond Compare. Configure isso nas configurações gerais, e o PIX usará sua ferramenta como padrão para comparar edições. Figura 21. Modo de exibição Edits.
Modos de exibição ao vivo de memória e recursos
Novos modos de exibição ao vivo foram adicionados para gerenciar memória e recursos. Anteriormente, o System Monitor no PIX mostrava contadores, o Remote View e o status da conexão. Os modos de exibição das capturas de GPU estão integrados ao modo de exibição ao vivo.Modos de exibição ao vivo de GPU do PIX on XBOX
Figura 22. Modos de exibição ao vivo de GPU do PIX on XBOX.
Gráficos de alocação de memória ao vivo
Os gráficos de alocação de memória mostram informações detalhadas sobre o uso de memória do seu jogo. Isso inclui a alocação de memória entre o jogo e o sistema e o uso de memória para texturas, destinos de renderização e buffers. Esse recurso foi projetado para melhorar a economia de memória nos consoles XBOX Series S. Figura 23. Gráficos de alocação de memória ao vivo.
Modo de exibição Live API Objects
O modo de exibição Live API Objects foi integrado à seção Live tools. Ao pausar o jogo e classificar por tamanho, você pode identificar rapidamente os elementos grandes e ver o que está carregado e o que não está. Faça essas verificações diretamente no modo de exibição ao vivo. Isso elimina a necessidade de uma captura de GPU. Figura 24. Modo de exibição Live API Objects do PIX on XBOX.

Extensibilidade do Mesh and Texture Viewer do PIX on XBOX
A extensibilidade do Mesh and Texture Viewer é um novo recurso introduzido no PIX on XBOX em agosto de 2024. O PIX tem várias maneiras de visualizar texturas em um draw ou dispatch. Por exemplo, a extensibilidade do visualizador de malhas e texturas pode exibir destinos de renderização no modo wireframe, ver o overdraw de cada pixel ou determinar quais pixels foram desenhados e quais não foram no evento atual. Esse novo recurso fornece visualizações personalizadas usando sombreadores de computação para buffers e texturas. Sempre que você seleciona um recurso de textura ou buffer no modo de exibição de pipeline do PIX, pode alternar as visualizações escolhendo em uma lista de opções personalizadas disponíveis no menu suspenso de visualização. Figura 26. Menu suspenso de visualização.
Habilitar a visualização do Mesh and Texture Viewer
O recurso de visualização do Mesh and Texture Viewer está desativado por padrão. Você pode reabilitá-lo nas configurações do PIX. Para localizar seus sombreadores personalizados, adicione o local deles aos caminhos de Extensibility. Você precisará fornecer os arquivos de cabeçalho relevantes se quiser expor os arquivos de cabeçalho do seu projeto aos sombreadores de computação; por exemplo, para referenciar um buffer de constantes que você definiu no seu projeto. Figura 27. Habilitar a visualização do Mesh and Texture Viewer.
Modelo de programação de extensibilidade
O PIX compila os sombreadores para que você tenha acesso a todos os recursos vinculados por meio da chamada. Registros especiais fornecem acesso a todos os recursos disponíveis para o draw ou dispatch selecionado. Os exemplos incluem os seguintes:PixExt_SelectedResourceRegister: dá acesso ao recurso atualmente selecionado no modo de exibição de pipelinePixExt_RenderTargetRegister0: RTV0PixExt_IndexBufferRegister: buffer de índicesPixExt_VertexBufferRegister0: buffer de vértices 0PixExt_IndirectArgs: buffer de argumentos indiretos
void PixExt_StorePixel_Int(uint2 offset, int4 pixel)void PixExt_StoreVertex(uint offset, float4 vertex)
Declaração de função de extensibilidade
A visualização é definida em um sombreador de computação fornecido por você. O PIX reinterpreta os dados de entrada e gera uma malha ou uma imagem. O structPixExt_ComputeInput é um struct auxiliar opcional que pode ser fornecido ao ponto de entrada do sombreador de computação. Ele deve se chamar main. Esse struct encapsula os valores de sistema típicos de sombreadores de computação e é mostrado no exemplo a seguir.
Exemplos de extensibilidade do Texture Viewer
Veja a seguir um exemplo de sombreador de computação de amostra incluído no GDK de março de 2024. Ele verifica valoresNaN e usa magenta para colorir todos os pixels encontrados.
PixExt_SelectedResourceRegister referencia o recurso selecionado no modo de exibição de pipeline. Isso elimina a necessidade de apontar manualmente para esse recurso a partir do sombreador de computação. No exemplo a seguir, o valor da textura de entrada é carregado usando a ID do thread de dispatch como coordenadas de textura.
PixExt_StorePixel_Float grava no recurso de saída. Ele é uma textura para o visualizador de texturas. Para o visualizador de malhas, a saída é um par de buffers de índices e de vértices usado pelo PIX para renderizar a malha de saída.
Suporte a recursos do Direct3D
O suporte a recursos do Direct3D foi adicionado ao PIX on XBOX e ao PIX on Windows, conforme mostrado na tabela a seguir.
As barreiras aprimoradas fazem parte do suporte a recursos do Direct3D no PIX on XBOX desde o GDK de março de 2023. O suporte a rasterized order views (ROVs) foi introduzido no GDK de março de 2024. Esse recurso mostra quando ROVs são usados em um sombreador. Os recursos vinculados aparecem como ROVs em vez de Unordered Access Views (UAVs) padrão. Suporte a
DirectML no PIX on XBOX. Para obter mais informações, entre em contato com seu gerente de conta da Microsoft.
O PIX on Windows dá suporte a barreiras aprimoradas, ROVs e DirectML. Também foi adicionado suporte a work graphs, heaps de upload de GPU, amostragem não normalizada e vários dispositivos Direct3D em um jogo.
Desempenho do Timing Capture do PIX
O desempenho do Timing Capture foi melhorado com a aceleração do carregamento de símbolos e a reformulação dos eventos do PIX para reduzir a sobrecarga da CPU.Recursos do Timing Capture
Além das melhorias de desempenho, novos recursos foram adicionados aos Timing Captures. Entre eles estão os seguintes.- Modo de exibição Summary
- Checklist
- Circular Timing Captures
- Modo de exibição Memory
- Consolidated Events Editor do modo de exibição Metrics
- Flame graph de funções amostradas
Modo de exibição Summary
O modo de exibição Summary foi aprimorado para fornecer mais informações do que antes. Figura 28. Modo de exibição Summary.



Checklist
O recurso Checklist do PIX é gerado usando capturas de GPU. Desde o GDK de outubro de 2023, ele também foi estendido aos Timing Captures de CPU. Regras de detecção estão sendo adicionadas. Você poderá adicionar suas próprias regras personalizadas. Figura 32. Modo de exibição Checklist.
Circular Timing Captures
O modo Circular Timing Capture foi introduzido no GDK de outubro de 2023. Esse modo era conhecido anteriormente como Continuous Timing Captures. Use esse modo para iniciar uma captura e deixá-la em execução. Ele salva apenas os últimos segundos da captura depois que você a interrompe. Esse modo é particularmente útil para capturar problemas de longa duração difíceis de encontrar, como um comportamento intermitente que parece conter bugs e ocorre aleatoriamente após longos períodos de jogo. As APIs para dar suporte programático a esse modo foram lançadas na versão de março de 2024. Com isso, você pode integrar esse modo aos seus cenários de automação. No entanto, os dados de carimbo de data/hora da GPU não têm suporte nesse modo. No momento, não há planos de incorporá-los. Se esse recurso for útil para você, entre em contato com a equipe do PIX. Figura 33. Circular Timing Captures.
Modo de exibição Memory
Um novo modo de exibição Memory está disponível nos Timing Captures a partir do GDK de março de 2024. Ele fornece uma ferramenta poderosa para analisar o uso de memória nos seus projetos de desenvolvimento de jogos. Ele permite registrar informações detalhadas sobre alocações de memória e identificar possíveis vazamentos de memória. Para habilitar esse recurso, ative pelo menos um dos tipos de alocação ou eventos de falha de página. Depois de habilitar as configurações necessárias, execute o Timing Capture normalmente. Após a conclusão da captura, o modo de exibição Sample Memory Access é exibido. Ele mostra as alocações realizadas pelo jogo durante a captura. Esse modo de exibição fornece informações sobre onde as alocações ocorrem ao longo do tempo e o tipo de alocação (CPU, GPU ou ferramentas). Observe que essa é uma abordagem baseada em amostragem, portanto, ela pode não capturar 100% das alocações. Figura 34. Configurações para habilitar o modo de exibição Memory.

- Intervalo de tempo
- Tamanho da página de memória (por exemplo, mostrar apenas alocações de 64 KB)
- Designação (CPU, GPU ou ferramentas)
Consolidated Events Editor
O recurso Consolidated Events Editor do modo de exibição Metrics agrupa automaticamente eventos de vários quadros usando padrões de agrupamento especificados. Edite a expressão regular para se ajustar aos seus esquemas de nomenclatura. Por exemplo, você pode nomear seus eventos usando um padrão de numeração sequencial (update1 no frame1, update2 no frame2 e update3 no frame3). Você pode agrupá-los facilmente usando regex. Use-os para analisar o conjunto de eventos como um grupo. Isso é útil para identificar valores discrepantes ou outros padrões que podem não ser visíveis ao examinar um único evento. Figura 36. Consolidated Events Editor do modo de exibição Metrics.
Flame graph de funções amostradas
Os flame graphs de funções amostradas são um novo recurso do PIX. Esses gráficos mostram quais funções foram chamadas durante um evento usando o gráfico que aparece diretamente abaixo dos nomes dos eventos. O gráfico é gerado usando amostras, portanto, uma taxa de amostragem mais alta resulta em maior precisão. Os flame graphs são valiosos para visualizar toda a árvore de funções chamadas e suas durações aproximadas na linha do tempo. Figura 37. Flame graph de funções amostradas.
Layouts do PIX
Os layouts do PIX podem ser personalizados. A Figura 38 mostra o layout de um modo de exibição no PIX e destaca o que pode ser personalizado. Um modo de exibição consiste em um cabeçalho de slot e um ou mais slots. Você pode mover modos de exibição para qualquer cabeçalho de slot e selecioná-los para exibição no slot associado. Se nenhum outro slot estiver agrupado em uma área específica da tela, um slot pode ser exibido sem cabeçalho de slot. Figura 38. Layout do PIX.
Slots recolhíveis
A Figura 39 mostra como os modos de exibição podem ser recolhidos selecionando o botão de subtração no cabeçalho do slot. Selecionar esse botão novamente restaura o slot. Figura 39. Slots recolhíveis
Habilitar o modo de design de layout
A Figura 40 mostra o ícone para reorganizar seus modos de exibição. Selecione o ícone Design Mode ao lado do nome e do endereço IP do kit de desenvolvimento conectado para iniciar o processo. Figura 40. Habilitar o modo de design de layout.
Modo de design
A Figura 41 mostra a caixa de diálogo exibida quando o modo de design é ativado. Observe os botões New Window e New Tab destacados em verde. Para obter mais informações sobre o modo Layout Design, confira Configurando a interface do usuário do PIX. Foi adicionada a opção de salvar seus layouts favoritos. Ocasionalmente, uma nova versão do GDK redefinirá o PIX para o layout padrão para mostrar alterações relevantes. Se você instalar um novo GDK e preferir seu modo de exibição personalizado ao padrão, poderá reverter facilmente para o layout salvo selecionando-o no menu. Figura 41. Modo de design.
Caixa de diálogo de layouts alternativos
A Figura 42 mostra a caixa de diálogo para restaurar layouts alternativos. Figura 42. Caixa de diálogo de layouts alternativos.
Próximas etapas
Se você quiser revisar os materiais da apresentação relacionados a esta visão geral, baixe os seguintes arquivos do XBOX Developer Download Secure Data Storage (SDS).- Slides: G03.EN_Whats_New_In_PIX.XboxDevDays2024.pptx em Dev Days 2024 US Graphics Track Presentations (en-US) (May 2024) (DevDays2024USGraphicsTrackPresentations-en-US-May2024.ZIP)
- Apresentação em vídeo: G03US.EN_WhatsNewInPIX.XDD2024.mp4 em DevDays2024-enGraphicsTrackVideos-DD.EN.2024.05.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 as seguintes apresentações de gráficos.
- Dev Days 2024 US Graphics Track Presentations (en-US) (May 2024)
- Dev Days 2024 (en) Graphics Track Videos (DD.EN.2024.05)
- Selecione Download Now e aguarde a conclusão do download do arquivo .zip.
- Vá para a pasta Downloads local e descompacte (extraia) os arquivos da pasta compactada.
