Couches de rendu graphiques
Mise à jour : novembre 2007
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.
Le nuanceur de pixels, le vertex shader et les fonctionnalités de multitexture sont utilisés pour définir des niveaux de version DirectX spécifiques qui, à leur tour, servent à définir les différentes couches de rendu dans WPF.
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. Le niveau de version DirectX est inférieur à la version 7.0.
Couche de rendu 1 Accélération partielle du matériel graphique. Le niveau de version DirectX est supérieur ou égal à la version 7.0, et inférieur à la version 9.0.
Couche de rendu 2 La plupart des caractéristiques graphiques utilisent l'accélération du matériel graphique. Le niveau de version DirectX est supérieur ou égal à la version 9.0.
La propriété Tier vous permet de récupérer la couche de rendu au moment de l'exécution de l'application, qui autorise des développeurs à déterminer si le périphérique peut prendre en charge certaines caractéristiques graphiques accélérées par le matériel. 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, les développeurs doivent supposer que tous les graphiques seront restitués par logiciel sans accélération matérielle. Les fonctionnalités de cette couche correspondent à une version DirectX qui est inférieure à la version 7.0.
Couche de rendu 1
Une valeur de couche de rendu de 1 signifie que l'accélération partielle du matériel vidéo est disponible sur la carte vidéo. Cela correspond à une version DirectX qui est ultérieure ou égale à la version 7.0 et antérieure à la version 9.0.
Les fonctionnalités et capacités suivantes sont accélérées par le matériel pour la couche de rendu 1 :
Fonctionnalité |
Remarques |
---|---|
Rendu 2D |
La plupart du rendu 2D est prise en charge. |
Rastérisation 3D |
La plupart de la rastérisation 3D est prise en charge. Toutefois, WPF utilisera le logiciel pour calculer les intensités légères du vertex, passées ensuite au matériel comme une couleur de vertex. Cela signifie que l'éclairage est beaucoup plus lent sur couche 1. |
Filtrage anisotrope 3D |
Lorsque la couche de rendu est supérieure ou égale à 1, WPF essaie d'utiliser le filtrage anisotrope lors du rendu du contenu 3D. Le filtrage anisotrope fait référence à l'amélioration de la qualité d'image de textures sur les surfaces qui sont loin de la caméra et disposées de biais par rapport à celle-ci. |
Mappage MIP 3D |
Lorsque la couche de rendu est supérieure ou égale à 1, WPF essaie d'utiliser le mappage MIP lors du rendu du contenu 3D. Le mappage MIP améliore la qualité de rendu de texture lorsqu'une texture occupe un plus petit champ de vision dans un Viewport3D. |
Les fonctionnalités et capacités suivantes ne sont pas accélérées par le matériel pour la couche de rendu 1 :
Fonctionnalité |
Remarques |
---|---|
Effets bitmap |
L'utilisation d'un effet bitmap sur un effet visuel force la restitution de l'effet visuel sans accélération matérielle. |
Contenu imprimé |
Tout le contenu imprimé est restitué à l'aide du pipeline logiciel WPF. |
Contenu rastérisé à l'aide d'un objet 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 |
La plupart des cartes vidéo ne prennent pas en charge les surfaces d'une taille supérieure à 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 de l'application en utilisant l'outil Outils de profilage des performances pour WPF inclus avec le Kit de développement logiciel 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 Windows Vista, 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 :
|
Dégradés radiaux |
Toute utilisation de RadialGradientBrush. |
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. Dans la couche 1, les calculs sont exécutés par logiciel. Dans la couche 2, les calculs sont exécutés par matériel. |
Rendu de texte |
Le rendu de police de sous-pixel utilise les nuanceurs de pixels disponibles sur le matériel vidéo. |
Anticrénelage 3D |
Toute utilisation d'anticrénelage 3D. |
Les fonctionnalités de matériel vidéo suivantes définissent la couche de rendu 1 :
Fonctionnalité |
Remarques |
---|---|
Version de DirectX |
Doit être supérieure ou égale à 7.0 et inférieure ou égale à 9.0. |
RAM vidéo |
Doit être supérieure ou égale à 30 Mo. |
Unités de multitexture |
Le nombre d'unités doit être supérieur ou égal à 2. |
La table suivante répertorie des cartes vidéo communes qui prennent en charge la couche de rendu 1 :
Manufacturer |
Modèle |
---|---|
ATI |
Modèles Radeon : 256, 7000, 7500, 8500, 9000, 9100, 9200 et 9250 |
Intel |
Modèles Intel Extreme Graphics : 845G, 845GE, 845GL et 845GV Modèles Intel Extreme Graphics II : 852GME, 855GM, 855GME, 865G et 865GV |
NVIDIA |
GeForce 256 Modèles GeForce2 : GTS, MX, MX100, MX200, MX400, Pro, Ti et Ultra Modèles GeForce3 : Ti200 et Ti500 Modèles GeForce4 : MX420, MX440, MX460, MX4000, Ti4200, Ti4400, Ti4600 et Ti4800 |
Couche de rendu 2
Une valeur de couche de rendu de 2 signifie que la plupart des caractéristiques graphiques de WPF doivent utiliser l'accélération matérielle à condition que les ressources système nécessaires ne soient pas épuisées. Cela correspond à une version DirectX qui est ultérieure ou égale à la version 9.0.
Les fonctionnalités et capacités suivantes sont accélérées par le matériel pour la couche de rendu 2 :
Fonctionnalité |
Remarques |
---|---|
Fonctionnalités de couche 1 |
Inclut toutes les fonctionnalités de couche 1. |
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. Dans la couche 1, les calculs sont exécutés par logiciel. Dans la couche 2, les calculs sont exécutés par matériel. |
Rendu de texte |
Le rendu de police de sous-pixel utilise les nuanceurs de pixels disponibles sur le matériel vidéo. |
Anticrénelage 3D |
L'anticrénelage 3D est pris en charge uniquement sur Windows Vista. |
Les fonctionnalités et capacités suivantes ne sont pasaccélérées par le matériel pour la couche de rendu 2 :
Fonctionnalité |
Remarques |
---|---|
Effets bitmap |
L'utilisation d'un effet bitmap sur un effet visuel force la restitution de l'effet visuel sans accélération matérielle. |
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 de l'application en utilisant l'outil Outils de profilage des performances pour WPF inclus avec le Kit de développement logiciel 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 Windows Vista, 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 :
|
Les fonctionnalités de matériel vidéo suivantes définissent la couche de rendu 2 :
Fonctionnalité |
Remarques |
---|---|
Version de DirectX |
Doit être supérieure ou égale à 9.0. |
RAM vidéo |
Doit être supérieure ou égale à 120 Mo. |
Nuanceur de pixels |
Le niveau de version doit être supérieur ou égal à 2.0. |
Vertex shader |
Le niveau de version doit être supérieur ou égal à 2.0. |
Unités de multitexture |
Le nombre d'unités doit être supérieur ou égal à 4. |
La table suivante répertorie des cartes vidéo communes qui prennent en charge la couche de rendu 2 :
Manufacturer |
Modèle |
---|---|
ATI |
Modèles Radeon : 9550, 9600, 9800 et X-series |
Intel |
Modèles Intel GMA900 : 915G Modèles Intel GMA950 : 945G |
NVIDIA |
Geforce FX-series, 6xxx-series et 7xxx-series |
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 :
Valeur |
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 3D. |
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 à l'exécution de votre application et de déterminer les types d'optimisations des performances que vous pouvez appliquer. La table suivante répertorie les cinq outils de profilage des performances inclus dans l'outil Kit de développement logiciel (SDK) Windows, WPFPerf :
Outil |
Description |
---|---|
Event Trace |
À utiliser pour analyser des événements et générer des fichiers journaux d'événements. |
Perforator |
À utiliser pour analyser le comportement de rendu. |
Trace Viewer |
Enregistrez, affichez et parcourez des fichiers journaux Suivi d'événements pour Windows (ETW) dans un format d'interface utilisateur WPF. |
Visual Profiler |
À utiliser pour profiler l'utilisation de services WPF, tels que la disposition et la gestion des événements par éléments dans l'arborescence visuelle. |
Visionneuse de jeu de travail |
À utiliser pour analyser les caractéristiques du jeu de travail de votre application. |
La suite d'outils Visual Profiler fournit une vue graphique détaillée des données de performance. Dans cette capture d'écran, la section Utilisation de l'UC de Visual Profiler vous donne un descriptif précis de l'utilisation d'un objet des services WPF, tels que le rendu et la disposition.
Sortie d'affichage de Visual Profiler
Pour plus d'informations sur les outils d'analyse des performances WPF, consultez Outils de profilage des performances pour WPF.
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
Concepts
Optimisation des performances des applications WPF
Outils de profilage des performances pour WPF
Paramètres du Registre pour le rendu des graphiques
Conseils et astuces sur les animations