Captura informações de elementos gráficos
Você pode capturar informações de gráficos para usar com as ferramentas de diagnóstico de elementos gráficos Visual Studio para diagnosticar problemas de processamento em apps baseados em DirectX.
Você pode capturar manualmente as informações de elementos gráficos ou por meio de programação.Para capturar manualmente, execute o app do Visual Studio e então escolha o botão de Capturar Quadro .Para capturar programaticamente, use a captura API, que é incluída em Visual Studio, no código-fonte do seu app para especificar quando os quadros devem ser detectados.
Você também pode impedir que informações de elementos gráficos sejam capturadas de seu app.
Captura informações de gráficos manualmente
Use o botão Capture Frame na barra de ferramentas do Graphics Diagnostics para capturar manualmente um quadro de informações de elementos gráficos de um app Direct3D em execução.Para capturar vários quadros, escolha o botão várias vezes.Antes de poder capturar quadros manualmente, você precisa iniciar o aplicativo do Visual Studio e ter os Diagnóstico Gráficos ativados.
Visual Studio usa as informações detectadas posteriormente para recriar os quadros capturados para que você possa usar as ferramentas de diagnóstico de imagens para examinar detalhadamente.
Para iniciar um app com diagnósticos de elementos gráficos ativados
- Na barra de menus, escolha Depurar, Gráficos, Iniciar o Diagnóstico.(Teclado: Pressione Alt+F5)
Após os Diagnósticos de Gráficos participarem de um aplicativo, é possível capturar informações de gráficos para quantos quadros você deseja.Cada vez que você inicia uma captura, os eventos do Direct3D que ocorrem durante o próximo quadro são gravados, juntamente com os objetos do Direct3D e os recursos que os suportam.A gravação começa imediatamente depois que o quadro atual é apresentado e termina quando o quadro que você deseja capturar é apresentado.
Para capturar um quadro de informações de elementos gráficos
- Na barra de ferramentas Diagnóstico de Gráficos, clique no botão Capturar Quadros. (Teclado: Com o aplicativo em foco, pressione Imprimir Tela)
Quando o primeiro quadro é capturado, o Visual Studio cria um log gráfico para armazenar as informações.Quadros capturados adicionais são adicionados ao log.Se você fechar o documento de log dos gráficos (.vsglog) em Visual Studio enquanto o aplicativo está executando, você não pode capturar mais quaisquer quadros de informações de gráficos, mas você pode continuar a depurá-lo usando o depurador Visual Studio.Para capturar mais informações sobre elementos gráficos, pare a depuração do app e use o comando Iniciar Diagnósticos para iniciar novamente o app.
Captura informações de gráficos programaticamente
Às vezes não é prático ou é impossível confiar na captura manual para coletar informações sobre um problema de renderização que você está tentando resolver.Por exemplo, alguns tipos de problemas podem ser muito intermitentes para serem reproduzidos manualmente, mas as condições do programa que fazem com que possa ser conhecidos; ou você pode precisar coletar informações de gráficos em um sistema que não oferece suporte para captura manual porque não oferece suporte ao Visual Studio, como é o caso com dispositivos RT do Windows.Para essas situações, o Visual Studio inclui a API que você pode chamar programaticamente para capturar informações de gráficos em um log.Depois que o programa tiver terminado a execução, é possível abrir o logon de gráficos no Visual Studio para investigar os problemas registrados.
Para obter informações sobre como habilitar a captura programática em seu aplicativo e como configurar o computador que o executará para oferecer suporte à captura programática, consulte Passo a passo: Captura de informações de elementos gráficos programaticamente.
Impedindo a captura de informações de elementos gráficos
Antes de publicar seu aplicativo, é possível desativar os Diagnósticos Gráficos e outras ferramentas de perfil para impedir que os usuários descubram como seu aplicativo usa o API Direct3D.Essas informações poderiam ser usada de forma ilícita.Para mais informações, consulte Como: desativar o diagnóstico de gráficos no seu aplicativo.
Documentos de log de gráficos
Documentos de log de gráficos armazenam informações de gráficos coletadas durante uma sessão de captura de Diagnósticos Gráficos.Uma sessão de captura pode ser iniciada de forma manual ou programada.Os logs de gráficos contêm um ou vários quadros capturados de um aplicativo de gráficos executando o DirectX.Para cada quadro detectado, uma lista de cada evento do Direct3D que ocorreu durante o quadro é registrada.Isso inclui suporte aos eventos de Direct3D que ocorreram anteriormente — por exemplo, criação de dispositivo gráficos — e suporte a sombreadores, modelos, texturas e outros recursos gráficos.Como cada log de gráficos é independente, estes quadros pode ser recriados a qualquer momento, passo a passo e sem informações externas ou referências.Você pode compartilhar logs de elementos gráficos, e pode examinar problemas de um computador diferente daquele usado para capturar os dados ou para desenvolver código.Além disso, é possível examinar os logs gráficos antigos mesmo quando os modelos e as texturas foram alterados durante o desenvolvimento.Quando você usa o Graphics Diagnostics para diagnosticar problemas de elementos gráficos, você pode revisar qualquer chamada API do Direct3D e seu estado associado, os vértices individuais nos buffers e até como os pixels individuais são afetados por chamadas de desenho.
Observação |
---|
Embora os elementos gráficos registrem em log as informações mais relevantes internamente, informações adicionais são necessárias para utilizar totalmente recursos de Diagnóstico de Gráficos.Por exemplo, para fazer uso completo de recursos da pilha de chamadas de gráficos, você também precisa ter o arquivo de banco de dados do programa (.pdb) e o código-fonte de aplicativo e depurar o código-fonte do sombreador HLSL, também precisa ter o código-fonte do sombreador (se o sombreador é compilado usando o compilador de sombreamento D3D11.1 e a informação de depuração está ativada, o código-fonte do sombreador será integrado no log de gráficos durante a captura). |
Observação |
---|
Você pode extrair, modificar e salvar cópias das malhas e texturas de um registro de elementos gráficos usando as ferramentas de elementos gráficos que fazem parte do Visual Studio.No entanto, o conteúdo do log de elementos gráficos não são afetados por essas modificações.Para obter informações sobre essas ferramentas de gráficos, consulte Trabalhando com ativos 3D para jogos e aplicativos. |
Consulte também
Tarefas
Como: desativar o diagnóstico de gráficos no seu aplicativo
Passo a passo: Captura de informações de elementos gráficos manualmente
Passo a passo: Captura de informações de elementos gráficos programaticamente