Freigeben über


IDXGIDevice::SetGPUThreadPriority-Methode (dxgi.h)

Legt die GPU-Threadpriorität fest.

Syntax

HRESULT SetGPUThreadPriority(
  INT Priority
);

Die Parameter

Priority

Typ: INT

Ein Wert, der die erforderliche GPU-Threadpriorität angibt. Weitere Informationen finden Sie im Abschnitt "Hinweise " in diesem Thema.

Rückgabewert

Typ: HRESULT-

Bei erfolgreicher Ausführung S_OK zurückgeben; andernfalls wird E_INVALIDARG zurückgegeben, wenn der Parameter Priority ungültig ist.

Bemerkungen

Um die SetGPUThreadPriority-Methode zu verwenden, sollten Sie ein umfassendes Verständnis für die GPU-Planung haben. Wenn sie unangemessen verwendet wird, kann die SetGPUThreadPriority-Methode die Renderinggeschwindigkeit beeinträchtigen und zu einer schlechten Benutzererfahrung führen, sodass Sie ihre Anwendung profilieren, um die Auswirkungen von Prioritätsänderungen auf die Anwendung und auf das System zu verstehen.

Die Werte für die Parameter "Priority" -Funktion wie folgt: Bitdefinition für Prioritätswerte:

    Bit 0-4: Prioritätswert
    Bit 5-29 : Reserviert
    Bit 30: Flag für absolute Priorität ( D3DKMT_SETCONTEXTSCHEDULINGPRIORITY_ABSOLUTE ), kann mit Prioritätswertbits [4:0] entfernt werden (gilt nur für Windows 10+, andernfalls nicht verwendet)
    Bit 31: Signiertes Bit

Bit 30 (Absolute Priority Flag) kann verwendet werden, um den Betriebsmodus für diese API zu steuern.

Relative Prioritätsmodus : API verwendet diesen Modus, wenn bit 30-Wert auf 0 festgelegt ist. In diesem Modus muss der Prioritätswert zwischen -7 und einschließlich 7 liegen, wobei der Prioritätswert 0 die normale Priorität darstellt (Standardwert für alle Kontexte) und -7 die Leerlaufpriorität darstellt. Bit 31 wird verwendet, um das Vorzeichen der Priorität zu steuern.

Absolute Prioritätsmodus : DIE API verwendet diesen Modus, wenn der Bit 30-Wert auf 1 festgelegt ist. In diesem Modus muss der Prioritätswert (für Bits[4:0]) zwischen 0 und 31 sein. Die Bedeutung dieser Prioritätsstufen wird unten beschrieben. Verwenden Sie D3DKMT_SETCONTEXTSCHEDULINGPRIORITY_ABSOLUTE nur, wenn Sie umfassende Kenntnisse über dxgkrnl/grafikprioritäten haben und Auswirkungen auf die Änderung verstehen.

Prioritätswerte[4:0] werden in folgende Prioritätswerte übersetzt:

    0 : Leerlaufpriorität – Vorwärtsfortschritt wird nicht garantiert, wenn höhere Prioritäre die meiste Zugriffstastenzeit verwenden.
    1 : Normale Priorität - Die meisten Prozesse verwenden diese Priorität mit Vorwärtsfortschrittsgarantie.
    2 -15 : Reserviert -
    16-29 : Soft Realtime - Preempts niedrigere Prioritäten und führt regelmäßig zu niedrigeren Prioritäten, um ihren Fortschritt zu gewährleisten.
    30 : Harte Echtzeit – Wird für extrem latenzempfindliche, gut gebundene Workloads verwendet. Diese Priorität führt nicht zu niedrigeren Prioritäten.
    31: Interne Verwendung

Anforderungen

Anforderung Wert
Zielplattform Fenster
Überschrift dxgi.h
Bibliothek DXGI.lib

Siehe auch

DXGI-Schnittstellen

IDXGIDevice

IDXGIDevice::GetGPUThreadPriority