宣布 GFXReconstruct (v0.9.17) 支持 DirectX ®12 和 DirectX ®Raytracing

首次发布时间:
Rodrigo Urra's avatar
Rodrigo Urra

AMD (Advanced Micro Devices) 和 LunarG 很高兴地宣布,GFXReconstruct 捕获/回放工具现在支持 DirectX® 12 (D3D12) 和 DirectX® Raytracing (DXR)。

LunarG 最初开发 GFXReconstruct 是为了捕获/回放 Vulkan 应用程序。这款免费使用的开源工具已被 Vulkan 开发者广泛采用。通过 AMD 和 LunarG 的合作,GFXReconstruct 已扩展到支持 DirectX 生态系统的应用程序捕获/回放。

D3D12 是 Windows 平台游戏的事实标准,自发布以来已用于数百款游戏的开发和部署。GFXReconstruct 添加 D3D12 支持,为开发者提供了另一个有价值的工具,以帮助分析和调试 D3D12 应用程序。此外,由于此最新版本的 GFXReconstruct 可通过开源许可免费使用,开发者可以自由使用此工具,并通过提供增强功能、支持或错误修复来回馈社区。

主要组件

GFXReconstruct 套件是捕获/回放工具中一个可定制的瑞士军刀。在捕获方面,GFXReconstruct 提供代理库,用于将图形 API 调用记录到磁盘上的捕获文件中。在回放方面,GFXReconstruct 提供一系列命令行工具和脚本来读取和处理捕获文件。

最常用的捕获文件处理工具是 `gfxrecon-replay` 和 `gfxrecon-optimize`。`gfxrecon-replay` 工具用于回放捕获文件,`gfxrecon-optimize` 工具则生成具有改进回放性能的新捕获文件。有关 GFXReconstruct 中所有可用工具的更多信息,请参阅文档

GFXReconstruct 背后的软件架构也非常具有可扩展性。它的编写方式允许开发者实现对其他图形 API 的捕获支持,并开发自定义的消费者/工具来处理捕获文件的内容。

如何使用 GFXReconstruct

让我们以捕获和回放AMD 的 Cauldron 示例为例,来说明如何使用 GFXReconstruct。我们建议从这类应用程序开始学习该工具,然后再处理更繁重的工作负载。为简便起见,本示例将使用发布存档中提供的默认设置的 GFXReconstruct。

解压缩发布存档后,我们会找到

  1. 代理库(以 DLL 形式)位于 `d3d12_capture` 文件夹内

  2. 工具和消费者(以可执行文件和脚本形式)位于根目录

捕获

首先,我们找到 GFXReconstruct 的代理库,并将它们复制到应用程序可执行文件旁边,如下所示。

其次,我们像往常一样运行应用程序,并到达感兴趣的场景。

第三,我们观察到 GFXReconstruct .gfxr 捕获文件的创建,该文件将在应用程序关闭后准备好进行处理。默认情况下,捕获文件将在应用程序的工作目录中创建,如下所示。

就是这样!

我们现在已获得一个“完整”的捕获文件,其中包含从应用程序启动到终止的所有内容。GFXReconstruct 还可以获取“修剪”的捕获文件,其中仅包含用户定义的帧范围。当需要查找排除加载屏幕的特定帧时,这很有用。要执行此操作,我们将需要更改一些捕获时间设置,如文档中所述。

回放

只需运行:`gfxrecon-replay.exe `

此时,我们可以通过选择的方式分析捕获的工作负载。我们可以收集性能指标、调试视觉伪影,或进行任何需要的操作——所有这些都无需运行实时应用程序。

更快地回放

此工作流中的另一个重要部分是对 D3D12 捕获文件的优化。这是通过在捕获文件上运行 `gfxrecon-optimize` 工具来完成的,该工具可以完成两件重要事情:

首先,优化器将删除未引用管道状态对象 (PSO) 的创建。此操作可以显著减少捕获文件的加载时间,尤其是在源应用程序创建了数千个未在捕获帧中引用的 PSO 的情况下。

其次,优化器将分析 DXR 工作负载并注入专用命令,以帮助 `gfxrecon-replay` 快速获取所需的 GPU 虚拟地址。此操作允许回放性能更接近原始应用程序。

对于那些对最佳 GFXReconstruct 回放体验感兴趣的用户,我们强烈建议在工作流中利用优化器。有关更多详细信息,请参阅文档

下载!

此概述仅触及皮毛。

前往GitHub获取代码,阅读文档,并深入了解!

Rodrigo Urra's avatar

Rodrigo Urra

Rodrigo Urra 是 AMD 开发者工具部门的 GFXReconstruct 技术负责人。第三方网站链接仅为方便提供,除非明确声明,AMD 对此类链接网站的内容概不负责,也不暗示任何认可。

相关新闻和技术文章

相关视频

© . This site is unofficial and not affiliated with AMD.