Actualización de la 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, Platform Update for Windows 7 actualiza Windows 7 con funcionalidad disponible en Windows 8. Por ejemplo, estos componentes Windows 8 están disponibles con funcionalidad completa:
- Direct2D 1.1 (incluidos los efectos de Direct2D)
- DirectWrite
- Windows Imaging Component (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:
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. Al leer la documentación de Direct3D11.1, comprenda que los nuevos controladores significan 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 constante, requieren nuevos controladores para el nivel de característica 10 y superior, 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 las características que se emulan.
El modelo de controlador Windows 8 WDDM 1.2 admite una nueva generación de hardware, expuesta a través del nivel de característica 11.1 de D3D. 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 con 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 métodos nuevos 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 si hay 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
- Control de recursos de NT
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::UnregisterSterStereoStatus
- 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 indica a continuación:
- 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 devuelva DXGI_ERROR_INVALID_CALL cuando se llama.
- IDXGISwapChain1::SetBackgroundColor solo es ú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::IsWindowedStereoEnabled e IDXGISwapChain1::IsTemporaryMonoSupported devuelvenFALSE.
- IDXGIOutput1::GetDisplayModeList1 e IDXGIOutput1::FindClosestMatchingMode1 se agregaron para facilitar los modos de visualización estéreo. Estéreo no se admite en platform Update 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 e IDXGIDevice2::ReclaimResources no se admiten en la Actualización de plataforma para Windows 7. Sin embargo, el tiempo de ejecución todavía permite llamar a ellos y realiza la validación de que se usan correctamente en recursos no compartidos.
- Los dispositivos WARP solo admiten el nivel de característica 11.0. Es decir, los dispositivos WARP creados pasando D3D_DRIVER_TYPE_WARP en el parámetro DriverType 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 el SDK de Windows 8 o Visual Studio 2012 o 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.