Exibição Utilização
A Exibição Utilização exibe informações sobre a CPU, a GPU e outros recursos do sistema usados pelo processo atual (escolha Analisar>Visualizador de Simultaneidade para iniciar o visualizador de simultaneidade). Ela mostra a utilização média do núcleo pelo processo analisado, o processo ocioso, o processo do Sistema e outros processos em execução no sistema ao longo do tempo. Ela não mostra qual núcleo específico está ativo em um determinado momento. Por exemplo, se dois núcleos estiverem sendo executados individualmente com capacidade de 50% durante um período específico, essa exibição mostrará um núcleo lógico sendo utilizado. A exibição é gerada pela divisão do tempo de criação de perfil em segmentos de tempo curto. Para cada segmento, o grafo plota o número médio de threads de processos em execução nos núcleos lógicos durante esse intervalo.
O gráfico mostra o tempo (no eixo x) e os núcleos lógicos médios utilizados pelo processo de destino, o processo ocioso e o processo do Sistema. (O processo ocioso mostra núcleos ociosos. O processo do sistema é um processo no Windows que pode executar o trabalho em nome de outros processos.) Os processos restantes em execução na conta do sistema para a utilização de todos os núcleos restantes.
O número de núcleos lógicos é mostrado no eixo y. O Windows trata o suporte simultâneo de multithreading em hardware como núcleos lógicos (por exemplo, Hyper-Threading). Portanto, um sistema com um processador quad-core que oferece suporte a dois threads de hardware por núcleo é exibido como um sistema de oito núcleos lógicos. Isso também se aplica à exibição Núcleos. Para obter mais informações, confira Exibição Núcleos.
O gráfico de atividade da GPU mostra o número de mecanismos do DirectX em uso ao longo do tempo. Um mecanismo está em uso se ele estiver processando um pacote DMA. O gráfico não mostra o mecanismo de DirectX específico (por exemplo, mecanismo 3D, de vídeo e outros).
Finalidade
Recomendamos a Exibição de Utilização como ponto de partida para investigações de desempenho quando você usar a Visualização Simultânea. Como ela fornece uma visão geral do grau de simultaneidade de um aplicativo ao longo do tempo, é possível usá-la para identificar rapidamente as áreas que precisam de ajuste de desempenho ou paralelização.
Se estiver interessado no ajuste de desempenho, você poderá estar tentando identificar comportamentos que não atendem às suas expectativas. Você pode também estar procurando pela existência e causa das regiões com pouca utilização de núcleos lógicos de CPU. Também é possível que você esteja procurando padrões de uso entre a CPU e a GPU.
Se você estiver interessado na paralelização de um aplicativo, provavelmente estará procurando áreas de execução vinculadas à CPU ou áreas em que você não está usando a CPU.
Áreas vinculadas à CPU aparecem em verde. O gráfico mostrará um núcleo sendo usado se o aplicativo for serial.
As áreas em que você não está usando a CPU aparecem em cinza. Tais áreas podem representar pontos em que o aplicativo fica ocioso ou executa um bloqueio E/S que proporciona oportunidades para paralelismo por meio da sobreposição com outro trabalho vinculado à CPU.
Ao encontrar um comportamento de interesse, é possível ampliar a região por meio da seleção. Após a aplicação do zoom, é possível mudar para a Exibição de Threads ou a Exibição de Núcleos para obter uma análise mais detalhada.
Se você estiver usando a GPU por meio do C++ AMP ou DirectX, poderá ser interessante identificar o número de mecanismos GPU em uso ou de áreas em que a GPU é inesperadamente ociosa.
Zoom
Para ampliar o gráfico de Utilização de CPU ou de GPU, selecione uma seção ou use a ferramenta de controle deslizante de zoom acima do gráfico. A configuração de zoom persiste conforme você muda para outros modos. Para reduzir novamente, use a ferramenta de controle deslizante de zoom. Também é possível aplicar zoom usando Ctrl+rolar.
Grafo de utilização da CPU
O gráfico de Utilização da CPU mostra o nível de utilização em um aplicativo ao longo do tempo. O eixo X representa a duração do rastreamento e o eixo Y representa o número de núcleos lógicos no sistema. O gráfico não mostra qual núcleo específico está ativo em determinado momento. Por exemplo, se dois núcleos estiverem sendo executados individualmente com capacidade de 50% durante um período específico, essa exibição mostrará um núcleo lógico sendo utilizado.
Cores do gráfico de Utilização da CPU
Verde indica a utilização dos núcleos lógicos no sistema pelo processo atual.
Cinza-claro indica a utilização de núcleos lógicos por outros processos no sistema. Um alto percentual de cinza-claro no gráfico da CPU indica que o sistema está muito carregado por outros processos e que o processo provavelmente será impedido por eles. Para reduzir o consumo de núcleos lógicos por outros processos, reduza o número deles em execução no sistema.
Cinza-escuro indica o consumo de núcleos lógicos pelo processo do sistema. Não é possível controlar isso diretamente, mas é útil saber quando isso está ocorrendo, pois pode afetar a disponibilidade de núcleos lógicos para o processo.
Branco indica a disponibilidade de núcleos lógicos não utilizados no sistema. Esses núcleos estarão disponíveis para o processo se você puder encontrar mais oportunidades de paralelismo.
Utilização média da CPU
Mostra a média de utilização do processo com perfil criado, dos núcleos lógicos do sistema pela duração do processo. O gráfico não mostra qual núcleo específico está ativo em um determinado momento. Por exemplo, se dois núcleos estiverem sendo executados individualmente com 50% da capacidade durante um período específico, essa exibição mostrará um núcleo lógico sendo utilizado.
Controle de zoom (exibição de utilização)
O controle de zoom ajuda você a ampliar o gráfico de utilização da CPU para focar áreas de interesse específico. Esse controle amplia o centro da exibição. Portanto, você deve centralizar a área de interesse antes de ampliá-la.
Você pode arrastar o ponteiro do mouse no gráfico de utilização da CPU ou no gráfico de atividade de GPU para criar uma área realçada. Quando o botão do mouse for liberado, a exibição ampliará o intervalo selecionado.
Gráfico de atividade de GPU
O gráfico de Atividade de GPU na Visualização Simultânea exibe o nível de atividade do DirectX no sistema, medido pelo número de mecanismos do DirectX em uso ao longo do tempo. O gráfico não mostra quais mecanismos específicos foram usados. É considerado que um mecanismo está em uso se ele estiver processando qualquer trabalho da GPU.
Cores do gráfico de atividade de GPU
Verde indica o consumo de mecanismos do DirectX pelo processo atual.
Cinza claro indica o consumo de mecanismos do DirectX por outros processos no sistema. Para reduzir o consumo de mecanismos do DirectX por outros processos, reduza o número de outros processos em execução no sistema.
Branco indica a disponibilidade de mecanismos do DirectX não utilizados no sistema. Esses mecanismos estão disponíveis para seu processo se você puder encontrar mais oportunidades de explorá-los. Alguns mecanismos só podem ser usados para tipos específicos de tarefas.
Atividade de GPU (paginação)
Os segmentos de Atividade de GPU (paginação) na guia Threads representam o tempo durante o qual a GPU estava processando solicitações de paginação. O tamanho de um segmento representa o tempo durante o qual a GPU estava processando um pacote de paginação de DMA (acesso direto à memória). Normalmente, pacotes de paginação são associados à transferência de memória entre a CPU e a GPU.
Quando você seleciona um segmento de paginação da GPU, o relatório na guia Atual exibe informações sobre o pacote de DMA que foi processado. Isso inclui a quantidade de tempo que ele esperou na fila de hardware associada ao mecanismo do DirectX, o processo que enviou o pacote de DMA e o tempo necessário para processar o pacote.
Atividade de GPU (este processo)
Os segmentos Atividade de GPU (este processo) na exibição Threads na Visualização Simultânea representam o tempo durante o qual a GPU estava processando solicitações em nome do processo atual. Essas solicitações são enviadas à GPU como pacotes de DMA (acesso direto à memória). O tamanho de um segmento representa o tempo durante o qual a GPU estava processando um pacote de DMA em nome do processo atual.
Quando você seleciona o segmento de atividade de GPU, o relatório na guia Atual exibe informações sobre o pacote de DMA que foi processado. Essas informações incluem a quantidade de tempo que o pacote esperou na fila de hardware associada ao mecanismo do DirectX, o processo que enviou o pacote e o tempo necessário para processar o pacote. Um processo diferente do processo atual pode ter enviado fisicamente o pacote de DMA à GPU. A Visualização Simultânea pode detectar quando outro processo enviou trabalho à GPU em nome do processo atual.
Atividade de GPU (outros processos)
Os segmentos Atividade da GPU (outros processos) na exibição Threads na Visualização Simultânea representam o tempo durante o qual a GPU estava processando solicitações em nome de outros processos no sistema. Essas solicitações são enviadas à GPU como pacotes de DMA (acesso direto à memória). O tamanho de um segmento representa o tempo durante o qual o pacote foi processado pela GPU.
Quando você seleciona este tipo de segmento, o relatório na guia Atual exibe informações sobre o pacote que foi processado. As informações incluem a quantidade de tempo que o pacote esperou na fila de hardware associada ao mecanismo do DirectX, o processo que enviou o pacote e o tempo necessário para processar o pacote.