Actualización de plataforma para Windows 7
En este tema se describen las mejoras en los componentes de la pila de gráficos de Windows 7 que están disponibles a través de Platform Update para Windows 7.
Cuando se instala en Windows 7, la Actualización de la plataforma para Windows 7 actualiza Windows 7 con funcionalidad disponible en Windows 8. Por ejemplo, estos componentes de Windows 8 están disponibles con funcionalidad completa:
- Direct2D 1.1 (incluidos los efectos direct2D)
- DirectWrite
- Componente de creación de imágenes de Windows (WIC)
Estas proporcionan funcionalidad parcial:
- Direct3D 11.1
- DXGI 1.2
Por ejemplo, este componente no está disponible:
- DirectComposition (DComp)
Consulta estos temas para obtener información sobre Direct2D, DirectWrite y WIC con la actualización de la plataforma:
- novedades de Direct2D para Windows 8 (Windows)
- novedades de DirectWrite para Windows 8 (Windows)
- Novedades de WIC en Windows 8 (Windows)
Consulta estos temas para obtener información sobre Direct3D y DXGI con la actualización de la plataforma:
- características de D3D11.1
- DXGI 1.2 Improvements
Una vez instalada la actualización de la plataforma, las interfaces introducidas en Direct3D11.1 y DXGI 1.2 estarán disponibles con funcionalidad parcial. Las características de estos componentes gráficos están vinculadas directamente a los componentes del kernel de gráficos, los controladores de gráficos y el hardware gráfico. Antes de usar Direct3D11.1 en Windows 7, familiarícese con estos detalles:
Windows 8 introdujo el modelo de controlador WDDM 1.2, que proporcionó mejoras en la superficie de API asociada para todos los niveles de características de . Al leer la documentación de Direct3D11.1, comprenda que nuevos controladores significa controladores WDDM 1.2. Estas versiones de controladores actualizadas, así como la mayoría de las características opcionales expuestas a través de CheckFeatureSupport, no están disponibles en Windows 7. Puesto que no hay ninguna garantía de que estas características opcionales estén disponibles, asegúrese de que las aplicaciones tienen comportamientos de reserva adecuados en caso de que la funcionalidad deseada no esté disponible.
Hay una excepción importante. Varias características, como PSSetConstantBuffers1 con desplazamientos de búfer de constantes, requieren nuevos controladores para nivel de característica 10 y versiones posteriores, pero realmente se emulan para el nivel de característica 9. Esta emulación está disponible en Windows 7 con la actualización de la plataforma. Consulta D3D11_FEATURE_DATA_D3D11_OPTIONS para obtener más información sobre qué características se emulan.
El modelo de controladores de Windows 8 WDDM 1.2 admite una nueva generación de hardware, expuesta a través de D3D nivel de características 11.1. Windows 7 con la actualización de la plataforma solo admite el modelo de controlador WDDM 1.1 y, por lo tanto, la compatibilidad con hardware de nivel de característica 11.1 no está disponible (a través de la actualización de la plataforma). En Windows 7 con la actualización de la plataforma, D3D11CreateDevice siempre devuelve un nivel de característica de 11.0 o inferior, excepto por un dispositivo de referencia que se puede usar para probar una ruta de acceso de código 11.1 en Windows 7. Use solo las características disponibles en los niveles de características de destino, como se describe en la referencia de nivel de característica.
Algunos nuevos métodos introducidos en DGXI 1.2 no son totalmente compatibles con platform Update para Windows 7.Puedes probar la disponibilidad de estas funciones llamando directamente a ellas y comprobando un código de error. Asegúrese de que las aplicaciones destinadas a Windows 7 con la actualización de la plataforma tienen una reserva en su lugar cuando la funcionalidad deseada no está disponible. Estas clases de características no están disponibles en Platform Update para Windows 7:
- Estéreo
- Cadenas de intercambio que no tienen como destino Hwnds
- Notificaciones de estado de oclusión
- Duplicación de escritorio
- Nt Handle resources
En concreto, las SIGUIENTES API devolverán DXGI_ERROR_UNSUPPORTED, DXGI_ERROR_INVALID_CALL, E_NOTIMPL o E_INVALIDARG:
- IDXGIFactory2::CreateSwapChainForCoreWindow
- IDXGIFactory2::CreateSwapChainForComposition
- IDXGIFactory2::RegisterStereoStatusWindow
- IDXGIFactory2::RegisterStereoStatusEvent
- IDXGIFactory2::Anular el registroStereoStatus
- IDXGIFactory2::RegisterOcclusionStatusWindow
- IDXGIFactory2::RegisterOcclusionStatusEvent
- IDXGIFactory2::UnregisterOcclusionStatus
- IDXGISwapChain1::GetCoreWindow
- IDXGISwapChain1::SetRotation
- IDXGISwapChain1::GetRotation
- IDXGIOutput1::DuplicateOutput
- IDXGIDevice2::EnqueueSetEvent
- IDXGIResource1::CreateSharedHandle
- IDXGIFactory2::GetSharedResourceAdapterLuid
- ID3D11Device1::OpenSharedResource1
- ID3D11Device1::OpenSharedResourceByName
Estas API tienen diferencias de comportamiento, como se ha indicado:
- IDXGIFactory2::CreateSwapChainForHwnd toma una estructura de DXGI_SWAP_CHAIN_DESC1, que tiene un campo para Escalado. DXGI_SCALING_NONE no se admite en Windows 7 con la actualización de la plataforma y hace que createSwapChainForHwnd devolver DXGI_ERROR_INVALID_CALL cuando se llama.
- IDXGISwapChain1::SetBackgroundColor solo resulta útil cuando se establece en una cadena de intercambio mediante DXGI_SCALING_NONE. Su valor todavía se almacena y se puede recuperar, pero no tiene ningún efecto.
- IDXGIDisplayControl::IsStereoEnabled, IDXGIFactory2::IsWindowedStereoEnabledy IDXGISwapChain1::IsTemporaryMonoSupportedFALSE.
- IDXGIOutput1::getDisplayModeList1 y IDXGIOutput1::FindClosestMatchingMode1 se agregaron para facilitar los modos de visualización estéreo. El estéreo no se admite en la Actualización de plataforma para Windows 7, por lo que este método es equivalente a IDXGIOutput::FindClosestMatchingMode como DXGI_MODE_DESC1. El estéreo siempre será FALSE.
- IDXGIDevice2::offerResources y IDXGIDevice2::ReclaimResources no se admiten en la actualización de plataforma para Windows 7. Sin embargo, el tiempo de ejecución todavía les permite llamar y realiza la validación de que se usan correctamente en recursos no compartidos.
- los dispositivos WARP solo admiten nivel de característica 11.0. Es decir, los dispositivos WARP creados pasando D3D_DRIVER_TYPE_WARP en el parámetro driverType de de D3D11CreateDevice no admiten 11.1 ni admiten superficies compartidas.
Para los desarrolladores que trabajan actualmente en aplicaciones en Microsoft Visual Studio 2010 o versiones anteriores con la marca D3D11_CREATE_DEVICE_DEBUG, tenga en cuenta que las llamadas a D3D11CreateDevice producirán un error. Esto se debe a que el entorno de ejecución D3D11.1 ahora requiere D3D11_1SDKLayers.dll en lugar de D3D11SDKLayers.dll. Para obtener este nuevo archivo DLL (D3D11_1SDKLayers.dll), instale la windows 8 SDKo Visual Studio 2012o las herramientas de depuración remota de Visual Studio 2012. Consulte la documentación de capa de depuración para obtener más información.