微软详解DirectX 12中新引入的两项代码调试功能

摘要:对于想要获得更好的 GPU 性能的开发者来说,DirectX 12 是一款很重要的工具。2015 年的时候,DX12 随着 Windows 10 的发布而正式与大家见面。而在最新的 Windows 10 秋季创作者更新(1709)中,该公司又为它添加更多的功能 API,以方便开发者追踪和消除程序的 bug 。近日,Jacques van Rhyn 通过 DX 开发者博客发表了一篇文章,重点介绍了 DX12 两大新特性。

对于想要获得更好的 GPU 性能的开发者来说,DirectX 12 是一款很重要的工具。2015 年的时候,DX12 随着 Windows 10 的发布而正式与大家见面。而在最新的 Windows 10 秋季创作者更新(1709)中,该公司又为它添加更多的功能 API,以方便开发者追踪和消除程序的 bug 。近日,Jacques van Rhyn 通过 DX 开发者博客发表了一篇文章,重点介绍了 DX12 两大新特性。

微软详解DirectX 12中新引入的两项代码调试功能

作为一名开发者,你显然需要清楚了解什么命令可能导致程序在 GPU 上运行时崩溃,然后尽力避免此类事件的发生。设计上,这两款工具可以相辅相成,帮你重点消除“设备移除”或“设备丢失”之类的错误。

首先是改进了数据调试:

在秋季创作者更新之前,应用程序无法直接控制底层的内存资源。但在某些需要访问资源内存内容的应用中,这点又是非常重要的,比如刚好发生了设备移除错误之后。

我们已经部署了一款这样的工具,有需要的开发者们现可获知更多更用的信息,帮助他们确定错误发生在了哪里。以及优化试图确定错误原因的时间,让他们有更充裕的时间来跨系统修复。

其次是改进了命令调试:

我们制作了可以与前者共同使用的另一款工具,它可以创建标记,记录哪些发自 GPU 的命令已经被执行,另有哪些在执行过程中。

在崩溃发生的时候,即使是一个设备移除崩溃,这些信息仍然是滞后的,意味着我们可以很快地找出哪些命令可能诱发了崩溃。

对于开发者来说,这些信息可以显著减少游戏开发和修复 bug 所需的时间。

Van Rhyn 指出,新工具的意义,在于能够让开发者们将更多时间花在构建“高性能、可靠的游戏”,而不再纠结于“搜索特定错误的深层原因”。

此外,Van Rhyn 还略详细地介绍了今年 4 月份的 Windows 10 创意者更新(1704)中引入的“深度范围测试”(Depth Bounds Testing)和“可编程多重采样反锯齿”(Programmable Multisample Anti-Aliasing)特性。

最后,Windows 10 秋季创意者更新还修复了多个 DX12 的 bug,且微软开发部门将开始每月例行更新 PIX 图形调试软件。

来自: cnBeta

扩展阅读

每一位攻城狮都不能错过的Visual Studio 2015正式版
Visual Studio 11预览:DirectX和SharePoint特性
Direct3D 的进化史
Visual C++ 2015 引入更新的 C++ 特性到 Windows API
微软 DirectX 12 到底带来了什么?

为您推荐

为什么移动Web应用程序很慢(译)
xmake v1.0.4 发布,轻量级跨平台自动构建工具
超全!iOS 面试题汇总
在 FreeBSD bhyve 下运行 Windows
Java Crash分析

更多

微软
DirectX
软件编程