Skip to main content
En raison de contraintes de performances, les moteurs de rendu graphique ne peuvent pas toujours offrir le même niveau de qualité sur chaque partie de leur image de sortie. Variable Rate Shading (VRS), ou ombrage de pixels grossiers, est un mécanisme qui permet de répartir les performances/la puissance de rendu à des taux variables sur l’image rendue. Visuellement, il existe des cas où le taux d’ombrage peut être réduit avec une diminution faible ou nulle de la qualité de sortie perceptible, ce qui procure des performances « gratuites ».

Modèle actuel : anticrénelage multi-échantillon (MSAA) et suréchantillonnage

Sans VRS, le seul moyen de contrôler le taux d’ombrage est le MSAA avec exécution par échantillon, ou suréchantillonnage. Le MSAA est un mécanisme qui réduit le crénelage géométrique et améliore la qualité de rendu d’une image par rapport à un rendu sans MSAA. Le nombre d’échantillons MSAA, qui peut être 1x, 2x, 4x, 8x ou 16x, détermine le nombre d’échantillons alloués par pixel de la cible de rendu. Le nombre d’échantillons MSAA doit être connu à l’avance lors de l’allocation de la cible et ne peut plus être modifié ensuite. Le suréchantillonnage entraîne l’appel du nuanceur de pixels une fois par échantillon, avec une qualité supérieure, mais aussi un coût en performances plus élevé que l’exécution par pixel. Les applications peuvent contrôler le taux d’ombrage en choisissant entre l’exécution par pixel et le MSAA avec suréchantillonnage. Ces deux choix n’offrent pas un contrôle très fin. Dans certains cas, par exemple pour les objets situés derrière les éléments de l’affichage tête haute (HUD), les transparences, les flous (comme la profondeur de champ et le flou de mouvement) et les distorsions optiques dues aux optiques de réalité virtuelle, un taux d’ombrage inférieur à celui du reste de l’image pourrait être préférable, mais ce n’est pas possible, car la qualité et le coût de l’ombrage sont fixes sur l’ensemble de l’image.

Nouveau modèle : VRS

Le nouveau modèle VRS étend le MSAA avec suréchantillonnage dans la direction opposée, celle des « pixels grossiers », en ajoutant un nouveau concept d’ombrage grossier. L’ombrage peut alors être effectué à une fréquence plus grossière qu’un pixel. Autrement dit, un groupe de pixels peut être ombré comme une seule unité. Le résultat est ensuite diffusé à tous les échantillons du groupe. Une API d’ombrage grossier permet aux applications de spécifier le nombre de pixels appartenant à un groupe ombré. La taille des pixels grossiers peut varier après l’allocation de la cible de rendu. Par conséquent, différentes parties de l’écran ou différentes passes de dessin peuvent avoir des taux de sous-échantillonnage différents. Le tableau suivant indique quel niveau de MSAA est pris en charge avec quelle taille de pixel grossier. Certaines combinaisons ne sont prises en charge sur aucune plateforme, tandis que d’autres sont activées sous condition en fonction d’une capacité (AdditionalShadingRatesSupported). Notez que la capacité AdditionalShadingRatesSupported a la valeur false sur le matériel XBOX Series X|S. coarsePixelSizeSupport Il existe une capacité 2 × 4 et non 4 × 2 pour le MSAA 2x en raison des plans matériels actuellement connus sur certaines plateformes. Pour ce qui est exposé par les niveaux 1 et 2, et dans le plan actuel de cette fonctionnalité, il n’existe aucune combinaison de taille de pixel grossier et de nombre d’échantillons pour laquelle le matériel doit suivre plus de 16 échantillons par appel du nuanceur de pixels. À des fins d’illustration, ces combinaisons sont ombrées en demi-teinte dans le tableau précédent.

Voir aussi

Vue d’ensemble de Variable Rate Shading Conception de la fonctionnalité Variable Rate Shading API Direct3D 12 de Variable Rate Shading
Last modified on October 6, 2026