Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
O Histórico de pixel gráfico, uma das ferramentas de Diagnósticos Gráficos no Visual Studio, pode ajudá-lo a entender como um determinado pixel foi afetado por eventos de Direct3D durante um quadro específico de seu jogo ou aplicativo.
Esta é a janela de Histórico de pixels gráficos:
![]()
Entendendo o histórico de pixels
Usando o Histórico de pixel de gráficos, você pode analisar como um pixel específico do destino de renderização é afetado por eventos do Direct3D durante um quadro específico.Você pode localizar um problema de renderização de um evento específico do Direct3D, mesmo quando eventos primitivos subsequentes ou subsequentes no mesmo evento continuam a alterar o valor final de cores de pixels.Por exemplo, um pixel pode ser renderizado incorretamente e ser obscurecido por outro pixel semi-transparente de modo que suas cores sejam misturadas em conjunto no framebuffer.Esse tipo de problema seria difícil de diagnosticar se você tivesse apenas o conteúdo final do destino renderizado para guiá-lo.
A janela Histórico de pixel gráfico exibe o histórico completo de um pixel durante o curso do quadro selecionado.O Buffer de quadro final na parte superior da janela exibe a cor gravada no buffer do quadro no final do quadro, juntamente com as informações adicionais sobre o pixel, como o quadro do qual ele vem e as coordenadas da tela.Essa área também contém a caixa de seleção de Renderizar em Alpha .Quando esta caixa de seleção está selecionada, a cor Buffer de Quadros Final e os valores intermediários de cor são exibidos com transparência sobre um padrão quadriculado.Se a caixa de seleção está desmarcada, o canal alfa dos valores de cor é ignorado.
A parte inferior da janela exibe os eventos que tinham uma chance de afetar a cor do pixel, juntamente com os pseudo eventos Inicial e Final que representam os valores de cor inicial e final do pixel no framebuffer.O valor inicial de cores é determinado pelo primeiro evento que alterou a cor de pixel (normalmente um evento de Clear ).Um pixel sempre tem esses dois pseudo eventos em seu histórico, mesmo quando nenhum outro evento o afetou.Quando outros eventos tiveram uma chance de afetar o pixel, eles serão exibidos entre os eventos Inicial e Final .Os eventos podem ser expandida para exibir seus detalhes.Para eventos simples como aqueles que limpam um destino de renderização, o efeito do evento é apenas um valor de cor.Os eventos mais complexos, como chamadas de desenho, geram um ou mais primitivos que podem contribuir para a cor do pixel.
Primitivos desenhados pelo evento são identificados por seu índice e tipo primitivo, juntamente com a contagem total primitiva do objeto.Por exemplo, um identificador como Triângulo (1456) de (6214) significa que a primitiva corresponde ao 1456° triângulo em um objeto que é composto de 6214 triângulos.A a esquerda de cada identificador de primitiva há um ícone que resume o efeito que a primitiva tinha no pixel.Primitivos que afetam a cor do pixel são representados por um retângulo com cantos arredondados preenchido com a cor resultante.Primitivos que não têm efeito na cor do pixel são representados por ícones que indicam por que o pixel foi excluído.Esses ícones são descritos na seção Exclusão primitiva posteriormente neste artigo.
Você pode expandir cada primitiva para examinar a saída do sombreador de pixel foram mescladas com a cor existente de pixel para gerar a cor resultante.Aqui você também pode examinar ou depurar o código do sombreador de pixel associado com o primitivo e você pode também expandir o nó do sombreador de vértice para examinar a entrada do sombreador de vértice.
Exclusão primitiva
Se uma primitiva é excluída por afetar a cor do pixel, a exclusão pode ocorrer por uma variedade de razões.Cada motivo é representado por um ícone descrito nesta tabela:
Ícone |
Razão para exclusão |
|---|---|
|
O pixel foi excluído por ter falhado no teste de profundidade. |
|
O pixel foi excluído por ter falhado no teste da tesoura. |
|
O pixel foi excluído por ter falhado no teste do estêncil. |
Exclusão da chamada de desenho
Se todos os primitivos em uma chamada de desenho são excluídos de afetar o destino processar porque elas falham um teste, então a chamada de desenho não pode ser expandido e um ícone que corresponde à razão para exclusão é exibido próximo de ele.As razões para exclusão de tração- chamada são semelhantes às razões para exclusão primitiva, e os ícones são semelhantes.
Código de características de exibição e de depuração
Você pode exibir o código para um Sombreador de Vértice, Sombreador de Envoltório, Sombreador de Domínio, Sombreador de Geometria, ou Sombreador de Pixel, ou depurar usando os controles sob o primitivo associados ao sombreador.
Para exibir um código-fonte do sombreador
- Abaixo do primitivo associado com o sombreador que você deseja exibir, escolha o título do sombreador - por exemplo, escolha Sombreador de vértice para exibir o código-fonte do sombreador de vértice.
Para depurar um sombreador
- Abaixo do primitivo associado com o sombreador que você deseja depurar, à direita do título do sombreador, escolha Iniciar Depuração.
Links para os objetos gráficos
Para entender os eventos de elementos gráficos no histórico de pixels, você pode precisar de informações sobre o estado do dispositivo no momento do evento ou a respeito dos objetos do Direct3D que são referenciados pelo evento.Para cada evento no histórico de pixel, o Histórico de pixel de gráficos fornece links para estado de dispositivo atual e para objetos relacionados.
Consulte também
Tarefas
Passo a passo: Faltando objetos devido ao estado do dispositivo
Passo a passo: Depuração de erros devido a sombreamento de processamento