énumération D3D12DDI_BACKGROUND_PROCESSING_MODE_0062 (d3d12umddi.h)

Indique le niveau de profilage dynamique et de recompilation du nuanceur activé pour le traitement en arrière-plan.

Par défaut, le runtime planifie au plus une tâche de compilation en arrière-plan à la fois, s’exécutant avec une priorité d’inactivité afin de réduire le risque de ce travail, en introduisant des problèmes dans le rendu au premier plan.

Les développeurs et les outils de profilage peuvent ajuster ce comportement à l’aide de combinaisons de ces valeurs d’énumération.

Syntax

typedef enum D3D12DDI_BACKGROUND_PROCESSING_MODE_0062 {
  D3D12DDI_BACKGROUND_PROCESSING_MODE_0062_ALLOWED,
  D3D12DDI_BACKGROUND_PROCESSING_MODE_0062_ALLOW_INTRUSIVE_MEASUREMENTS,
  D3D12DDI_BACKGROUND_PROCESSING_MODE_0062_DISABLE_BACKGROUND_WORK,
  D3D12DDI_BACKGROUND_PROCESSING_MODE_0062_DISABLE_ALL_PROFILING
} ;

Constantes

 
D3D12DDI_BACKGROUND_PROCESSING_MODE_0062_ALLOWED
D3D12DDI_BACKGROUND_PROCESSING_MODE_0062_ALLOWED est l’état par défaut, dans lequel les pilotes peuvent instrumenter les charges de travail de n’importe quelle manière de leur choix, et peuvent envoyer des tâches processeur (généralement des recompilations PSO) au runtime D3D pour une exécution de faible priorité. L’objectif de ce mode est d’activer les optimisations dynamiques, mais sans affecter les performances de rendu au premier plan.
D3D12DDI_BACKGROUND_PROCESSING_MODE_0062_ALLOW_INTRUSIVE_MEASUREMENTS
D3D12DDI_BACKGROUND_PROCESSING_MODE_0062_ALLOW_INTRUSIVE_MEASUREMENTS indices que le pilote doit donner la priorité à la richesse et à l’exhaustivité de l’instrumentation plutôt qu’à éviter les problèmes, car le rendu en cours est effectué spécifiquement à des fins d’entraînement et n’a pas besoin de s’exécuter avec des performances fluides habituelles.

Ce type de profilage lourd sera utilisé par des outils d’analyse tels que PIX. Il peut également être utilisé par les benchmarks pour réchauffer l’état d’optimisation avant d’effectuer leurs mesures de performances réelles, ou directement par les jeux aux moments appropriés (par exemple, pré-entraîner le pilote en rendant du contenu invisible derrière un menu).
D3D12DDI_BACKGROUND_PROCESSING_MODE_0062_DISABLE_BACKGROUND_WORK
D3D12DDI_BACKGROUND_PROCESSING_MODE_0062_DISABLE_BACKGROUND_WORK empêche l’exécution des tâches de traitement en arrière-plan. Lorsque cet indicateur est activé pour la première fois, toutes les tâches déjà en cours sont autorisées à s’exécuter jusqu’à l’achèvement. Les tâches que l’UMD a envoyées mais qui n’ont pas encore commencé à s’exécuter sont annulées, et tout appel à QueueProcessingWorkCB alors qu’il est déjà dans cet état entraîne l’appel immédiat du rappel d’annulation.

Bien sûr, l’UMD peut choisir d’ignorer entièrement l’envoi de tâches dans l’état désactivé, mais s’il effectue un travail d’envoi, le runtime annule au lieu d’échouer simplement l’opération d’envoi, afin d’éviter que l’UMD n’ait à s’embêter à synchroniser entre la soumission de travail et les changements de mode.

Si l’indicateur de désactivation est activé en même temps que la spécification de D3D12DDI_MEASUREMENTS_ACTION_0062_COMMIT_*, toutes les nouvelles tâches générées par l’UMD en réponse à la demande de validation sont autorisées à s’exécuter avant que la désactivation ne prenne effet.

L’indicateur de désactivation n’est valide que lorsque le mode développeur est activé.
D3D12DDI_BACKGROUND_PROCESSING_MODE_0062_DISABLE_ALL_PROFILING
En plus de suspendre la recompilation dynamique du nuanceur, cela indique que le pilote doit éviter d’apporter des modifications comportementales susceptibles de perturber les performances, telles que le réglage dynamique des stratégies de cache ou des modèles de répartition de calcul. Il s’agit d’une utilisation pendant les sessions de profilage, où une comparaison A/B doit fournir des résultats de minutage stables.

Cet indicateur n’est valide que lorsque le mode développeur est activé.

Configuration requise

Condition requise Valeur
Client minimal pris en charge Windows 10 version 1903
En-tête d3d12umddi.h