Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Поддержка ресурсов между адаптерами в гибридной системе началась с Windows 8.1 (WDDM 1.3). Доступны следующие функции пользовательского режима и режима ядра, структуры и перечисления:
- перечисление D3D10_DDI_RESOURCE_MISC_FLAG
- структура D3DDDI_RESOURCEFLAGS2
- структура D3DDDI_SYNCHRONIZATIONOBJECT_FLAGS
- структура D3DKMDT_GDISURFACEDATA
- перечисление D3DKMDT_GDISURFACETYPE
- структура DXGK_DRIVERCAPS
- структура DXGK_VIDMMCAPS
- Функция pfnQueryDListForApplication1
Функция сканирования ресурсов между адаптерами (CASO) появилась начиная с Windows Server 2022 (WDDM 2.9). Добавлена следующая дополнительная поддержка для CASO:
- Функция pfnQueryDListForApplication2 (добавлена)
- перечисление D3DDDI_DLIST_QUERY_RESULT (добавлено)
- перечисление D3DDDI_DLIST_QUERY_DECISION_FACTOR (добавлено)
- NoHybridDiscreteDListDllSupport был добавлен в структуру DXGK_DRIVERCAPS
- CrossAdapterResourceTexture и CrossAdapterResourceScanout были добавлены в структуру DXGK_VIDMMCAPS
Замечание
В Windows Server 2022 (WDDM 2.9) и более поздних версиях ОС драйвер отображения пользовательского режима (UMD) в гибридной системе должен поддерживать DDI pfnQueryDListForApplication2 , который заменяет pfnQueryDListForApplication1 независимо от того, реализует ли она поддержку CASO.
Настройка библиотеки DLL dList
DList — это список приложений, которым требуются общие поверхности между адаптерами для высокопроизводительной отрисовки на дискретном GPU.
UMD дискретного GPU устанавливает небольшую отдельную DLL dList, которая экспортирует функцию pfnQueryDListForApplication2. Сама операционная система не определяет, на каком GPU должно работать приложение. Вместо этого среда выполнения Direct3D вызывает pfnQueryDListForApplication2 не более одного раза во время инициализации Direct3D.
Драйвер должен запросить актуальный список информации о процессе up-to-date, чтобы определить, требуется ли процессу высокая производительность дискретного GPU вместо интегрированного GPU.
Чтобы повысить производительность, библиотека DLL должна:
- Размер не более 200 КБ
- Сведите выделение ресурсов к минимуму
- Будьте в состоянии вернуться из pfnQueryDListForApplication2 в 4 мс.
Регистрация библиотеки DLL dList
UMD предоставляет имя небольшой библиотеки DLL dList в его INF-файле в разделах реестра UserModeDListDriverName и UserModeDListDriverNameWow, при этом последний находится в записи реестра Wow64. Ниже приведен пример INF-кода:
[Xxx_SoftwareDeviceSettings]
...
HKR,, UserModeDListDriverName, %REG_MULTI_SZ%, dlistumd.dll
HKR,, UserModeDListDriverNameWow, %REG_MULTI_SZ%, dlistumdwow.dll