Обновление платформы для Windows 7

В этом разделе описываются улучшения компонентов графического стека Windows 7, которые становятся доступными через Обновление платформы для Windows 7.

При установке в Windows 7 Обновление платформы для Windows 7 обновляет Windows 7 с помощью функций, доступных в Windows 8. Например, эти компоненты Windows 8 становятся доступными с полной функциональностью:

  • Direct2D 1.1 (включая эффекты Direct2D)
  • DirectWrite
  • Компонент обработки изображений Windows (WIC)

Они предоставляют частичные функциональные возможности:

  • Direct3D 11.1
  • DXGI 1.2

И, например, этот компонент недоступен:

  • DirectComposition (DComp)

Сведения о Direct2D, DirectWrite и WIC с обновлением платформы см. в следующих разделах:

Сведения о Direct3D и DXGI с обновлением платформы см. в следующих разделах:

После установки обновления платформы интерфейсы, представленные в Direct3D11.1 и DXGI 1.2, будут доступны с частичной функциональностью. Функции этих графических компонентов напрямую связаны с компонентами ядра графики, графическими драйверами и графическим оборудованием. Прежде чем использовать Direct3D11.1 в Windows 7, ознакомьтесь со следующими особенностями:

  • Windows 8 представлена модель драйвера WDDM 1.2, которая обеспечила улучшения в связанной поверхности API для всех уровней функций. При чтении документации по Direct3D11.1 необходимо понимать, что новые драйверы — это драйверы WDDM 1.2. Эти обновленные версии драйверов, а также большинство дополнительных функций, предоставляемых через CheckFeatureSupport, недоступны в Windows 7. Так как нет никакой гарантии, что эти необязательные функции доступны, убедитесь, что приложения имеют соответствующие резервные варианты поведения, если нужные функции недоступны.

    Есть одно важное исключение. Для некоторых функций, таких как PSSetConstantBuffers1 со смещением буфера констант, требуются новые драйверы для уровня компонентов 10 и выше, но на самом деле они эмулируются для уровня компонентов 9. Эта эмуляция доступна в Windows 7 с обновлением платформы. Дополнительные сведения о том, какие функции эмулируются, см. в D3D11_FEATURE_DATA_D3D11_OPTIONS .

  • Модель драйвера Windows 8 WDDM 1.2 поддерживает оборудование нового поколения, предоставляемое через уровень компонентов D3D 11.1. Windows 7 с обновлением платформы поддерживает только модель драйвера WDDM 1.1, поэтому поддержка оборудования уровня компонентов 11.1 недоступна (через обновление платформы). В Windows 7 с обновлением платформы D3D11CreateDevice всегда возвращает уровень компонентов 11.0 или ниже, за исключением эталонного устройства, которое можно использовать для тестирования пути кода 11.1 в Windows 7. Используйте только функции, доступные на целевых уровнях компонентов, как описано в справочнике по уровню компонентов.

  • Некоторые новые методы, представленные в DGXI 1.2, не полностью поддерживаются в Обновлении платформы для Windows 7. Вы можете проверить доступность этих функций, вызвав их напрямую и проверив наличие кода ошибки. Убедитесь, что приложения, предназначенные для Windows 7 с обновлением платформы, имеют резервную версию, если нужные функции недоступны. Эти классы функций недоступны в Обновлении платформы для Windows 7:

    • Stereo
    • Цепочки буферов, не предназначенные для Hwnds
    • Уведомления о состоянии окклюзии
    • Дублирование рабочего стола
    • Ресурсы NT Handle

    В частности, следующие API возвращают DXGI_ERROR_UNSUPPORTED, DXGI_ERROR_INVALID_CALL, E_NOTIMPL или E_INVALIDARG:

  • Эти API имеют различия в поведении, как уже отмечалось:

  • Для разработчиков, которые в настоящее время работают над приложениями в Microsoft Visual Studio 2010 или более ранних версиях, использующих флаг D3D11_CREATE_DEVICE_DEBUG , имейте в виду, что вызовы D3D11CreateDevice завершатся ошибкой. Это связано с тем, что среда выполнения D3D11.1 теперь требует D3D11_1SDKLayers.dll, а не D3D11SDKLayers.dll. Чтобы получить эту новую библиотеку DLL (D3D11_1SDKLayers.dll), установите пакет SDK для Windows 8, Visual Studio 2012 или средства удаленной отладки Visual Studio 2012. Дополнительные сведения см. в документации по уровню отладки .