Condividi tramite


enumerazione D3D12DDI_BACKGROUND_PROCESSING_MODE_0062 (d3d12umddi.h)

Indica il livello di profilatura dinamica e ricompilazione dello shader abilitato per l'elaborazione in background.

Per impostazione predefinita, il runtime pianifica al massimo un'attività di compilazione in background alla volta, in esecuzione con priorità inattiva, in modo da ridurre al minimo il rischio di questo lavoro, introducendo glitch nel rendering in primo piano.

Gli sviluppatori e gli strumenti di profilatura possono modificare questo comportamento usando combinazioni di questi valori di enumerazione.

Sintassi

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
} ;

Costanti

 
D3D12DDI_BACKGROUND_PROCESSING_MODE_0062_ALLOWED
D3D12DDI_BACKGROUND_PROCESSING_MODE_0062_ALLOWED è lo stato predefinito, in cui i driver possono instrumentare i carichi di lavoro in qualsiasi modo scelto e possono inviare attività della CPU (in genere ricompilazioni PSO) al runtime D3D per l'esecuzione con priorità bassa. L'obiettivo di questa modalità è abilitare le ottimizzazioni dinamiche, ma senza influire sulle prestazioni di rendering in primo piano.
D3D12DDI_BACKGROUND_PROCESSING_MODE_0062_ALLOW_INTRUSIVE_MEASUREMENTS
D3D12DDI_BACKGROUND_PROCESSING_MODE_0062_ALLOW_INTRUSIVE_MEASUREMENTS suggerisce che il driver deve classificare in ordine di priorità la ricchezza e la completezza della strumentazione per evitare glitch, perché il rendering attualmente in corso viene eseguito in modo specifico a scopo di training e non deve essere eseguito con prestazioni uniformi consuete.

Questo tipo di profilatura pesante verrà usato da strumenti di analisi come PIX. Può anche essere usato dai benchmark per riscaldare lo stato di ottimizzazione prima di eseguire le misurazioni effettive delle prestazioni o direttamente dai giochi in momenti appropriati (ad esempio, pre-training del driver visualizzando contenuto invisibile dietro un menu).
D3D12DDI_BACKGROUND_PROCESSING_MODE_0062_DISABLE_BACKGROUND_WORK
D3D12DDI_BACKGROUND_PROCESSING_MODE_0062_DISABLE_BACKGROUND_WORK impedisce l'esecuzione di attività di elaborazione in background. Quando questo flag è attivato per la prima volta, tutte le attività già in corso potranno essere eseguite fino al completamento. Le attività inviate dalla messaggistica unificata, ma che non sono ancora state avviate, verranno annullate e tutte le chiamate a QueueProcessingWorkCB , mentre in questo stato il callback di annullamento verrà richiamato immediatamente.

Naturalmente, il UMD può scegliere di ignorare completamente l'invio dell'attività nello stato disabilitato, ma se esegue l'invio, il runtime annulla anziché semplicemente non riesce l'operazione di invio, per evitare che il UMD sia in grado di eseguire la sincronizzazione tra l'invio di lavoro e le modifiche alla modalità.

Se il flag di disabilitazione è attivato contemporaneamente alla specifica di D3D12DDI_MEASUREMENTS_ACTION_0062_COMMIT_*, tutte le nuove attività generate dalla messaggistica unificata in risposta alla richiesta di commit potranno essere eseguite prima che la disabilitazione venga applicata.

Il flag di disabilitazione è valido solo quando è abilitata la modalità sviluppatore.
D3D12DDI_BACKGROUND_PROCESSING_MODE_0062_DISABLE_ALL_PROFILING
Oltre a sospendere la ricompilazione dello shader dinamico, questo indica che il driver deve evitare di apportare modifiche comportamentali che potrebbero perturbare le prestazioni, ad esempio ottimizzando dinamicamente i criteri della cache o i modelli di invio di calcolo. Questa operazione viene usata durante le sessioni di profilatura, in cui un confronto A/B deve fornire risultati di intervallo stabili.

Questo flag è valido solo quando la modalità sviluppatore è abilitata.

Requisiti

Requisito Valore
Client minimo supportato Windows 10, versione 1903
Intestazione d3d12umddi.h