Couches de rendu graphiques
Une couche de rendu définit un niveau des capacités et des performances du matériel graphique pour un périphérique qui exécute une application WPF.
Cette rubrique comprend les sections suivantes.
- Matériel graphique
- Définitions de couche de rendu
- Autres ressources
- Rubriques connexes
Matériel graphique
Les fonctionnalités du matériel graphique qui impactent le plus les niveaux de la couche de rendu sont les suivantes :
RAM vidéo La quantité de mémoire vidéo sur le matériel graphique détermine la taille et le nombre de mémoires tampon qui peuvent être utilisées pour la composition de graphiques.
Nuanceur de pixels Un nuanceur de pixels est une fonction de traitement des graphiques qui calcule les effets pixel par pixel. En fonction de la résolution des graphiques affichés, il peut y avoir plusieurs millions de pixels à traiter pour chaque frame d'affichage.
Vertex shader Un vertex shader est une fonction de traitement des graphiques qui effectue des opérations mathématiques sur les données de vertex de l'objet.
Prise en charge de la multitexture La prise en charge de la multitexture fait référence à la possibilité d'appliquer au moins deux textures distinctes pendant une opération de mélange sur un objet graphique 3D. Le degré de prise en charge de la multitexture est déterminé par le nombre d'unités de multitexture sur le matériel graphique.
Définitions de couche de rendu
Les fonctionnalités du matériel graphique déterminent la fonction de rendu d'une application WPF. Le système WPF définit trois couches de rendu :
Couche de rendu 0 Aucune accélération du matériel graphique. Toutes les fonctionnalités graphiques utilisent l'accélération logicielle. Le niveau de version DirectX est inférieur à la version 9.0.
Couche de rendu 1 Certaines fonctionnalités graphiques utilisent l'accélération matérielle graphique. Le niveau de version DirectX est supérieur ou égal à la version 9.0.
Couche de rendu 2 La plupart des fonctionnalités graphiques utilisent l'accélération matérielle graphique. Le niveau de version DirectX est supérieur ou égal à la version 9.0.
La propriété RenderCapability.Tier vous permet d'extraire la couche de rendu au moment de l'exécution de l'application. La couche de rendu permet de déterminer si le périphérique prend en charge certaines fonctionnalités graphiques à accélération matérielle. Votre application peut alors prendre des chemins de code différents au moment de l'exécution selon la couche de rendu prise en charge par le périphérique.
Couche de rendu 0
Une valeur de couche de rendu de 0 signifie qu'il n'y a aucune accélération de matériel vidéo disponible pour l'application sur le périphérique. À ce niveau de la couche, vous devez supposer que tous les graphiques seront restitués par le logiciel sans accélération matérielle. Les fonctionnalités de cette couche correspondent à une version DirectX qui est inférieure à la version 9.0.
Couche de rendu 1 et couche de rendu 2
Remarque |
---|
À partir de .NET Framework 4, la couche de rendu 1 a été redéfinie pour n'inclure que le matériel graphique prenant en charge DirectX 9.0 ou version ultérieure.Le matériel graphique prenant en charge DirectX 7 ou 8 est désormais défini comme la couche de rendu 0. |
Une valeur de couche de rendu de 1 ou de 2 signifie que la plupart des fonctionnalités graphiques de WPF utiliseront l'accélération matérielle si les ressources système nécessaires sont disponibles et n'ont pas été épuisées. Cela correspond à une version DirectX qui est ultérieure ou égale à la version 9.0.
Le tableau suivant indique les différences entre la couche de rendu 1 et la couche de rendu 2 au niveau des spécifications de matériel graphique :
Fonctionnalité |
Couche 1 |
Couche 2 |
---|---|---|
Version de DirectX |
Doit être supérieure ou égale à 9.0. |
Doit être supérieure ou égale à 9.0. |
RAM vidéo |
Doit être supérieure ou égale à 60 Mo. |
Doit être supérieure ou égale à 120 Mo. |
Nuanceur de pixels |
Le niveau de version doit être supérieur ou égal à 2.0. |
Le niveau de version doit être supérieur ou égal à 2.0. |
Vertex shader |
Aucune exigence. |
Le niveau de version doit être supérieur ou égal à 2.0. |
Unités de multitexture |
Aucune exigence. |
Le nombre d'unités doit être supérieur ou égal à 4. |
Les fonctionnalités et fonctions suivantes ne sont pas accélérées par le matériel pour les couches de rendu 1 et 2 :
Fonctionnalité |
Remarques |
---|---|
Rendu 2D |
La plupart des types de rendu 2D sont pris en charge. |
Rastérisation 3D |
La plupart des types de rastérisation 3D sont pris en charge. |
Filtrage anisotropique 3D |
WPF tente d'utiliser le filtrage anisotropique lors de l'affichage du contenu 3D. Le filtrage anisotropique correspond à l'amélioration de la qualité de la texture des surfaces éloignées et en biais par rapport à l'appareil photo. |
Mappage MIP 3D |
WPF tente d'utiliser le mappage MIP lors de l'affichage du contenu 3D. Le mappage MIP améliore la qualité du rendu de la texture lorsque celle-ci occupe un champ plus restreint dans un Viewport3D. |
Dégradés radiaux |
Même s'il est pris en charge, évitez d'utiliser RadialGradientBrush sur les grands objets. |
Calculs d'éclairage 3D |
WPF exécute l'éclairage par vertex, ce qui signifie qu'une intensité légère doit être calculée à chaque vertex pour chaque matériel appliqué à un maillage. |
Rendu de texte |
Le rendu de police de sous-pixel utilise les nuanceurs de pixels disponibles sur le matériel vidéo. |
Les fonctionnalités et fonctions suivantes ne sont accélérées par le matériel que pour la couche de rendu 2 :
Fonctionnalité |
Remarques |
---|---|
Anticrénelage 3D |
L'anticrénelage 3D est pris en charge uniquement sur les systèmes d'exploitation prenant en charge Windows Display Driver Model (WDDM), tels que Windows Vista et Windows 7. |
Les fonctionnalités et fonctions suivantes n'utilisent pas l'accélération matérielle :
Fonctionnalité |
Remarques |
---|---|
Contenu imprimé |
Tout le contenu imprimé est restitué à l'aide du pipeline logiciel WPF. |
Contenu rastérisé qui utilise RenderTargetBitmap |
Tout le contenu restitué à l'aide de la méthode Render de RenderTargetBitmap. |
Contenu en mosaïque qui utilise TileBrush |
Tout le contenu en mosaïque dans lequel la propriété TileMode de TileBrush a la valeur Tile. |
Surfaces qui dépassent la taille de texture maximale du matériel vidéo |
Pour la plupart du matériel vidéo, les grandes surfaces ont une taille de 2 048 x 2 048 ou 4 096 x 4 096 pixels. |
Toute opération dont la spécification de RAM vidéo dépasse la mémoire du matériel vidéo |
Vous pouvez surveiller l'utilisation de la RAM vidéo par l'application à l'aide de l'outil Perforator compris dans la WPF Performance Suite du Kit de développement logiciel (SDK) Windows. |
Fenêtres superposées |
Les fenêtres superposées permettent aux applications WPF de restituer le contenu à l'écran dans une fenêtre non rectangulaire. Sur les systèmes d'exploitation prenant en charge Windows Display Driver Model (WDDM), tels que Windows Vista et Windows 7, les fenêtres superposées sont accélérées par le matériel. Sur autres systèmes, tels que Windows XP, les fenêtres superposées sont restituées par logiciel sans accélération matérielle. Vous pouvez activer des fenêtres superposées dans WPF en définissant les propriétés Window suivantes :
|
Autres ressources
Les ressources suivantes peuvent vous aider à analyser les caractéristiques de performance de votre application WPF.
Paramètres du Registre pour le rendu des graphiques
WPF fournit quatre paramètres du Registre pour contrôler le rendu WPF :
Paramètre |
Description |
---|---|
Désactiver l'option d'accélération matérielle |
Spécifie si l'accélération matérielle doit être activée. |
Valeur d'échantillonnage multiple maximale |
Spécifie le degré d'échantillonnage multiple pour l'anticrénelage de contenu 3-D. |
Paramètre de la date du pilote vidéo requis |
Spécifie si le système désactive l'accélération matérielle pour les pilotes commercialisés avant novembre 2004. |
Utiliser l'option du module de rastérisation de référence |
Spécifie si WPF doit utiliser le module de rastérisation de référence. |
Ces paramètres sont accessibles à tout utilitaire de configuration externe capable de référencer les paramètres du Registre WPF. Ils peuvent également être créés ou modifiés en accédant directement aux valeurs en utilisant l'Éditeur du Registre Windows. Pour plus d'informations, consultez Paramètres du Registre pour le rendu des graphiques.
Outils de profilage des performances WPF
WPF fournit une suite d'outils de profilage des performances qui vous permettent d'analyser le comportement au moment de l'exécution de votre application et de déterminer les types d'optimisations des performances que vous pouvez appliquer. Le tableau suivant répertorie les outils de profilage des performances qui sont inclus dans l'outil Windows SDK, WPF Performance Suite :
Outil |
Description |
---|---|
Perforator |
À utiliser pour analyser le comportement de rendu. |
Visual Profiler |
À utiliser pour le profilage de l'utilisation des services WPF, tels que la disposition et la gestion des événements, pour chaque élément de l'arborescence d'éléments visuels. |
L'outil WPF Performance Suite fournit une vue graphique, très riche des données de performance. Pour plus d'informations sur les outils de performance WPF, consultez WPF Performance Suite.
Outil de diagnostic DirectX
L'Outil de diagnostic DirectX, Dxdiag.exe, est conçu pour vous aider à résoudre les problèmes liés à DirectX. Le dossier d'installation par défaut pour l'Outil de diagnostic DirectX est :
~\Windows\System32
Lorsque vous exécutez l'Outil de diagnostic DirectX, la fenêtre principale contient un jeu d'onglets qui vous permettent d'afficher et de diagnostiquer les problèmes liés à DirectX. Par exemple, l'onglet Système fournit des informations système à propos de votre ordinateur et spécifie la version de DirectX installée sur votre ordinateur.
Fenêtre principale de l'Outil de diagnostic DirectX
Voir aussi
Référence
Concepts
Optimisation des performances des applications WPF
Paramètres du Registre pour le rendu des graphiques
Conseils et astuces sur les animations
Historique des modifications
Date |
Historique |
Motif |
---|---|---|
Octobre 2010 |
Mise à jour des informations relatives à .NET Framework 4 et à la couche de rendu 2. |
Commentaires client. |
Septembre 2010 |
Ajout d'informations relatives aux outils de profilage de performances WPF. |
Améliorations apportées aux informations. |