DXGI 1.2 改善
Microsoft DirectX Graphics Infrastructure (DXGI) 1.2 已新增下列功能。
簡報增強功能和優化
DXGI 1.2 使用新的翻轉模型交換鏈結、內容保護、無窗口簡報和優化簡報來增強簡報,您可以在其中指定髒矩形和卷動區域。 簡報也會增強立體 3D 顯示行為。
您可以使用下列 DXGI 1.2 API 來增強簡報。
- 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::P resent1
- IDXGISwapChain1::IsTemporaryMonoSupported
- IDXGISwapChain1::GetRestrictToOutput
- IDXGISwapChain1::SetBackgroundColor
- IDXGISwapChain1::GetBackgroundColor
- IDXGISwapChain1::SetRotation
- IDXGISwapChain1::GetRotation
如需如何使用 DXGI 1.2 API 進行增強簡報的詳細資訊,請參閱使用翻轉模型、髒矩形和卷動區域 增強簡報。
如需如何判斷是否可以在立體聲中轉譯的資訊,請參閱在立體聲中轉譯 並通知立體聲狀態。
如需如何判斷應用程式遮蔽狀態變更的相關信息,請參閱在轉譯時 等待事件時,。
如需當您將內容呈現至畫面時數據值如何變更的資訊,請參閱 轉換色彩空間的數據。
桌面重複
Windows 8 會停用標準 Windows 2000 顯示驅動程式模型 (XDDM) 鏡像驅動程式。 DXGI 1.2 提供桌面重複 API 作為替代方案。 桌面重複 API 會針對共同作業案例提供桌面映像的遠端訪問。
桌面重複 API 包含下列方法。
- IDXGIOutput1::D uplicateOutput
- IDXGIOutputDuplication::GetDesc
- IDXGIOutputDuplication::AcquireNextFrame
- IDXGIOutputDuplication::GetFrameDirtyRects
- IDXGIOutputDuplication::GetFrameMoveRects
- IDXGIOutputDuplication::GetFramePointerShape
- IDXGIOutputDuplication::MapDesktopSurface
- IDXGIOutputDuplication::UnMapDesktopSurface
- IDXGIOutputDuplication::ReleaseFrame
如需如何使用桌面重複 API 的詳細資訊,請參閱 桌面重複 API。
已改善共用資源和同步處理事件的使用量
在舊版 Windows 中,應用程式會使用連續輪詢來判斷圖形處理單位 (GPU) 是否已完成處理任意命令。 DXGI 1.2 可讓應用程式將事件排入佇列至 DXGI 裝置。 然後,應用程式可以等候 DXGI 裝置發出訊號,以判斷 GPU 已完成執行所有轉譯命令。 DXGI 1.2 可讓多個裝置透過NT句柄共用資源。
您可以使用下列 DXGI 1.2 API 和 Direct3D 11.1 API 來共用資源和同步處理事件。
- IDXGIDevice2::EnqueueSetEvent
- IDXGIResource1::CreateSharedHandle
- IDXGIFactory2::GetSharedResourceAdapterLuid
- ID3D11Device1::OpenSharedResource1
- ID3D11Device1::OpenSharedResourceByName
- D3D11_RESOURCE_MISC_SHARED_NTHANDLE
提供資源的視訊記憶體
DXGI 1.2 可讓應用程式提供其資源的視訊記憶體,額外負荷較低。 藉由提供視訊記憶體,作系統可以釋放視訊記憶體。
此 DXGI 1.2 功能包含下列方法。
您可以使用 ID3D11Debug::SetFeatureMask 方法來設定功能遮罩旗標,以偵錯 IDXGIDevice2::OfferResources 和 IDXGIDevice2::ReclaimResources 方法的行為。
WDDM 1.2 驅動程式模型的更精細粒度層級的 GPU 先佔
從 Windows 顯示驅動程式模型 (WDDM) 1.2 驅動程式模型開始,WDDM 排程器可以在更精細的粒度層級搶佔 GPU 執行應用程式工作。 DXGI 1.2 可讓您判斷 GPU 先占數據粒度層級。
此 DXGI 1.2 功能包含下列方法。
偵錯 API
Windows 8 SDK 提供額外的偵錯功能。 您可以使用下列來自 Dxgidebug.dll 的 DXGI API 來偵錯您的應用程式:
若要存取 DXGIGetDebugInterface,請呼叫 getModuleHandle函式來取得 Dxgidebug.dll 和 GetProcAddress 函式,以取得 DXGIGetDebugInterface位址。 然後,您可以呼叫 DXGIGetDebugInterface,以取得 IDXGIDebug 或 IDXGIInfoQueue 介面。
如需如何從遠端偵錯 DirectX 應用程式的詳細資訊,請參閱 遠端偵錯 DirectX 應用程式。