Partager via


Prise en charge des DLL DDI et dList du système hybride

La prise en charge des ressources inter-adaptateurs sur un système hybride a été introduite à partir de Windows 8.1 (WDDM 1.3). Les fonctions, structures et énumérations en mode utilisateur et noyau suivantes sont disponibles :

La fonctionnalité d’analyse des ressources inter-adaptateurs (CASO) a été introduite à partir de Windows Server 2022 (WDDM 2.9). La prise en charge supplémentaire suivante a été ajoutée pour CASO :

Notes

Sur Windows Server 2022 (WDDM 2.9) et versions ultérieures du système d’exploitation, un pilote d’affichage en mode utilisateur (UMD) sur un système hybride doit prendre en charge pfnQueryDListForApplication2 DDI, qui remplace pfnQueryDListForApplication1, qu’il implémente ou non la prise en charge de CASO.

Configuration de la DLL dList

Une liste dList est une liste d’applications qui ont besoin de surfaces partagées inter-adaptateurs pour un rendu hautes performances sur le GPU discret.

L’UMD du GPU discret installe une petite DLL dList distincte qui exporte sa fonction pfnQueryDListForApplication2 . Le système d’exploitation lui-même ne détermine pas le GPU sur lequel une application doit s’exécuter. Au lieu de cela, le runtime Direct3D appelle pfnQueryDListForApplication2 au maximum une fois pendant l’initialisation de Direct3D.

Le pilote doit interroger une liste à jour d’informations sur le processus pour déterminer si le processus a besoin des performances améliorées d’un GPU discret au lieu du GPU intégré.

Pour de meilleures performances, la DLL doit :

  • Taille inférieure à 200 Ko
  • Limiter les allocations au minimum
  • Être en mesure de retourner à partir de pfnQueryDListForApplication2 dans sous 4 ms.

Inscription de la DLL dList

L’UMD fournit le nom de la petite DLL dList dans son fichier INF sous les clés de Registre UserModeDListDriverName et UserModeDListDriverNameWow, cette dernière sous l’entrée de Registre Wow64 . Voici un exemple de code INF :

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