Partilhar via


Passo a passo: Captura de informações de elementos gráficos programaticamente

Essa explicação passo a passo demonstra como usar o Graphics Diagnostics de Visual Studio para capturar programaticamente informações de elementos gráficos do app Direct3D.

Essa explicação passo a passo ilustra essas tarefas:

  • Preparando o computador para usar captura programática.

  • Preparando o aplicativo para usar captura programática.

  • Configurando o nome e o local do arquivo de log gráfico.

  • Usando o API CaptureCurrentFrame.

Preparando o computador para usar captura programática

A API de captura programática utiliza ferramentas remotas para que o Visual Studio forneça funcionalidade de captura.O computador onde o aplicativo será executado deve ter as ferramentas remotas instaladas, mesmo quando você estiver usando a captura programática em seu computador local.Visual Studio não precisa executar ao executar a captura programática em um computador local.

Para usar as APIs de captura remotas em um app que está executando em um computador, você primeiro precisará instalar as ferramentas remotas para Visual Studio nesse computador.As diferentes versões das ferramentas remotas suportam diferentes plataformas de hardware.Para obter informações sobre como instalar as ferramentas remotas, consulte Página de download das ferramentas remotas no site de download da Microsoft.

Como alternativa, o Visual Studio instala os componentes necessários para executar a captura remota para aplicativos de 32 bits.

ObservaçãoObservação

Como a maioria dos aplicativos de área de trabalho do Windows - incluindo Visual Studio - não é suportada no Windows 8 para dispositivos ARM, usar as Ferramentas Remotas para o Visual Studio juntamente com os APIs de captura programática é a única maneira para capturar diagnóstico gráficos em dispositivos ARM.

Preparando o aplicativo para usar captura programática

Para usar as ferramentas Graphics Diagnostics, primeiro você precisa capturar informações de elementos gráficos em que ela se apoia.Você pode programaticamente capturar informações usando CaptureCurrentFrame API.

Para preparar o app para capturar programaticamente as informações de elementos gráficos

  1. Certificar-se de que o cabeçalho vsgcapture.h está incluído no código-fonte para o aplicativo.Ele pode ser incluído em apenas um local, por exemplo, no arquivo de código-fonte de onde você chamará a API de captura programática, ou em um arquivo de cabeçalho pré-compilado para chamar a API de múltiplos arquivos de código-fonte.

  2. No código fonte para o aplicativo, sempre que você deseja capturar o restante do quadro atual, chame g_pVsgDbg->CaptureCurrentFrame().Esse método não recebe parâmetros e não retorna um valor.

Configurando o nome e o local do arquivo de log gráfico

O registro de elementos gráficos é criado no local definido pelos macros DONT_SAVE_VSGLOG_TO_TEMP e VSG_DEFAULT_RUN_FILENAME .

Para configurar o nome e o local do arquivo de log de elementos gráficos

  • Para evitar que os logs gráficos sendo registrados no diretório temporário, antes da linha #include <vsgcapture.h> adicione isso:

    #define DONT_SAVE_VSGLOG_TO_TEMP
    

    Você pode definir esse valor para gravar o registro de elementos gráficos em um local relacionado ao diretório de trabalho, ou a um caminho absoluto se a definição de VSG_DEFAULT_RUN_FILENAME for um caminho absoluto.

  • Para salvar o log gráfico para um local diferente ou fornecer um nome de arquivo diferente, antes da linha #include <vsgcapture.h> adicione isso:

    #define VSG_DEFAULT_RUN_FILENAME <filename>
    

    Se você não executar esta etapa, o nome de arquivo é default.vsglog.Se você não definiu DONT_SAVE_VSGLOG_TO_TEMP, então o local do arquivo é relativo ao diretório temporário; caso contrário, é relativo ao diretório de trabalho ou em outro local se você especificar um nome de arquivo absoluto.

Para aplicativos Windows Store, a localidade do diretório temporário é específico para cada usuário e aplicativo, e está localizado normalmente em um local como C:\users\nome de usuário\AppData\Local\Packages\nome da família de pacote\TempState\.Para aplicativos da área de trabalho, o local do diretório temporário é específico para cada usuário e está normalmente localizado em um local como C:\Users\nome de usuário\AppData\Local\Temp\.

ObservaçãoObservação

Para gravar em um local específico, você deve ter permissões para escrever nesse local; caso contrário, ocorrerá um erro.Tenha em mente que os aplicativos Windows Store são mais restritos do que os aplicativos sobre onde podem gravar dados e pode exigir configuração adicionar para gravar em certos locais.

Captura as informações de gráficos

Depois de preparar o aplicativo para a captura programática e configurou opcionalmente o local e o nome do arquivo de log de gráficos, compile o aplicativo e execute ou depure para capturar dados; não inicie os diagnósticos de gráficos pelo Visual Studio ao usar a captura programática de API.O registro de elementos gráficos é escrito no local que você especificou.Se você quer manter esta versão do log, mova-o para outro loca, caso contrário, ele será substituído, quando você executar o aplicativo novamente.

DicaDica

Você ainda pode capturar manualmente as informações de elementos gráficos ao usar a captura programática pressionando Print Screen com app em foco.Você pode usar isto para capturar informações adicionais de elementos gráficos que não são capturadas pelo uso de captura programática API.

Próximas etapas

Essa explicação passo a passo demonstrou como capturar programaticamente informações de elementos gráficos.Como próxima etapa, considere esta opção:

  • Aprender como analisar as informações de gráficos capturados usando as ferramentas de Diagnóstico dos Gráficos.Consulte Diagnóstico de gráficos.

Consulte também

Tarefas

Passo a passo: Captura de informações de elementos gráficos manualmente

Conceitos

Captura informações de elementos gráficos