Обновления IddCx 1.4 для идентификаторов консоли и удаленных идентификаторов
Следующие обновления IddCx версии 1.4 применяются как к драйверам консоли, так и к драйверам удаленного непрямого отображения (IDD).
Разработчикам удаленных идентификаторов также следует ознакомиться с обновлениями IddCx 1.4 для удаленных идентификаторов для дополнительных обновлений, относящихся к удаленной среде.
Обновление версии IddCxGetVersion
Версия IddCx, возвращенная IddCxGetVersion в Windows 10 версии 1903, была обновлена до IDDCX_VERSION_19H1 (0x1400). Полный список сведений о версиях, связанных с IddCx, см. в разделе Версии IddCx .
Предоставление предпочтительного адаптера отрисовки, используемого для отрисовки рабочего стола в цепочке буферов
Версии IddCx до IddCx 1.4 использовали адаптер самотестировки питания (POST) для отрисовки образа рабочего стола, переданного idD, если он не был PnpStopped. Если адаптер POST был PnpStopped, вместо него использовалась предоставляемая системой платформа windows Advanced Rasterization Platform (WARP). Однако существуют конфигурации и сценарии, в которых использование адаптера POST не обеспечивает оптимальное взаимодействие с пользователем.
IddCx 1.4 включает необязательный обратный вызов ОС IddCxAdapterSetRenderAdapter . IdD может вызвать IddCxAdapterSetRenderAdapter , чтобы задать адаптер отрисовки, который он хочет использовать для всех связок подкачки на этом адаптере.
Windows также имеет страницу Параметры графики в приложении "Параметры", которая позволяет пользователю задать параметры энергосбережения или высокопроизводительного GPU. В следующей таблице описано, как эти две функции объединяются на Surface Book устройстве с дискретным GPU, интегрированным с Intel и Nvidia.
Преф GPU IDD* | Пользователь или операционная система pref** | Перечисление для DWM+ | Перечисление для App++ | Путь к Intel~ | Nvidia path~~ | Буферная цепочка GPU^ |
---|---|---|---|---|---|---|
None или Intel | Система | Intel | Intel | Тот же адаптер | Гибридный кроссадаптер | Intel |
None или Intel | Мощный | Intel | Intel | Тот же адаптер | Гибридный кроссадаптер | Intel |
None или Intel | Perf | Intel | Nvidia | Тот же адаптер | Гибридный кроссадаптер | Intel |
Nvidia | Система | Nvidia | Nvidia | Гибридный кроссадаптер | Тот же адаптер | Nvidia |
Nvidia | Мощный | Nvidia | Intel | Гибридный кроссадаптер | Тот же адаптер | Nvidia |
Nvidia | Perf | Nvidia | Nvidia | Гибридный кроссадаптер | Тот же адаптер | Nvidia |
Где:
- *Преф GPU IDD = предпочтительный GPU IDD
- **Пользователь/предварительная версия ОС = предпочтения GPU пользователя (приложения) или ОС
- +Enum для DWM = GPU, на который среда выполнения DX перечисляет монитор идентификаторов для диспетчера Windows на рабочем столе (DWM)
- ++Enum for App = GPU, на который среда выполнения DX перечисляет монитор идентификаторов для приложения.
- ~Путь к Intel = путь к презентации между приложениями DWM, когда приложение находится в Intel
- ~~Nvidia path = путь к презентации между приложениями DWM, когда приложение находится на nvidia
- ^Swapchain GPU = GPU, на котором создается цепочка буферов непрямого дисплея
Обновление обработки ошибок EvtIddCxMonitorAssignSwapChain для Windows 10 версии 1903 и более поздних
Начиная с Windows 10 версии 1903, обработка ошибок IddCx для обратного вызова EvtIddCxMonitorAssignSwapChain изменилась для всех версий драйверов и вводит новый код состояния. Дополнительные сведения см. в разделе Обработка ошибок EvtIdCxMonitorAssignSwapChain.
Для сценариев без EDID добавьте EVT_IDD_CX_MONITOR_GET_PHYSICAL_SIZE, чтобы указать физическую ширину и высоту монитора.
Иногда idD требуется указать физический размер монитора, даже если описание монитора недоступно (например, если в качестве монитора используется платформа, не связанная с Windows). В отличие от других свойств конфигурации рабочего стола, физический размер монитора является функцией монитора и поэтому не может быть изменен после добавления монитора. Если idD предоставляет описание монитора, ОС будет принимать физический размер из этого описания. Если idD не может предоставить описание, ОС вызовет необязательный обратный вызов драйвера EVT_IDD_CX_MONITOR_GET_PHYSICAL_SIZE для получения физического размера. Этот обратный вызов вызывается как часть вызова IddCxMonitorArrival .
Сборка драйверов IddCx версии 1.4, работающих в нескольких версиях IddCx
Из-за изменений, внесенных в IddCx 1.3 для Windows 10 версии 1809, а также изменений, внесенных в IddCx 1.4, можно создать один идентификатор IDD для работы в Windows 10 версии 1809 и более поздних. Дополнительные сведения см. в статье Сборка драйверов IddCx 1.4 .