D3D12DDI_BACKGROUND_PROCESSING_MODE_0062-Aufzählung (d3d12umddi.h)
Gibt an, welche Ebene der dynamischen Profilerstellung und shader-Neukompilierung für die Hintergrundverarbeitung aktiviert ist.
Standardmäßig plant die Laufzeit jeweils höchstens eine Hintergrundkompilierungsaufgabe, die mit Leerlaufpriorität ausgeführt wird, um das Risiko dieser Arbeit zu minimieren, wodurch Glitches in das Vordergrundrendering eingeführt werden.
Entwickler und Profilerstellungstools können dieses Verhalten mithilfe von Kombinationen dieser Enumerationswerte anpassen.
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
} ;
Konstanten
D3D12DDI_BACKGROUND_PROCESSING_MODE_0062_ALLOWED D3D12DDI_BACKGROUND_PROCESSING_MODE_0062_ALLOWED ist der Standardzustand, in dem Treiber Workloads auf eine beliebige Weise ihrer Wahl instrumentieren und CPU-Aufgaben (in der Regel PSO recompiles) zur D3D-Laufzeit zur Ausführung mit niedriger Priorität übermitteln können. Ziel dieses Modus ist es, dynamische Optimierungen zu ermöglichen, ohne dass die Leistung des Vordergrundrenderings beeinträchtigt wird. |
D3D12DDI_BACKGROUND_PROCESSING_MODE_0062_ALLOW_INTRUSIVE_MEASUREMENTS D3D12DDI_BACKGROUND_PROCESSING_MODE_0062_ALLOW_INTRUSIVE_MEASUREMENTS Hinweise darauf, dass der Treiber Fülle und Vollständigkeit der Instrumentierung priorisieren sollte, um Störungen zu vermeiden, da das derzeit ausgeführte Rendering speziell für Schulungszwecke durchgeführt wird und nicht mit üblicher reibungsloser Leistung ausgeführt werden muss. Diese Art von Schwergewichtsprofilerstellung wird von Analysetools wie PIX verwendet. Es könnte auch von Benchmarks verwendet werden, um den Optimierungszustand zu erwärmen, bevor sie ihre tatsächlichen Leistungsmessungen durchführen, oder direkt durch Spiele zu geeigneten Zeiten (z. B. Vorschulung des Treibers durch Rendern unsichtbarer Inhalte hinter einem Menü). |
D3D12DDI_BACKGROUND_PROCESSING_MODE_0062_DISABLE_BACKGROUND_WORK D3D12DDI_BACKGROUND_PROCESSING_MODE_0062_DISABLE_BACKGROUND_WORK verhindert die Ausführung von Hintergrundverarbeitungsaufgaben. Wenn dieses Kennzeichen zum ersten Mal aktiviert ist, können alle bereits ausgeführten Aufgaben bis zum Abschluss ausgeführt werden. Aufgaben, die von der UMD übermittelt wurden, die jedoch noch nicht ausgeführt wurden, werden abgebrochen, und alle Aufrufe von QueueProcessingWorkCB, während sich bereits in diesem Zustand befindet, führt dazu, dass der Abbruchrückruf sofort aufgerufen wird. Natürlich kann sich die UMD entscheiden, die Aufgabenübermittlung vollständig im Status "Deaktiviert" zu überspringen, aber wenn sie Arbeit sendet, wird die Laufzeit abgebrochen, anstatt nur den Sendevorgang fehlzuschlagen, um zu vermeiden, dass die UMD zwischen Arbeitsübermittlungs- und Modusänderungen synchronisiert werden muss. Wenn das Deaktivieren-Flag gleichzeitig mit dem Angeben von D3D12DDI_MEASUREMENTS_ACTION_0062_COMMIT_*aktiviert ist, können alle neuen Aufgaben, die die UMD als Reaktion auf die Commitanforderung generiert, ausgeführt werden, bevor die Deaktivieren wirksam wird. Das Deaktiv-Flag ist nur gültig, wenn der Entwicklermodus aktiviert ist. |
D3D12DDI_BACKGROUND_PROCESSING_MODE_0062_DISABLE_ALL_PROFILING Zusätzlich zum Anhalten der dynamischen Shader-Neukompilierung weist dies darauf hin, dass der Treiber verhaltensbedingte Änderungen vermeiden sollte, die die Leistung stören würden, z. B. dynamische Optimierung von Cacherichtlinien oder Computeverteilungsmustern. Dies ist für die Verwendung während Profilerstellungssitzungen vorgesehen, bei denen ein A/B-Vergleich stabile Anzeigedauerergebnisse liefern muss. Dieses Kennzeichen ist nur gültig, wenn der Entwicklermodus aktiviert ist. |
Anforderungen
Anforderung | Wert |
---|---|
mindestens unterstützte Client- | Windows 10, Version 1903 |
Header- | d3d12umddi.h |