[English]Ab Windows 10 Version 2004 wird das sogenannte Hardware Accelerated GPU Scheduling bei manchen Grafikkarten/-treibern unterstützt. Microsoft hat nun ein paar Informationen dazu veröffentlicht.
Was ist Hardware Accelerated GPU Scheduling?
Hardwarebeschleunigtes GPU-Scheduling (Hardware Accelerated GPU Scheduling) ermöglicht eine effizientere GPU-Planung bzw. Zuteilung zwischen Anwendungen unter Windows. Um diese Funktion zu nutzen, sind entsprechende Treiber erforderlich.
Nvidia und AMD haben wohl erste Treiber für die Hardware-beschleunigte GPU-Planung zum Test herausgegeben. Zudem wird diese Funktion erst ab dem Windows 10 Mai 2020 Update (Version 2004) unterstützt.
Microsoft legt einige Details offen
Microsoft hat zum 30. Juni 2020 im Blog-Beitrag Hardware Accelerated GPU Scheduling einige Details zu dieser Technik für Entwickler freigegeben. Es sind fast 14 Jahre seit der Einführung des Windows Display Driver Model 1.0 (WDDM) und damit der Einführung der GPU-Planung in Windows vergangen.
Vor WDDM konnten Anwendungen einfach so viel Arbeit an den GPU übermitteln, wie sie wollten. Sie unterwarfen sich einer globalen Warteschlange, in der die Arbeit streng nach dem Prinzip „zuerst einreichen, zuerst ausführen“ ausgeführt wurde. Diese sehr rudimentären Zeitplanungsschemata waren praktikabel, und das zu einer Zeit, als die meisten GPU-Anwendungen noch Vollbildschirmspiele waren, die einzeln nacheinander ausgeführt wurden.
Mit dem Übergang zu einer breiten Palette von Anwendungen, die den Grafikprozessor für reichhaltigere Grafiken und Animationen nutzen, musste die Plattform die Arbeit mit dem Grafikprozessor besser priorisieren, um ein reaktionsschnelles Benutzererlebnis zu gewährleisten. So wurde der WDDM GPU-Scheduler geboren.
Im Laufe der Zeit haben die Entwickler von Windows den GPU-Scheduler, der das Herzstück von WDDM bildet, erheblich verbessert und mit jeder neuen WDDM-Version zusätzliche Funktionen und Szenarien unterstützt. Während seiner gesamten Entwicklung blieb jedoch ein Aspekt des Schedulers unverändert. Die Entwickler haben immer einen Thread mit hoher Priorität auf der CPU laufen lassen, der die von verschiedenen Anwendungen eingereichten Arbeiten koordiniert, priorisiert und terminiert.
Dieser Ansatz zur Planung der GPU hat einige grundlegende Einschränkungen hinsichtlich des Overheads für die Einreichung sowie der Latenzzeit, mit der die Arbeit die GPU erreicht. Dieser Overhead wurde durch die Art und Weise, wie Anwendungen traditionell geschrieben werden, größtenteils verdeckt. Zum Beispiel würde eine Anwendung typischerweise GPU-Arbeiten auf Frame N ausführen und die CPU vorauslaufen lassen und an der Vorbereitung von GPU-Befehlen für Frame N+1 arbeiten. Diese Pufferung von GPU-Befehlen in Stapeln ermöglicht es einer Anwendung, nur wenige Male pro Frame zu senden, wodurch die Kosten für die Planung minimiert werden und eine gute Parallelität zwischen CPU und GPU gewährleistet wird.
Ein inhärenter Nebeneffekt der Pufferung zwischen CPU und GPU ist, dass der Benutzer eine erhöhte Latenzzeit erfährt. Benutzereingaben werden von der CPU während „Frame N+1“ aufgenommen, aber von der GPU erst im folgenden Frame gerendert. Es besteht eine grundsätzliche Spannung zwischen Latenzreduzierung und Submissions-/Planungs-Overhead. Anträge können häufiger eingereicht werden, in kleineren Losen, um die Latenz zu verringern, oder sie können größere Batches einreichen, um den Overhead bei der Einreichung und Planung zu verringern.
Hardware-Accelerated GPU Scheduling nutzen
Mit dem Windows 10 Mai 2020 Update (Version 2004) haben die Windows-Entwickler einen neuen GPU-Scheduler als Benutzer-Option eingeführt, lassen diesen aber standardmäßig ausgeschaltet. Mit der richtigen Hardware und den richtigen Treibern kann Windows jetzt den Großteil der GPU-Planung auf einen dedizierten GPU-basierten (hardwaregestützten) Planungsprozessor verlagern.
Windows kontrolliert weiterhin die Priorisierung und entscheidet, welche Anwendungen im jeweiligen Kontext Priorität haben. Wir verlagern hochfrequente Aufgaben auf den GPU-Scheduling-Prozessor, wobei die Quantenverwaltung und die Kontextumschaltung der verschiedenen GPU-Engines übernommen werden..
Der neue GPU-Scheduler stellt eine bedeutende und grundlegende Änderung des Treibermodells dar. Um einen reibungslosen Übergang zu gewährleisten, führt Microsoft das Hardware-Accelerated GPU Scheduling als eine Early-Adopter-Opt-In-Funktion ein. Während einer Übergangszeit will Microsoft umfangreiche Leistungs- und Zuverlässigkeitsdaten sowie Kundenfeedback sammeln.
Die Funktion lässt sich auf der Einstellungenseite Erweiterte Grafikeinstellungen aktivieren. Die Einstellungsseite kann über Einstellungen -> System -> Anzeige -> Grafikeinstellungen erreicht werden. Wenn sowohl der Grafikprozessor als auch der WDDM-Grafiktreiber den neuen Grafikprozessor-Scheduler unterstützen, erscheint die untenstehende Benutzeroberfläche.
(Hardware Accelerated GPU Scheduling, Quelle: Microsoft)
Der neue GPU-Scheduler wird auf aktuellen GPUs unterstützt, die über die notwendige Hardware und einen unterstützenden WDDMv2.7-Treiber verfügen. Die Ankündigungen der Hardwarehersteller zu bestimmten GPU-Generationen und Treiberversionen, für die diese Unterstützung aktiviert wird, sind zu beachten. (via)
Ähnliche Artikel:
Windows 10 Version 2004/Windows Server 2004 freigegeben
Windows 10 Version 2004: Probleme bei DVBViewer & Co.
Windows 10 Version 2004 Upgrade-Probleme für Surfaces
Windows 10 Version 2004: Probleme bei Optane-Systemen
Upgrade-Block auf Windows 10 2004 für Geräte mit Kernisolierung (HVCI)
Windows 10 Version 2004: Ungefragtes Upgrade
Windows 10 Version 2004: Veraltete/entfernte Features
Windows 10 V2004: Probleme mit Office365 und iCloud-Synchronisation?
Windows 10 Version 2004: Ordner Downloads aus Datenträgerbereinigung entfernt
Windows 10 64-Bit-ISO unter 4 GB reduzieren
Windows 10: Werbung für Chromium Edge im Startmenü
Windows 10 2004: Upgrade-Problem wegen Laufwerksbuchstabe bei Boot-Partition
Windows 10 Version 2004: Externes Display wird schwarz
Patchday: Windows 10-Updates (9. Juni 2020)
Windows 10-Bug: USB-Drucker werden nicht erkannt
Windows 10: Druckprobleme nach Juni 2020-Update
Windows-Updates mit Fix des Drucker-Bugs (3. Okt. 2019)
Windows 10 Version 2004: Grafikfehler bei Multimonitorbetrieb und f.lux
Windows 10: SMBleed-Schwachstelle im SMBv3-Protokoll
Windows 10 Version 2004: Externes Display wird schwarz
Windows: Druckprobleme mit Brother-Druckern (6.2020)
Bisher hatte ich nur bei Shadow of the Tomb Raider Probleme in Zusammenhang mit HAGS, wenn auch DirectX12 aktiv ist. Hatte es vor ca. 1 Monat an Microsoft und nVidia gemeldet. Inzwischen steht beim Grafiktreiber 451.67 es auch bei den noch offenen Problemen:
„[Shadow of the Tomb Raider][DirectX 12]: The game may crash when launched if Hardwareaccelerated GPU scheduling is enabled. [3037544]
To workaound, disable Hardware-accelerated GPU scheduling“
Ansonsten merkt man keinen Unterschied, ob es eingeschaltet ist oder nicht.
Ich habe die Funktion seit Release von Win10 2004 getestet und sie jetzt wieder abgeschaltet. Mein Monitor mit GSync Modul scheint mit „Harwarebeschleunigter GPU Planung“ nicht zurecht zu kommen. Es trat regelmäßig Tearing auf und einige Spiele hatten Framedrops bei denen sich die Framezahl mal eben halbierte. Mein System: Core i7 7700K, 32GB RAM, Nvidia GTX1070.
Die Überwachungssoftware CAM von NZXT welche ich für meine AiO WaKü nutze ist mit aktivierter Funktion übrigens nicht mehr in der Lage die GPU Auslastung zu messen.