Freigeben über


Unterstützung von DDI- und dList-DLL-Hybridsystemen

Die Unterstützung für adapterübergreifende Ressourcen in einem Hybridsystem wurde ab Windows 8.1 (WDDM 1.3) eingeführt. Die folgenden Benutzermodus- und Kernelmodusfunktionen, Strukturen und Enumerationen sind verfügbar:

Mit Windows Server 2022 (WDDM 2.9) wurde das CASO-Feature (Cross-Adapter-Resource Scan-out) eingeführt. Die folgenden zusätzlichen Unterstützungen für CASO wurden hinzugefügt:

Hinweis

Unter Windows Server 2022 (WDDM 2.9) und höheren Betriebssystemversionen muss ein Benutzermodusanzeigetreiber (UMD) in einem Hybridsystem den pfnQueryDListForApplication2 DDI unterstützen, der pfnQueryDListForApplication1 ersetzt, unabhängig davon, ob die Unterstützung für CASO implementiert wird.

Einrichten der dList-DLL

Eine dList ist eine Liste von Anwendungen, die gemeinsam genutzte Oberflächen für Hochleistungs-Rendering auf der diskreten GPU benötigen.

Die UMD der dedizierten GPU installiert eine separate kleine dList-DLL, die ihre pfnQueryDListForApplication2-Funktion exportiert. Das Betriebssystem selbst bestimmt nicht, auf welcher GPU eine Anwendung ausgeführt werden soll. Stattdessen ruft die Direct3D-Laufzeit pfnQueryDListForApplication2 während der Direct3D-Initialisierung höchstens einmal auf.

Der Treiber muss eine up-to-Datumsliste mit Prozessinformationen abfragen, um festzustellen, ob der Prozess die verbesserte Leistung einer einzelnen GPU anstelle der integrierten GPU benötigt.

Um eine optimale Leistung zu erzielen, sollte die DLL Folgendes ausführen:

  • Unter 200 KB groß sein
  • Zuweisungen auf ein Minimum beschränken
  • Sie können von pfnQueryDListForApplication2 in unter 4 ms zurückkehren.

Registrieren der dList-DLL

Die UMD stellt den Namen der kleinen dList-DLL in der INF-Datei unter den Registrierungsschlüsseln UserModeDListDriverName und UserModeDListDriverNameWow bereit, letztere unter dem Wow64-Registrierungseintrag . Hier sehen Sie den INF-Beispielcode:

[Xxx_SoftwareDeviceSettings]
...
HKR,, UserModeDListDriverName,    %REG_MULTI_SZ%, dlistumd.dll
HKR,, UserModeDListDriverNameWow, %REG_MULTI_SZ%, dlistumdwow.dll