Partager via


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

Sortie du Générateur de profils Visual

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

Capture d'écran : 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

Référence

RenderCapability

RenderOptions