下载 PDF[PDF 471KB]
第 2 章 DirectX* 12 工具
2.1 Visual Studio 图形诊断工具
我们建议您使用 Visual Studio 2015 来开发 DirectX* 12 程序。以下内容主要适用于 Visual Studio 2015 图形诊断工具。
2.1.1 图形诊断工具概述
Visual Studio 2015 图形诊断是一套工具集,用于记录和分析 Direct3D 应用的演示和性能问题。图形诊断不仅可以用于诊断 Windows PC 和 Windows 设备仿真器上运行的程序,而且也可用于调试远程 PC 和设备上运行的程序。
要获得关于应用如何使用 Direct3D 的最准确的分析结果,图形诊断可以直接捕捉正在运行的应用的状态,并立即进行分析、共享或保存供将来分析使用。不仅开发人员能够使用命令行工具 dxcap.exe来手动启用和控制捕捉,而且 VS 也提供了三种不同的帧捕捉方式来帮助用户以编程方式来启用和控制捕捉:捕捉 VS 界面和应用界面上的帧,以及使用捕捉 API 自动捕捉帧。
要诊断应用的性能问题,建议使用图形诊断的一项新特性,即称为“帧分析”的工具来分析已捕捉的帧数据。不同于手动修改图形参数以及不断比较变化前后的性能来确定修改是否合适,这款工具将自动改变应用使用 Direct3D 的方式以及为开发人员测试所有参数,从而揭示出性能优化的潜力所在。
Visual Studio 图形分析器窗口用于检查已捕获的帧出现的渲染和性能问题。几款内置的工具有助于开发人员了解应用的渲染行为。每款工具展示了有关已捕获的帧的不同信息,并直观地显示了从帧缓冲器开始的渲染问题。
下图显示了图形分析器中的工具的典型布局。
2.1.2 图形诊断的兼容性
图形诊断支持使用 Direct3D 12、Direct3D 11 和 Direct3D 10 的应用。它为使用 Direct2D 的应用提供了有限支持。它不支持使用较旧版 Direct3D、DirectDraw 或其他图形 API 的应用。
2.1.3 Visual Studio 中的图形诊断特性
1.图形工具栏
图形工具栏提供了可快速访问图形诊断的命令。
2.捕捉图形信息
当应用在图形诊断中运行时,Visual Studio 将显示开发人员用于捕捉当前帧及显示帧速率和帧时间的诊断会话界面(只有在启动 GPU 利用率工具后,才会显示 GPU 和 CPU 利用率)。负载显示有助于开发人员根据性能特征确定所要捕捉的帧。建议不要将其用于屏幕故障排除。
3.GPU 利用率
可以使用 GPU 利用率工具来更出色地了解 GPU 和 CPU 上的 Direct3D 应用的性能。开发人员可以将其用于确定应用的性能是否达到了 CPU 或 GPU 的限制,进而了解如何更有效地使用平台硬件。GPU 利用率工具支持使用 Direct3D 12、Direct3D 11 和 Direct3D 10 的应用(VS2015 RTM 目前不支持 DirectX 12,但将在以后的更新中添加相关支持);它不支持其他图形 API,如 Direct2D 或 OpenGL。
即将推出:
第 3 章:从 DirectX 11 迁移到 DirectX
第 4 章:DirectX 12 特性
第 5 章:DirectX 12 优化
4.DirectX* 控制面板
DirectX* 控制面板是一个 DirectX* 组件,开发人员可将其用于更改 DirectX* 的行为方式。例如,开发人员可以启用 DirectX* 运行时间组件的调试版本,选择调试信息的类型,以及禁用某些图形硬件功能被用于模拟不支持的硬件。对 DirectX* 的控制水平有助于您调试并测试 DirectX* 应用。您可以通过 Visual Studio 访问 DirectX* 控制面板。
2.1.4 参考资料
有关本章节中相关内容的最新信息,请参考以下 MSDN 网站:
https://msdn.microsoft.com/zh-cn/library/hh315751(v=vs.140).aspx
请观看以下视频,了解 Visual Studio 2015 的新特性,以便进行 DirectX* 开发:
https://channel9.msdn.com/Series/ConnectOn-Demand/212