DXGI 1.2 改进

Microsoft DirectX 图形基础结构 (DXGI) 1.2 中添加了以下功能。

演示文稿增强和优化

DXGI 1.2 使用新的翻转模型交换链、内容保护、无窗口演示文稿和优化的演示文稿增强演示文稿,可在其中指定脏矩形和滚动区域。 此外,使用立体声 3D 显示行为增强了演示功能。

可以使用以下 DXGI 1.2 API 增强演示。

有关如何使用 DXGI 1.2 API 增强演示文稿的详细信息,请参阅 使用翻转模型、脏矩形和滚动区域增强演示文稿。

有关如何确定是否可以在立体声中呈现的信息,请参阅 在立体声中呈现并通知立体声状态

有关如何确定应用遮挡状态更改的信息,请参阅 呈现时等待事件

有关在向屏幕呈现内容时数据值如何更改的信息,请参阅 转换颜色空间的数据。

桌面重复

Windows 8 禁用标准 Windows 2000 显示驱动程序模型(XDDM)镜像驱动程序。 DXGI 1.2 提供桌面重复 API 作为替代方法。 桌面重复 API 为协作方案提供对桌面映像的远程访问。

桌面重复 API 由以下方法组成。

有关如何使用桌面重复 API 的详细信息,请参阅 桌面重复 API

改进了共享资源和同步事件的使用情况

在早期版本的 Windows 中,应用使用连续轮询来确定图形处理单元(GPU)是否已完成处理任意命令。 DXGI 1.2 允许应用将事件排队到 DXGI 设备。 然后,应用可以等待 DXGI 设备向事件发出信号,以确定 GPU 已完成执行所有呈现命令。 DXGI 1.2 允许多个设备通过 NT 句柄共享资源。

可以使用以下 DXGI 1.2 API 和 Direct3D 11.1 API 共享资源和同步事件。

提供资源的视频内存

DXGI 1.2 使应用能够以较低的开销提供其资源的视频内存。 通过提供视频内存,作系统可以释放视频内存。

此 DXGI 1.2 功能包括以下方法。

可以使用 ID3D11Debug::SetFeatureMask 方法设置功能掩码标志,以调试 IDXGIDevice2::OfferResourcesIDXGIDevice2::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 来获取 IDXGIDebugIDXGIInfoQueue 接口。

有关如何远程调试 DirectX 应用的信息,请参阅 远程调试 DirectX 应用

DXGI 编程指南