Share via


ID3D12GraphicsCommandList1 ::SetViewInstanceMask, méthode (d3d12.h)

Définissez un masque qui contrôle les instances d’affichage activées pour les dessins suivants.

Syntaxe

void SetViewInstanceMask(
  [in] UINT Mask
);

Paramètres

[in] Mask

Type : UINT

Masque qui spécifie les vues qui sont activées ou désactivées. Si le bit i commençant par le bit le moins significatif est défini, afficher instance i est activé.

Valeur de retour

None

Remarques

Le masque de instance d’affichage affecte uniquement les ossos qui déclarent le masquage de l’affichage instance en spécifiant l’indicateur de D3D12_VIEW_INSTANCING_FLAG_ENABLE_VIEW_INSTANCE_MASKING lors de leur création. La tentative de création d’un bloc d’alimentation qui déclare l’affichage instance masquage échoue sur les adaptateurs qui ne prennent pas en charge l’instanciation d’affichage.

Le masque de instance d’affichage est défini par défaut sur 0, ce qui désactive toutes les vues. Cela force les applications qui déclarent affichage instance masquage à choisir explicitement les vues à activer, sinon rien ne sera rendu. Si l’affichage instance masque activé toutes les vues par défaut, l’application peut ne pas se souvenir de désactiver les vues inutilisées, ce qui entraîne une perte de performances en raison d’un gaspillage de travail.

Les bundles n’héritent pas de leur affichage instance masque de leur appelant, la valeur par défaut est 0. Cela est dû au fait que le paramètre de masque doit être connu lorsque le bundle est enregistré s’il affecte la façon dont les enregistrements d’implémentation dessinent. Toutefois, l’affichage instance masque défini par un bundle est conservé pour l’appelant une fois l’offre groupée terminée. Ces sémantiques d’héritage sont similaires à celles des OSS.

Aucun chemin de code de nuanceur dépendant de SV_ViewID n’est exécuté à une étape de nuanceur pour les instances d’affichage masquées et aucun découpage, traitement de la fenêtre d’affichage ou rastérisation n’est effectué. Les implémentations qui inspectent le masque pendant le rendu peuvent entraîner une petite pénalité de performances par rapport aux ossos qui ne déclarent pas du tout le masquage de l’affichage instance, mais généralement la pénalité peut être surmontée par les économies de performances résultant de l’ignorer du travail associé aux vues masquées. Selon la fréquence et la quantité de travail ignoré, les gains de performances peuvent être significatifs.

Configuration requise

Condition requise Valeur
Plateforme cible Windows
En-tête d3d12.h

Voir aussi

ID3D12GraphicsCommandList1