Mejoras de DXGI 1.2
Se ha agregado la siguiente funcionalidad en Microsoft DirectX Graphics Infrastructure (DXGI) 1.2.
Mejoras y optimizaciones de presentaciones
DXGI 1.2 mejora la presentación con una nueva cadena de intercambio de modelo invertido, protección de contenido, presentación sin ventanas y presentación optimizada donde se especifican rectángulos sucios y áreas desplazadas. La presentación también se mejora con el comportamiento de pantalla 3D estereoscópica.
Puedes usar la siguiente API dxGI 1.2 para mejorar la presentación.
- IDXGIDisplayControl::IsStereoEnabled
- IDXGIDisplayControl::SetStereoEnabled
- IDXGIFactory2::CreateSwapChainForHwnd
- IDXGIFactory2::CreateSwapChainForCoreWindow
- IDXGIFactory2::CreateSwapChainForComposition
- IDXGIFactory2::IsWindowedStereoEnabled
- IDXGIFactory2::RegisterStereoStatusWindow
- IDXGIFactory2::RegisterStereoStatusEvent
- IDXGIFactory2::UnregisterStereoStatus
- IDXGIFactory2::RegisterOcclusionStatusWindow
- IDXGIFactory2::RegisterOcclusionStatusEvent
- IDXGIFactory2::UnregisterOcclusionStatus
- IDXGIOutput1::GetDisplayModeList1
- IDXGIOutput1::GetDisplaySurfaceData1
- IDXGIOutput1::FindClosestMatchingMode1
- IDXGIResource1::CreateSubresourceSurface
- IDXGISurface2::GetResource
- IDXGISwapChain1::GetDesc1
- IDXGISwapChain1::GetFullscreenDesc
- IDXGISwapChain1::GetHwnd
- IDXGISwapChain1::GetCoreWindow
- IDXGISwapChain1::Present1
- IDXGISwapChain1::IsTemporaryMonoSupported
- IDXGISwapChain1::GetRestrictToOutput
- IDXGISwapChain1::SetBackgroundColor
- IDXGISwapChain1::GetBackgroundColor
- IDXGISwapChain1::SetRotation
- IDXGISwapChain1::GetRotation
Para obtener más información sobre cómo usar la API DXGI 1.2 para una presentación mejorada, consulta Mejorar la presentación con el modelo de volteo, rectángulos sucios y áreas desplazadas.
Para obtener información sobre cómo determinar si puedes representar en estéreo, consulta Representación en estéreo y notificación sobre el estado estéreo.
Para obtener información sobre cómo determinar los cambios en el estado de oclusión de la aplicación, consulta Esperando un evento cuando la representación no es necesaria.
Para obtener información sobre cómo cambian los valores de datos al presentar contenido a la pantalla, consulte Conversión de datos para el espacio de colores.
Duplicación de escritorio
Windows 8 deshabilita los controladores de reflejo estándar del modelo de controladores de pantalla (XDDM) de Windows 2000. DXGI 1.2 proporciona la API de duplicación de escritorio como alternativa. La API de duplicación de escritorio proporciona acceso remoto a la imagen de escritorio para escenarios de colaboración.
La API de duplicación de escritorio consta de los métodos siguientes.
- IDXGIOutput1::D uplicateOutput
- IDXGIOutputDuplication::GetDesc
- IDXGIOutputDuplication::AcquireNextFrame
- IDXGIOutputDuplication::GetFrameDirtyRects
- IDXGIOutputDuplication::GetFrameMoveRects
- IDXGIOutputDuplication::GetFramePointerShape
- IDXGIOutputDuplication::MapDesktopSurface
- IDXGIOutputDuplication::UnMapDesktopSurface
- IDXGIOutputDuplication::ReleaseFrame
Para obtener más información sobre cómo usar la API de duplicación de escritorio, consulte Api de duplicación de escritorio.
Uso mejorado de recursos compartidos y eventos sincronizados
En versiones anteriores de Windows, las aplicaciones usan sondeo continuo para determinar si la unidad de procesamiento gráfico (GPU) ha terminado de procesar comandos arbitrarios. DXGI 1.2 permite a una aplicación poner en cola un evento en un dispositivo DXGI. Después, la aplicación puede esperar a que el dispositivo DXGI indique el evento para determinar que la GPU terminó de ejecutar todos los comandos de representación. DXGI 1.2 permite que varios dispositivos compartan un recurso a través de un identificador NT.
Puedes usar la siguiente API dxGI 1.2 y la API de Direct3D 11.1 para compartir recursos y sincronizar eventos.
- IDXGIDevice2::EnqueueSetEvent
- IDXGIResource1::CreateSharedHandle
- IDXGIFactory2::GetSharedResourceAdapterLuid
- ID3D11Device1::OpenSharedResource1
- ID3D11Device1::OpenSharedResourceByName
- D3D11_RESOURCE_MISC_SHARED_NTHANDLE
Ofrecer la memoria de vídeo de los recursos
DXGI 1.2 permite a una aplicación ofrecer la memoria de vídeo de sus recursos con una sobrecarga baja. Al ofrecer la memoria de vídeo, el sistema operativo puede liberar la memoria de vídeo.
Esta característica DXGI 1.2 consta de los métodos siguientes.
Puedes usar el método ID3D11Debug::SetFeatureMask para establecer marcas de máscara de características que depuren el comportamiento de los métodos IDXGIDevice2::OfferResources e IDXGIDevice2::ReclaimResources en la aplicación.
Adelantamiento de GPU a niveles de granularidad más finos para el modelo de controlador WDDM 1.2
A partir del modelo de controlador de pantalla de Windows (WDDM) 1.2, el programador WDDM puede reemplazar la ejecución de la GPU de las tareas de aplicación en niveles de granularidad más precisos. DXGI 1.2 permite determinar los niveles de granularidad de adelantamiento de GPU.
Esta característica DXGI 1.2 consta del método siguiente.
API de depuración
El SDK de Windows 8 proporciona funcionalidad de depuración adicional. Puedes usar las siguientes API dxGI de Dxgidebug.dll para depurar la aplicación:
Para obtener acceso a DXGIGetDebugInterface, llame a la función GetModuleHandle para obtener Dxgidebug.dll y la función GetProcAddress para obtener la dirección de DXGIGetDebugInterface. A continuación, puede llamar a DXGIGetDebugInterface para obtener la interfaz IDXGIDebug o IDXGIInfoQueue .
Para obtener información sobre cómo depurar aplicaciones de DirectX de forma remota, consulta Depuración remota de aplicaciones DirectX.