Partager via


Suivi des risques ou ressources d’un pool de vignettes

Pour les ressources hors diffusion en continu, Direct3D peut empêcher certaines conditions de danger pendant le rendu, mais étant donné que le suivi des risques serait à un niveau de vignette pour les ressources de diffusion en continu, le suivi des conditions de danger pendant le rendu des ressources de diffusion en continu peut être trop coûteux.

Par exemple, pour les ressources sans diffusion en continu, le runtime n’autorise aucune sous-source donnée à être liée en tant qu’entrée (par exemple, une vue de ressource de nuanceur) et en tant que sortie (telle qu’une vue cible de rendu) en même temps si un tel cas est rencontré, le runtime annule la liaison de l’entrée. Cette surcharge de suivi dans le runtime est bon marché et est effectuée au niveau de la sous-ressource. L’un des avantages de cette surcharge de suivi est de réduire les risques d’applications accidentellement en fonction de l’ordre d’exécution du nuanceur matériel. L’ordre d’exécution du nuanceur de matériel peut varier si ce n’est pas sur une unité de traitement graphique donnée (GPU), alors certainement sur différents GPU.

Le suivi de la façon dont les ressources sont liées peut être trop coûteuse pour les ressources de diffusion en continu, car le suivi est au niveau d’une vignette. De nouveaux problèmes se produisent, par exemple la validation des tentatives de rendu vers une vue cible de rendu avec une vignette mappée simultanément à plusieurs zones de la surface. S’il s’avère que ce suivi des risques par vignette est trop coûteux pour l’exécution, idéalement cela serait une option dans la couche de débogage.

Une application doit informer le pilote d’affichage lorsqu’il a émis une opération d’écriture ou de lecture sur une ressource de diffusion en continu qui référence la mémoire du pool de vignettes qui sera également référencée par des ressources de diffusion en continu distinctes lors des opérations de lecture ou d’écriture à venir qu’elle attend de la première opération avant que les opérations suivantes puissent commencer.

Les mappages se trouvent dans un pool de vignettes