Desempenho Profiling Tools for WPF

WPF fornece um conjunto de ferramentas para traçar o perfil de desempenho que lhe permitem analisar o comportamento em tempo de execução da sua aplicação e determinar que tipos de otimização de desempenho você pode aplicar. A tabela a seguir lista as cinco ferramentas de perfilização de desempenho incluídas na ferrametna Windows SDK, WPFPerf:

Ferramenta

Descrição

Perforator

Utilize para analisar comportamento de renderização.

Visual Profiler

Usar para fazer o profile de uso de WPF serviços, sistema autônomo o layout e de manipulação de eventos, sistema autônomo elementos da árvore visual.

Trabalho conjunto Analyzer

Utilize para analisar as características do conjunto de trabalho da sua aplicação.

Event Trace

Utilize para analisar eventos e gerar arquivos de log de eventos.

Visualizador de rastreamento ETW

Grave, exiba e percorra os arquivos de log do Event Tracing for Windows (ETW) num formato de interface de usuário do WPF.

Este tópico contém as seguintes seções.

  • Usando ferramentas de criação de perfil de desempenho
  • Perforator
  • Visual Profiler
  • Trabalho conjunto Analyzer
  • Event Trace
  • Visualizador de rastreamento ETW
  • Outros recursos da ferramenta desempenho
  • Tópicos relacionados

Usando ferramentas de criação de perfil de desempenho

Depois que você instalou o Windows SDK, você tem a opção para instalar o WPF Suite de desempenho.

ObservaçãoObservação:

Antes de instalar o pacote de desempenho, remover versões mais antigas WPFPerf.exe.

A primeira vez que executar WPFPerf, a Adicionar ferramenta caixa de diálogo é exibida:

Caixa de diálogo Adicionar Ferramenta

Caixa de diálogo Adicionar Ferramenta

Escolher ferramentas que deseja usar e clicar OK.

ObservaçãoObservação:

Em ordem para Use o desempenho de ferramentas para criação de perfis, sua conta de usuário deve estar sendo executado com acesso administrativo.

Perforator

Perforator é uma ferramenta para analisar o comportamento de renderização de criação de perfil de desempenho. A janela principal do Perforator exibe um conjunto de opções que permitem analisar o comportamento de renderização muito específica em partes do seu aplicativo.

Janela principal do Perforator

Janela principal do Perforator

Perforator lhe permite conjunto várias opções que afetam o comportamento de renderização em time real do aplicativo:

Opção

Descrição

Desenhar o renderização de software com roxo tonalidade

Desenha todas as áreas processadas usando o pipeline de renderização de software com um tom roxo. Isso inclui destinos de renderização do software, conteúdo 3D de software e software por primitivo fallback.

desmarcar back-buffer antes de atualizar

Limpa as janelas do aplicativo antes de cada operação de desenho.

Mostrar sobreposição de atualização de região com problemas

Faz com que cada atualização WPF faz a tela para ser indicada por re-coloring. Isso permite que você consulte quando e onde as áreas são redesenhadas em um aplicativo.

Desative o suporte a região com problemas

Causas WPF para redesenhar toda a janela a qualquer momento uma alterar é feita. Normalmente, somente a parte da janela que foi alterado é redesenhada. Ativar essa opção faz com que seu aplicativo para processar muito mais lentamente.

desabilitar efeitos de opacidade

Desativa determinados usos potencialmente alto de desempenho de opacidade.

Desabilitar o software por primitivo fallback

Desativa o software de fallback para primitivos de renderização individuais. Software intermediário processar destinos e Outros renderização do software não pode ser desabilitado.

desabilitar rescaling de alta qualidade imagem

Desativa rescaling de imagens grandes em tamanhos menores.

desabilitar renderização 3D

Desativa todas as operações de renderização 3D

Ativar a opção de controle do depurar

The Habilitar controle de depurar caixa de seleção permite habilitar ou desabilitar o acesso a WPF memória compartilhada. Por padrão, Perforator habilita esta opção na inicialização e desativa essa opção na finalização. No caso de uma finalização anormal do Perforator, reiniciá-lo e desmarcar manualmente o Habilitar controle de depurar caixa de seleção para desabilitar o acesso ao WPF memória compartilhada. Em seguida, reinicie Perforator e o WPF aplicativo que foram definindo o perfil.

ObservaçãoObservação:

Ativar isso opção pode causar um pequeno aumentar na memória uso e uma pequena queda no desempenho Quando executando WPF aplicativos. Você deve certificar-se de que Perforator desativa essa opção corretamente.

Configuração de chave do registro

The Habilitar controle de depurar caixa de seleção adiciona ou exclui um WPF configuração da chave do registro. Para adicionar o chave do Registro definindo manualmente, execute o seguinte comando em uma janela Comando:

reg add HKLM\SOFTWARE\Microsoft\Avalon.Graphics /v EnableDebugControl /t REG_DWORD /d 1 /f

Para excluir o registro a configuração da chave manualmente, execute o seguinte comando em uma janela Comando:

reg delete HKLM\SOFTWARE\Microsoft\Avalon.Graphics /v EnableDebugControl /f

Usando Perforator

Para usar Perforator, inicie o WPF aplicativo cujo comportamento de renderização que você deseja analisar. Depois que o aplicativo foi iniciado, clicar no Atualizar botão Perforator. O aplicativo deve agora aparecem na caixa de listagem Perforator de WPF aplicativos. selecionar o aplicativo e as opções de renderização que você deseja analisar. Dados Perforator valores, sistema autônomo quadro taxa, imediatamente reflete o comportamento de renderização do aplicativo.

Perforator com aplicativos e renderização opções selecionadas

Janela principal do Perforator com opções selecionadas

A seguinte captura de tela exibe o aplicativo de exemplo PhotoDemo com o "desenhar o processamento de software com roxo tonalidade" e "Mostrar região sujo suporte" processar opções ativadas:

Aplicativo de exemplo PhotoDemo exibe o comportamento de renderização

Aplicativo Photodemo mostrando opções de renderização do Perforator

As seções a seguir abordam os problemas de desempenho principais envolvidos na renderização e como Perforator opções e a saída de dados podem ajudar você diagnosticar esses problemas.

Evitar o renderização de software

Porque o WPF pipeline de renderização de hardware é substancialmente mais rápido que seus pipeline de renderização de software, o aplicativo menos UI que processa no software, o renderização mais rápido em que o aplicativo fique. Normalmente o time necessário para processar uma área no software é proporcional ao número de pixels processados, portanto, ter cautela ao grandes áreas processadas usando o pipeline de software; pequenas áreas são menos preocupação.

Aqui estão as opções de Perforator podem ajudar a detectar problemas de renderização de software:

  • Desenhar o renderização de software com roxo tonalidade: Desenha todas as áreas processadas usando o pipeline de renderização de software com um tom roxo. Isso inclui destinos de renderização do software, conteúdo 3D de software e software por primitivo fallback.

  • Software num Render destinos: Contagens de janela inteira processar destinos que estão sendo executados inteiramente no software. Se a contagem não for 0, isso representa um problema de desempenho significativas, geralmente relacionado a configuração de computador ou a presença de janelas em camadas. Certifique-se de que Microsoft Direct3D está habilitado (executar dxdiag), certifique-se de que todos os monitores estejam definidos para 32 bits por pixel (BPP) profundidade de bit e certifique-se de que a placa gráfica é compatível com Microsoft DirectX 9.0.

  • Destinos de processamento num hardware: Contagens de janela inteira processar destinos que estão sendo executados no hardware. Esse número deve ser igual ao número de janelas do aplicativo, vezes o número de adaptadores de vídeo. Isso indica que um aplicativo está sendo hardware acelerado sempre que possível.

Evitar grandes números de destinos de processamento intermediário

Destinos de processamento intermediário são imagens adicionais que WPF precisa desenhar para obter conteúdo pronto para o desenho na tela.

  • IRTs HW/SW máximo por quadro: Mostra o número máximo de software ou hardware intermediário destinos Render sendo aplicado ao processar qualquer um quadro do aplicativo. Destinos intermediários Render geralmente são causados pelo uso de DrawingBrush, VisualBrush, Opacity em um Visual, ou organizar organizar lado a lado a organizar lado a lado modos em uma TileBrush. Se esse número for muito alto, ela poderá ser uma indicação de que o WPF tempo de execução é executar uma grande quantidade de trabalho para processar seu aplicativo.

Métrica de desempenho úteis

  • Taxa de inclusão Rect suja: Indica que estão sendo acionadas atualizações rápidas em seu aplicativo.

  • Taxa de quadros: Reporta a taxa em que o aplicativo está processando a tela. Para aplicativos sem animação, esse valor deve estar próximo a 0, desde que as otimizações de região sujo devem evitar o desenho, exceto quando necessário. Trate esse número sistema autônomo uma estimativa.

  • Estima o uso de memória de vídeo: Faixas grandes alocações de memória de vídeo feitos diretamente por WPF (as texturas e destinos de processamento). Isso não controla as alocações feitas por um determinado driver de vídeo durante a renderização, alocações causadas pela compilação e carregamento de sombreadores pixel ou vértice ou alocações para buffers de vértice ou índice. Observe que exceder a quantidade disponível de memória de textura geralmente fará com que WPF processar a lógica para cair ao software e que vários monitores (multi-mês) tem um efeito multiplicative na quantidade de memória de vídeo necessária para um aplicativo.

Suporte Dirty região

Porque Windows Presentation Foundation (WPF) somente partes de atualizações da janela conforme necessário, pode ser útil visualizar que proporção da janela está sendo atualizada a qualquer momento. As seguintes opções de ajudam a visualizar os comportamentos de atualização.

  • Mostra sobreposição de região dirty atualização: Faz com que cada atualização WPF faz a tela para ser indicada por Recolorir. Isso permite que você veja quais áreas estão redesenhadas em um aplicativo em execução e quando.

  • Limpe o buffer de fundo antes do renderização: Faz com que a janela a ser limpos antes de cada operação de desenho.

  • desabilitar Dirty região suporte: Causas WPF para redesenhar toda a janela sempre que qualquer alterar é feita, em vez de redesenho apenas parte da janela que foi alterado. Isso pode ser útil para forçar sua janela inteira para atualizar, mas ser avisado: permitindo que isso fará com que seu aplicativo para processar muito mais lentamente.

Desativar recursos de renderização

Perforator permite desabilitar determinadas operações de alto desempenho para determinar se eles estão causando gargalos em seu aplicativo.

  • Efeitos de opacidade desabilitar: Desativa determinados usos potencialmente alto de desempenho de opacidade. Para evitar esse problema de desempenho em geral, considere definir a opacidade em um objeto de nível inferior, sistema autônomo Brush, em vez de um objeto de alto nível, sistema autônomo Button.

  • Desabilitar o software por primitivo alternativa: Desativa o software de fallback para primitivos de renderização individuais. Software intermediário processar destinos e Outros renderização do software não pode ser desabilitado.

  • desabilitar rescaling de alta qualidade imagem: WPF Redimensiona grandes imagens de aparência melhor se eles estiverem sendo exibidos em um dimensionar pequeno. Essa operação é de desempenho intensivo, especialmente em aplicativos que têm muitas imagens grandes sendo exibidas em tamanhos de redução na tela. Esta opção permite que você desabilitar este rescaling para ver se ela é fonte de um problema de desempenho. Para evitar isso, considere a possibilidade de decodificação de imagens em um dimensionar de perto o dimensionar no qual eles serão exibidos.

  • Desative renderização 3D: Desativa 3D todas as operações de desenho.

Visual Profiler

O criador de perfil do Visual é uma ferramenta de desempenho para a criação de perfil o uso de WPF serviços, sistema autônomo o layout e de manipulação de eventos, sistema autônomo elementos da árvore visual. Analisando a saída de criação de perfil dessa ferramenta, você pode determinar quais elementos visuais no seu aplicativo podem estar causando gargalos de desempenho. A janela principal do criador de analisar do Visual exibe um conjunto de opções que permitem que você especifique como você deseja criar o analisar de seu aplicativo:

  • Intervalo de atualização. A granularidade do time para usar durante a criação de perfil.

  • Exibir sobreposição. A opção sobreposição permite que você exiba os recursos da CPU — mais escuras sobreposições vermelhas indicam mais recursos de CPU.

O valor de Profiling Visual

O criador de perfil do Visual WPF apresenta problemas de desempenho no contexto de blocos de construção básicos que são usados para construir as cenas visual em seu aplicativo. Esses blocos de construção incluem objetos de alto nível, sistema autônomo Button e TextBlock controles, bem sistema autônomo objetos de nível inferior, sistema autônomo Line e Ellipse elementos. Em vez de descrever os problemas de desempenho em termos de gráficos de telefonar de nomes de funções, o criador de perfil do Visual descreve esses problemas usando a representação de objetos visuais. Isso é semelhante da maneira a Windows SDK ferramenta, UI Spy, representa informações. Para obter mais informações, consulte Spy interface do usuário (UISpy.exe).

Para analisar a amplitude de WPF problemas de desempenho, é necessário compreender a função e o escopo da base WPF serviços. Esses serviços incluem o layout, renderização e animação. O criador de perfil do Visual fornece uma representação gráfica de como WPF serviços são alocados entre objetos de aplicativo. Por exemplo, quando Visual criador de perfil exibe a árvore visual dos objetos de aplicativo, ele sobrepõe diferentes tonalidades de vermelho nos objetos para representar a quantidade relativa de recursos está usando o objeto. Um objeto que é exibido com uma sobreposição de vermelha mais escura representa um objeto que usa uma proporção maior de recursos que um objeto com uma sobreposição de vermelho mais clara. Mais importante, o criador de perfil do Visual fornece uma divisão da quantidade de específico WPF recursos de um objeto consome.

Usando o criador de perfil do Visual

Para usar o criador de perfil do Visual, clicar no inicialização a criação de perfil botão e escolher inicialização or Anexar. Para usar o Anexar opção, WPFPerf e o aplicativo que você esteja criando o perfil devem estar em execução com acesso administrativo. Além disso, a funcionalidade de sobreposição é desabilitado e menos eventos estão disponível para o Anexar opção. The inicialização opção é a opção recomendada.

Na guia eventos permite que você escolher os eventos de aplicativo e o elemento de que analisar você deseja criar.

Você pode conjunto a configuração Visual criador de perfil para ativar ou desabilitar a criação de perfil dos seguintes eventos de aplicativo. Esses eventos são os métodos são representados pelo nome do método seguido pelo nome de classe entre parênteses. Por exemplo, Escala (TimeManager) representa o TimeManager.Tick método.

Eventos de aplicativo

Descrição

RenderMessageHandler (MediaContext)

Inicia a passagem de renderização. ChamaTimeManager.Tick e MediaContext.Render, entre outros métodos.

Thread de renderização

Ocorre quando executando as instruções de renderização no thread de renderização. Isso é útil para detectar aplicativos vinculados a renderização.

Layout

Ocorre durante a medida, organizar e processar passagem.

UpdateRealizations

Ocorre ao atualizar bitmap interno representações de efeitos de texto e bitmap.

Escala (TimeManager)

Ocorre quando a animação é acionamento. Esse evento pode acionar o manipulador de renderização de animação.

UpdateEffectiveValue (DependencyObject)

Ocorre quando o mecanismo de propriedade altera o valor de um DependencyProperty.

Teste de Hit

Ocorre durante a passagem de teste de ocorrência, que determina qual objeto visual foi atingido.

AnimatedRenderMessageHandler (MediaContext)

Quando as animações são ativadas, esse manipulador processa e atualiza a animação, que faz com que propriedades alterar e, por sua vez, o renderização ocorra.

Processar (MediaContext)

Ocorre durante a passagem de renderização. Este método chama eventualmente a OnRender método de cada elemento e é útil para entender o custo total de OnRender para todos os elementos. Esse evento corresponde à MediaContext.Render método em um arquivo do Visual Studio criador de perfil (VS).

FormatLineInternal (TextFormatterImp)

Ocorre quando a formatação de texto.

MarkVisibleRealizations (Visual)

Ocorre quando detectar bitmap interno representações de texto e quando efeitos de bitmap precisam ser atualizado.

Você pode conjunto a configuração Visual criador de perfil para ativar ou desabilitar a criação de perfil dos seguintes eventos de elemento:

Eventos de elemento

Descrição

Layout

Ocorre durante a medida, organizar e processar passagem.

MarkVisibleRealizations (Visual)

Ocorre quando detectar bitmap interno representações de texto e quando efeitos de bitmap precisam ser atualizado.

UIElement.OnRender

UIElement processa as operações.

Layout de UIElement

UIElement operações de layout.

Quando terminar de selecionar o aplicativo e criar o perfil de opções, clicar no OK botão para iniciar o aplicativo de criação de perfil.

Execute o aplicativo e a ferramenta Visual criador de perfil lado a lado e observe os valores de variáveis na ferramenta. Expandindo a hierarquia de árvore visual, você pode selecionar um objeto visual específico ao analisar, sistema autônomo um controle de grade. The Uso da CPU seção do Visual criador de perfil fornece uma análise precisa do uso de WPF serviços por aplicativo e de objeto. The Utilização da CPU dados para o elemento lista:

  • time inclusive A utilização da CPU para o elemento e todos os seus descendentes.

  • time exclusivo A utilização da CPU para somente o elemento.

Saída da exibição do Visual Profiler

Saída da exibição do Visual Profiler

Visual criador de perfil sobreposições diferentes tons de vermelho nos objetos da árvore visual para representar a quantidade relativa de recursos está usando o objeto. Um objeto que é exibido com uma sobreposição de vermelha mais escura representa um objeto que usa uma proporção maior de recursos que um objeto com uma sobreposição de vermelho mais clara.

Trabalho conjunto Analyzer

O analisador de conjunto de trabalho é um WPF ferramenta de análise de desempenho que fornece informações sobre o uso de memória de um processo especificado. Essa ferramenta permite que você gere um snapshot de informações de uso de memória do aplicativo em um determinado estado do aplicativo.

Conjunto de trabalho de um aplicativo

O conjunto de trabalho de um aplicativo é uma coleção de páginas em seu espaço de endereço virtual que referenciado recentemente. Ele inclui dados compartilhados e privados. Os dados compartilhados incluem páginas que contêm todas as instruções do que seu aplicativo é executado, inclusive os de suas DLLs e as DLLs do sistema. O conjunto de trabalho dimensionar aumenta, aumenta a demanda de memória. Para obter mais informações sobre o conjunto de trabalho, consulte Processo conjunto de trabalho.

Utilitário de despejo (VaDump) endereços virtual

Endereço virtual despejo (VaDump) cria uma lista que contém informações sobre o uso de memória de um processo especificado. Essa ferramenta está localizada no seguinte diretório:

~\Program Files\Microsoft Visual Studio 8\Common7\Tools\Bin\winnt

Observação importanteObservação importante:

Certifique-se de que o caminho de execução do sistema inclui o local do diretório de VaDump. Caso contrário, Working conjunto Analyzer não funcionará corretamente.

Usar o trabalho conjunto Analyzer

Para usar o trabalho conjunto Analyzer, inicie o WPF aplicativo que você deseja o analisar. Depois que tiver iniciado o trabalho conjunto Analyzer, escolher o selecionar um processo opção:

Caixa de diálogo conjunto Analyzer Selecionar processo trabalhando

Janela principal do Working Set Analyzer

selecionar o processo cujo trabalho conjunto que você deseja analisar; depois, clicar no capturar botão. O analisador de conjunto de trabalho primeiro chama VaDump para gerar informações de uso de memória. Em seguida, ele analisa as informações e apresenta-lo em um formato graficamente ricos.

ObservaçãoObservação:

Os dados do conjunto de trabalho representam um modo de exibição estático do Uso de Memória. Você deseja gerar vários conjuntos de trabalho conjunto de dados em pontos diferentes no seu aplicativo e comparar as diferenças no Uso de Memória.

Quando os dados do conjunto de trabalho estão prontos para exibir, Working Set Analyzer gera um modo de exibição de árvore que representa os dados dinâmicos, dados do sistema e módulos de aplicativos.

Trabalho conjunto Analyzer memória uso categorias

Categorias de uso do Working Set Analyzer

For WPF aplicativos, o WPF Categoria módulos contém módulos que são específicas do sistema para WPF. clicar na categoria que deseja exibir e exibe um conjunto de gráficos de pizza. Por exemplo, se você clicar o WPF Módulos de categoria exibe as seguintes informações no lado esquerdo da janela.

Trabalhando gráfico de pizza em uso Analyzer conjunto memória por módulos do WPF

Gráfico de pizza de uso da memória do Working Set Analyzer

A legenda na parte superior exibe o dimensionar total da categoria do conjunto de trabalho. Nesse caso, WPF Módulos representa 9160KB do Uso de Memória. Este gráfico de pizza representa o uso de memória individuais de todos os módulos que definem o WPF Categoria de módulos.

ObservaçãoObservação:

O dimensionar de uma categoria de uso de memória reflete o uso de memória de seu aplicativo no momento as informações de conjunto de trabalho foi capturadas.

A tabela pequena representa o Uso de Memória compartilhada, compartilháveis e bytes particulares.

Trabalhando Analyzer conjunto tabela de uso de memória

Gráfico de pizza de uso da memória do Working Set Analyzer

A categoria bytes compartilhado representa a quantidade de memória que pode ser potencialmente compartilhada por outros WPF aplicativos.

Exibindo o uso de memória de aplicativo

Para exibir o uso de memória para o seu aplicativo, selecionar o nome do arquivo executável na categoria outros módulos na exibição em árvore conjunto de trabalho do.

Trabalho conjunto Analyzer memória uso categorias

Categorias de uso do Working Set Analyzer

Salvar e recarregar o trabalho conjunto analisador de arquivos

Para salvar as informações de uso de conjunto de trabalho corrente, selecionar o arquivo no menu principal do analisador de conjunto de trabalho. Em seguida, clicar no Salvar a saída do VADump botão. Depois de salvar as informações de uso do conjunto de trabalho, você pode gerar outro instantâneo do Uso de Memória clicando o capturar botão. Para recarregar um arquivo que contém conteúdo VADump, selecionar o arquivo no menu principal do analisador de conjunto de trabalho. Em seguida, clicar no Abra a saída VADump botão.

Usando um atraso de timer para capturar informações do conjunto de trabalho

O analisador de conjunto de trabalho fornece um recurso de atraso de time que permite capturar informações de uso de conjunto do trabalho após um intervalo especificado de time. selecionar Ações no menu principal do analisador de conjunto de trabalho. Em seguida, clicar no inicialização processo… botão.

Especifique o aplicativo que você deseja executar, usando o Procurar botão se necessário. Em seguida, digite quaisquer argumentos para o aplicativo. Finalmente, insira o número de segundos que você deseja atrasar a capturar de informações de uso de memória. Em seguida, clicar no inicialização botão. O texto de status na parte inferior do analisador de conjunto de trabalho conta verticalmente o número de segundos restantes até que a capturar, que permite a que você time para modificar o estado do seu aplicativo. Depois que a capturar estiver completa, o texto de status exibe "Concluído".

Event Trace

Evento de rastreamento para Windows (ETW) é um recurso de rastreamento de kernel eficiente que permite que você kernel log ou eventos definido pelo aplicativo em um arquivo de log. Pode consumir eventos em time real ou de um arquivo de log e usá-los para depurar um aplicativo ou para determinar onde estão ocorrendo problemas de desempenho do aplicativo. The WPF Ferramenta de criação de perfil de rastreamento de evento usa o ETW para o registrar registrar registrar em log de eventos. Para obter mais informações sobre ETW, consulte evento Rastreamento.

evento Rastreamento é parte do WPF conjunto de ferramentas, WPFPerf (WpfPerf.exe) de criação de perfil de desempenho. Para obter mais informações, consulte o Usando ferramentas de criação de perfil de desempenho seção.

Usando o rastreador evento

A janela principal do evento rastreamento exibe um conjunto de opções que permitem adicionar, salvar e exibir evento informações de registro:

Janela principal do Rastreamento de Eventos

Janela principal do Rastreamento de Eventos

Adicionando um novo evento agente

Para adicionar um novo agente de log de evento, clicar no Adicionar botão na janela principal do rastreamento de eventos. The Adicionar novo agente de logcaixa de diálogo exibe um conjunto de informações para que você possa definir. The Nome do agente de log refere-se ao nome amigável do agente de log. selecionar uma dos quatro tipos de agentes de log de evento na caixa de listagem suspensa rotulada GUID:

  • NT Kernel agente

  • Common linguagem tempo de execução coleta de lixo

  • Windows Presentation Foundation - apenas desempenho

  • Windows Presentation Foundation - tudo

Há dois tipos de WPF evento registradores. A versão "Desempenho apenas" é um subconjunto reduzido da versão "Tudo". The Arquivo de log permite que você definir o nome de arquivo para o evento arquivo de log. clicar no botão rotulado como "…" para definir o nome do arquivo. Os arquivos de log de eventos usam a extensão de arquivo padrão, "etl".

The Nível opção refere-se os seguintes níveis de severidade que você pode usar. Números mais altos implicam que você obtenha também a níveis inferiores. Por exemplo, se você especificar 3, você também receberá todos os eventos fatais, erro e aviso:

Level

Descrição

1

Eventos de sair ou término anormais.

2

Eventos de erro grave.

3

Eventos de aviso, sistema autônomo falhas de alocação de.

4

Eventos de erro não sistema autônomo eventos de entrada ou sair.

5

Eventos de rastreamento detalhados.

The Sinalizadores opção especifica a classe de WPF eventos. Na maioria dos casos, o valor padrão é suficiente.

Quando terminar de criar o novo registrar registrar registrar em log de eventos informações, clicar no Adicionar botão do Adicionar novo agente de registrar registrar registrar em log caixa de diáregistrar registrar registrar em logo para adicionar agente de registrar registrar registrar em log de rastreamento de eventos. Você pode criar agentes de log de evento adicionais e adicioná-los ao rastreamento de eventos. Quando você tiver terminado de adicionar todos os registradores de evento, clicar no concluído botão.

Caixa de diálogo Adicionar Novo Agente

Caixa de diálogo Adicionar Novo Agente

Para remover um agente de log de evento específico, selecionar o agente de log de evento na caixa de listagem e clicar no Remover botão. Para remover todos evento registradores, clicar no desmarcar botão.

Ativando registrar registrar registrar em log de eventos

selecionar o evento agente de log da lista de evento registradores na janela principal do evento Trace. clicar no Iniciar botão para ativar o registrar registrar registrar em log. O status para o evento agente de log deve ser exibido ativado.

Janela principal do evento Trace com um agente de log de evento selecionado

Janela principal do Rastreamento de Eventos com agentes de evento

Quando você tiver terminado de registrar registrar registrar em log de eventos do aplicativo, clicar no Parar botão. Para garantir que tenha capturado informações de registrar registrar registrar em log de eventos, convém exibir o evento arquivo de registrar registrar registrar em log. clicar no em aberto log botão para exibir o evento arquivo de log.

Janela principal do evento Trace com informações do log de eventos

Janela principal do Rastreamento de Eventos com informações de log de eventos

O arquivo de log de eventos lista cinco colunas de informações para cada evento.

Coluna

Descrição

Time

time corrente de ticks da CPU.

GUID

GUID correspondente ao evento.

Nome

Nome de evento.

Tipo de evento

Info, iniciar, ou participante evento. Um evento iniciar tem um evento de participante correspondente.

Dados

Dados relacionados a um tipo de evento específico.

O log de eventos informações não são muito útil nesse formato. Use the WPF ETW Trace Viewer profiling tool to analyze the output of an event log file created with Event Trace.

Visualizador de rastreamento ETW

Evento de rastreamento para Windows (ETW) fornece um mecanismo para rastreamento e registro de eventos que são gerados por aplicativos de modo de usuário. ETW foi implementada no sistema operacional Windows e fornece aos desenvolvedores um conjunto rápido, confiável e versátil de evento recursos de rastreamento. A ferramenta de rastreamento evento permite gravar, exibir e procurar arquivos de log do ETW em um formato de interface do usuário que é específico para WPF recursos.

Janela principal do modo de rastreamento ETW

Janela principal do Trace Viewer

Usando o Visualizador de rastreamento ETW

You can view an ETW log file that you created and saved using the WPF Event Trace profiling tool. Os arquivos de log de eventos usam a extensão de arquivo padrão, "etl". selecionar Arquivo no menu principal do Visualizador de rastreamento ETW. De, clicar no em aberto para carregar o arquivo de log desejado.

Janela principal do Visualizador de rastreamento ETW com arquivo de log

Janela principal do Trace Viewer com log de eventos

Depois que o arquivo de log é carregado, Visualizador de rastreamento ETW exibe uma linha do tempo que representa a duração do log de eventos capturar. Você pode alterar a unidade de medida para a linha do tempo seja em segundos ou milissegundos. Você pode escolher quais tipos de eventos você deseja exibir, habilitando ou desabilitando os tipos de evento específicos. Se você estiver interessado em ver um pequeno número de tipos de eventos, você pode clicar na Desabilitar tudo botão para desativar todos os eventos e, em seguida, clique em caixas de seleção para o evento que você deseja ativar. A habilitado evento tipos para a linha do tempo aparecem na parte inferior direita do Visualizador de rastreamento do ETW.

Você pode clicar e arrastar o mouse na linha de time para exibir somente os eventos que ocorreram durante a área selecionada do linha do time. Para ampliar a área selecionada da linha do tempo, botão direito do mouse clicar para exibir o menu pop-up ilustrado na seguinte captura de tela.

Janela principal do Visualizador de rastreamento ETW com o menu pop-up

Janela principal do Trace Viewer com log de eventos

O menu pop-up permite que você aplicar zoom dentro e para fora da linha da tempo, sistema autônomo mostrar todos sistema autônomo eventos e desmarcar a área selecionada no momento da linha do tempo. Quando você aplicar mais aplicar aplicar zoom a linha do time, a hora de intervalo que é exibido em azul indica o comprimento com o aplicar aplicar zoom em linha do time. O intervalo de time que é exibido abaixo, em preto, indica o time em relação a duração geral do log de eventos capturar.

Visualizador de rastreamento ETW janela principal com zoom nos dados

Janela principal do Trace Viewer com log de eventos

Você pode clicar nas caixas de pequenas na linha da tempo para exibir informações sobre um evento específico.

Gerando um evento arquivo de log

Você também pode criar um arquivo de registrar registrar registrar em log do ETW usando o Visualizador de rastreamento ETW clicando o Iniciar capturar botão para iniciar evento registrar registrar registrar em log e clicando no Parar capturar botão Finalizar evento registrar registrar registrar em log. O agente de log de eventos gerado pelo uso desse método não permite personalizar as configurações de filtragem de eventos. Use o Rastreamento de eventos ferramenta para criar um agente de log de evento personalizado.

Outros recursos da ferramenta desempenho

Windows Presentation Foundation (WPF) também fornece suporte de rastreamento de depurar.

Suporte a rastreamento de depuração no WPF

The PresentationTraceSources classe oferece suporte a rastreamento de depurar Windows Presentation Foundation (WPF) aplicativos. O rastreamento é um sistema de diagnóstico pelo qual o andamento de um aplicativo pode ser rastreado. As instruções de rastreamento relatam informações, da mesma forma que o método WriteLine geralmente é usado. No entanto, instruções de rastreamento podem ser ativadas ou desativadas, usando-se um arquivo de configuração. Além disso, a saída das instruções de rastreamento pode ser personalizada.

Para outras classes de diagnóstico relacionadas ao .NET Framework, consulte System.Diagnostics.

Consulte também

Conceitos

Optimizing WPF Application Performance

Níveis de Renderização Gráfica

Visão Geral sobre Renderização de Gráficos do Windows Presentation Foundation

Spy interface do usuário (UISpy.exe)