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.
Uma camada de renderização define um nível de capacidade de hardware gráfico e desempenho para um dispositivo que executa um aplicativo WPF.
Hardware gráfico
Os recursos do hardware gráfico que mais afetam os níveis de camada de renderização são:
RAM de vídeo A quantidade de memória de vídeo no hardware gráfico determina o tamanho e o número de buffers que podem ser usados para compor gráficos.
Sombreador de pixel Um sombreador de pixel é uma função de processamento gráfico que calcula os efeitos por pixel. Dependendo da resolução dos gráficos exibidos, pode haver vários milhões de pixels que precisam ser processados para cada quadro de exibição.
Sombreador de vértice Um sombreador de vértice é uma função de processamento gráfico que executa operações matemáticas nos dados de vértice do objeto.
Suporte a multitexturas O suporte à multitextura refere-se à capacidade de aplicar duas ou mais texturas distintas durante uma operação de mesclagem em um objeto gráfico 3D. O grau de suporte à multitextura é determinado pelo número de unidades de multitextura no hardware gráfico.
Definições de camada de renderização
Os recursos do hardware gráfico determinam a capacidade de renderização de um aplicativo WPF. O sistema WPF define três camadas de renderização:
Camada de renderização 0 Nenhuma aceleração de hardware gráfico. Todos os recursos gráficos usam renderização de software. O nível de versão do DirectX é menor que a versão 9.0.
Camada de Renderização 1 Algumas funcionalidades gráficas utilizam aceleração de hardware gráfico. O nível de versão do DirectX é maior ou igual à versão 9.0.
Renderização Nível 2 A maioria dos recursos gráficos usa aceleração de hardware gráfico. O nível de versão do DirectX é maior ou igual à versão 9.0.
A RenderCapability.Tier propriedade permite que você recupere a camada de renderização no tempo de execução do aplicativo. Você usa a camada de renderização para determinar se o dispositivo dá suporte a determinados recursos gráficos acelerados por hardware. Em seguida, seu aplicativo pode tomar caminhos de código diferentes em tempo de execução, dependendo da camada de renderização compatível com o dispositivo.
Camada de renderização 0
Um valor de camada de renderização de 0 significa que não há nenhuma aceleração de hardware gráfico disponível para o aplicativo no dispositivo. Nesse nível de camada, você deve assumir que todos os elementos gráficos serão renderizados por software sem aceleração de hardware. A funcionalidade dessa camada corresponde a uma versão do DirectX menor que 9.0.
Camada de Renderização 1 e Camada de Renderização 2
Observação
A partir do .NET Framework 4, a renderização da camada 1 foi redefinida para incluir apenas o hardware gráfico que dá suporte ao DirectX 9.0 ou superior. O hardware gráfico que dá suporte ao DirectX 7 ou 8 agora é definido como a camada 0 de renderização.
Um valor de camada de renderização de 1 ou 2 significa que a maioria dos recursos gráficos do WPF usará a aceleração de hardware se os recursos necessários do sistema estiverem disponíveis e não tiverem sido esgotados. Isso corresponde a uma versão do DirectX maior ou igual a 9.0.
A tabela a seguir mostra as diferenças nos requisitos de hardware gráfico para renderizar a camada 1 e renderizar a camada 2:
| Característica | Nível 1 | Nível 2 |
|---|---|---|
| Versão do DirectX | Deve ser maior ou igual a 9,0. | Deve ser maior ou igual a 9,0. |
| RAM de vídeo | Deve ser maior ou igual a 60 MB. | Deve ser maior ou igual a 120 MB. |
| Sombreador de píxel | O nível de versão deve ser maior ou igual a 2.0. | O nível de versão deve ser maior ou igual a 2.0. |
| Sombreador de vértice | Sem requisitos. | O nível de versão deve ser maior ou igual a 2.0. |
| Unidades de multitextura | Sem requisitos. | O número de unidades deve ser maior ou igual a 4. |
Os seguintes recursos e capacidades são acelerados por hardware para renderizar a camada 1 e a camada 2.
| Característica | Anotações |
|---|---|
| Renderização 2D | Há suporte para a maior parte da renderização 2D. |
| Rasterização 3D | Há suporte para a maior parte da rasterização 3D. |
| Filtragem anisotrópica 3D | O WPF tenta usar a filtragem anisotrópica ao renderizar conteúdo 3D. A filtragem anisotrópica refere-se a melhorar a qualidade da imagem de texturas em superfícies distantes e em ângulo íngreme em relação à câmera. |
| Mapeamento 3D de MIP | O WPF tenta usar o mapeamento de MIP ao renderizar conteúdo 3D. O mapeamento de MIP melhora a qualidade da renderização de textura quando uma textura ocupa um campo de exibição menor em um Viewport3D. |
| Gradientes radiais | Embora tenha suporte, evite usar RadialGradientBrush em objetos grandes. |
| Cálculos de iluminação 3D | O WPF executa a iluminação por vértice, o que significa que uma intensidade de luz deve ser calculada em cada vértice para cada material aplicado a uma malha. |
| Renderização de texto | A renderização de fonte em subpixel usa sombreadores de pixel disponíveis no hardware gráfico. |
As funcionalidades e capacidades a seguir são aceleradas por hardware apenas para o nível de renderização 2:
| Característica | Anotações |
|---|---|
| Anti-aliasing em 3D | O anti-aliasing 3D é suportado apenas em sistemas operacionais que oferecem suporte ao Modelo de Driver de Exibição do Windows (WDDM), como o Windows Vista e o Windows 7. |
Os seguintes recursos e capacidades não são acelerados por hardware.
| Característica | Anotações |
|---|---|
| Conteúdo impresso | Todo o conteúdo impresso é renderizado usando o pipeline de software do WPF. |
| Conteúdo rasterizado que usa RenderTargetBitmap | Qualquer conteúdo renderizado pelo método Render de RenderTargetBitmap. |
| Conteúdo em blocos que usa TileBrush | Qualquer conteúdo em bloco no qual a propriedade do TileMode é definida como TileBrush. |
| Superfícies que excedem o tamanho máximo de textura do hardware gráfico | Para a maioria dos hardwares gráficos, superfícies grandes são 2048x2048 ou 4096x4096 pixels de tamanho. |
| Qualquer operação cujo requisito de RAM de vídeo excede a memória do hardware gráfico | Você pode monitorar o uso de RAM de vídeo do aplicativo usando a ferramenta Perforator incluída no WPF Performance Suite no SDK do Windows. |
| Janelas sobrepostas | Janelas em camadas permitem que aplicativos WPF renderizem conteúdo para a tela em uma janela não retangular. Em sistemas operacionais que dão suporte ao WDDM (Windows Display Driver Model), como o Windows Vista e o Windows 7, as janelas em camadas são aceleradas por hardware. Em outros sistemas, como o Windows XP, as janelas em camadas são renderizadas por software sem aceleração de hardware. Você pode habilitar janelas em camadas no WPF definindo as seguintes Window propriedades: - WindowStyle = None - AllowsTransparency = true- Background = Transparent |
Outros recursos
Os recursos a seguir podem ajudá-lo a analisar as características de desempenho do aplicativo WPF.
Configurações do Registro de Renderização de Gráficos
O WPF fornece quatro configurações de registro para controlar a renderização do WPF:
| Configurações | Descrição |
|---|---|
| Desabilitar a opção de aceleração de hardware | Especifica se a aceleração de hardware deve ser habilitada. |
| Valor máximo de várias amostras | Especifica o grau de multiamostragem para a suavização do conteúdo 3D. |
| Configuração de data do driver de vídeo necessária | Especifica se o sistema desabilita a aceleração de hardware para drivers lançados antes de novembro de 2004. |
| Usar a opção Rasterizador de Referência | Especifica se o WPF deve usar o rasterizador de referência. |
Essas configurações podem ser acessadas por qualquer utilitário de configuração externo que saiba como fazer referência às configurações do Registro do WPF. Essas configurações também podem ser criadas ou modificadas acessando os valores diretamente usando o Editor do Registro do Windows. Para obter mais informações, consulte as configurações de Registro de renderização de gráficos.
Ferramentas de Criação de Perfil de Desempenho do WPF
O WPF fornece um conjunto de ferramentas de criação de perfil de desempenho que permitem analisar o comportamento em tempo de execução do aplicativo e determinar os tipos de otimizações de desempenho que você pode aplicar. A tabela a seguir lista as ferramentas de criação de perfil de desempenho incluídas na ferramenta SDK do Windows, WPF Performance Suite:
| Ferramenta | Descrição |
|---|---|
| Perfurador | Use para analisar o comportamento de renderização. |
| Criador de perfil visual | Use para criação de perfil do uso de serviços do WPF, como layout e manipulação de eventos, por elementos na árvore visual. |
O WPF Performance Suite fornece uma exibição gráfica avançada dos dados de desempenho. Para obter mais informações sobre as ferramentas de desempenho do WPF, consulte WPF Performance Suite.
Ferramenta de Diagnóstico do DirectX
A Ferramenta de Diagnóstico do DirectX, Dxdiag.exe, foi projetada para ajudá-lo a solucionar problemas relacionados ao DirectX. A pasta de instalação padrão da Ferramenta de Diagnóstico do DirectX é:
~\Windows\System32
Quando você executa a Ferramenta de Diagnóstico do DirectX, a janela principal contém um conjunto de guias que permitem exibir e diagnosticar informações relacionadas ao DirectX. Por exemplo, a guia Sistema fornece informações do sistema sobre seu computador e especifica a versão do DirectX instalada em seu computador.
Janela principal da Ferramenta de Diagnóstico do DirectX
Consulte também
.NET Desktop feedback