Aprimoramentos de DXGI 1.2
A funcionalidade a seguir foi adicionada à DXGI (Infraestrutura Gráfica do Microsoft DirectX) 1.2.
Aprimoramentos e otimizações de apresentação
O DXGI 1.2 aprimora a apresentação com uma nova cadeia de troca de modelo flip, proteção de conteúdo, apresentação sem janelas e apresentação otimizada em que você especifica sujo retângulos e áreas roladas. A apresentação também é aprimorada com o comportamento de exibição 3D estereoscópico.
Você pode usar a API DXGI 1.2 a seguir para apresentação aprimorada.
- 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 obter mais informações sobre como usar a API DXGI 1.2 para apresentação aprimorada, consulte Aprimoramento da apresentação com o modelo de inversão, sujo retângulos e áreas roladas.
Para obter informações sobre como determinar se você pode renderizar em estéreo, consulte Renderizando em estéreo e notificando sobre status estéreo.
Para obter informações sobre como determinar alterações no status de oclusão do aplicativo, consulte Aguardando um evento quando a renderização é desnecessária.
Para obter informações sobre como os valores de dados mudam quando você apresenta conteúdo para a tela, consulte Convertendo dados para o espaço de cores.
Duplicação da área de trabalho
Windows 8 desabilita os drivers de espelho padrão do XDDM (Modelo de Driver de Exibição) do Windows 2000. O DXGI 1.2 fornece a API de duplicação da área de trabalho como alternativa. A API de duplicação da área de trabalho fornece acesso remoto à imagem da área de trabalho para cenários de colaboração.
A API de duplicação da área de trabalho consiste nos métodos a seguir.
- IDXGIOutput1::D uplicateOutput
- IDXGIOutputDuplication::GetDesc
- IDXGIOutputDuplication::AcquireNextFrame
- IDXGIOutputDuplication::GetFrameDirtyRects
- IDXGIOutputDuplication::GetFrameMoveRects
- IDXGIOutputDuplication::GetFramePointerShape
- IDXGIOutputDuplication::MapDesktopSurface
- IDXGIOutputDuplication::UnMapDesktopSurface
- IDXGIOutputDuplication::ReleaseFrame
Para obter mais informações sobre como usar a API de duplicação da área de trabalho, consulte API de Duplicação da Área de Trabalho.
Melhor uso de recursos compartilhados e eventos sincronizados
Nas versões anteriores do Windows, os aplicativos usam sondagem contínua para determinar se a GPU (unidade de processamento gráfico) terminou de processar comandos arbitrários. O DXGI 1.2 permite que um aplicativo enfileira um evento em um dispositivo DXGI. Em seguida, o aplicativo pode aguardar o dispositivo DXGI sinalizar o evento para determinar se a GPU terminou de executar todos os comandos de renderização. O DXGI 1.2 permite que vários dispositivos compartilhem um recurso por meio de um identificador NT.
Você pode usar a API DXGI 1.2 e a API do Direct3D 11.1 a seguir para compartilhar recursos e sincronizar eventos.
- IDXGIDevice2::EnqueueSetEvent
- IDXGIResource1::CreateSharedHandle
- IDXGIFactory2::GetSharedResourceAdapterLuid
- ID3D11Device1::OpenSharedResource1
- ID3D11Device1::OpenSharedResourceByName
- D3D11_RESOURCE_MISC_SHARED_NTHANDLE
Oferecer a memória de vídeo dos recursos
O DXGI 1.2 permite que um aplicativo ofereça a memória de vídeo de seus recursos com baixa sobrecarga. Ao oferecer a memória de vídeo, o sistema operacional pode liberar a memória de vídeo.
Esse recurso DXGI 1.2 consiste nos métodos a seguir.
Você pode usar o método ID3D11Debug::SetFeatureMask para definir sinalizadores de máscara de recursos que depuram o comportamento dos métodos IDXGIDevice2::OfferResources e IDXGIDevice2::ReclaimResources em seu aplicativo.
Preempção de GPU em níveis de granularidade mais finos para o modelo de driver WDDM 1.2
Começando com o modelo de driver WDDM (Modelo de Driver de Exibição do Windows) 1.2, o agendador do WDDM pode antecipar a execução da GPU de tarefas de aplicativo em níveis de granularidade mais finos. O DXGI 1.2 permite determinar os níveis de granularidade de preempção de GPU.
Esse recurso DXGI 1.2 consiste no método a seguir.
APIs de depuração
O SDK do Windows 8 fornece recursos adicionais de depuração. Você pode usar as seguintes APIs DXGI de Dxgidebug.dll para depurar seu aplicativo:
Para acessar DXGIGetDebugInterface, chame a função GetModuleHandle para obter Dxgidebug.dll e a função GetProcAddress para obter o endereço de DXGIGetDebugInterface. Em seguida, você pode chamar DXGIGetDebugInterface para obter a interface IDXGIDebug ou IDXGIInfoQueue .
Para obter informações sobre como depurar aplicativos DirectX remotamente, consulte Depurando aplicativos DirectX remotamente.