首页
/ RenderDoc v1.38版本发布:图形调试工具的重大更新

RenderDoc v1.38版本发布:图形调试工具的重大更新

2025-06-06 07:58:34作者:齐冠琰

项目简介

RenderDoc是一款开源的图形调试工具,主要用于帮助开发者分析和调试Direct3D、OpenGL和Vulkan等图形API的应用程序。它提供了强大的帧捕获、帧分析和调试功能,是游戏开发者和图形程序员的重要工具。

v1.38版本亮点

最新发布的v1.38版本带来了多项改进和错误修复,主要集中在以下几个方面:

用户界面改进

  1. 着色器调试器增强:在Shader Debugger的监视窗口和Buffer Viewer中,RGB值转换现在将值视为线性而非sRGB,这更符合图形开发的常规处理方式。

  2. 常量缓冲区可视化:现在可以通过[[rgb]]注解为常量缓冲区变量显示RGB色块,使颜色数据的可视化更加直观。

  3. 纹理像素定位窗口:改进了纹理像素定位窗口的行为,现在只有当窗口失去焦点时才会关闭,而不是鼠标离开窗口就关闭,提高了用户体验。

  4. 着色器搜索路径优化:新增了"递归"切换选项,默认开启。当取消勾选时,该路径将不会递归搜索文件来定位缺失的单独调试信息。这对于处理慢速共享驱动器或包含大量文件的文件夹特别有用。

核心功能增强

  1. AMD GPU性能分析:更新了GPUPerfAPI到4.0版本,提供了更好的AMD GPU性能分析支持。

  2. Android平台支持:为损坏的设备添加了特定的错误消息,提高了Android平台的调试体验。

  3. D3D12改进

    • 当SM5着色器的反射信息被剥离且PDB中有单独的调试信息时,尝试使用可用的调试数据重新生成最佳反射。
    • 改进了资源/常量缓冲区数组访问的DXIL反汇编。
    • 改进了单独调试信息的匹配,并添加了一些新的启发式方法来匹配PIX的未记录搜索行为。
  4. Vulkan改进

    • 移除了管道缓存UUID的更改,允许应用程序在运行和不运行RenderDoc之间保留管道缓存。
    • 新增了对多个扩展的支持,包括VK_KHR_maintenance5、VK_EXT_image_compression_control和VK_EXT_image_compression_control_swapchain。

重要错误修复

  1. D3D12相关修复

    • 修复了SM6着色器调试中数组变量显示为矩阵的问题。
    • 修复了SM6着色器调试中全局数组值加载错误的问题。
    • 修复了SM6着色器调试中可变全局变量的初始值设置不正确的问题。
    • 修复了SM5着色器中数组结构变量的调试数据不正确的问题。
    • 修复了使用UNKNOWN格式创建的UAV在调试SM6着色器时底层资源格式使用不当的问题。
  2. Vulkan相关修复

    • 修复了动态存储缓冲区在管道状态视图中未正确反映动态偏移的问题。
    • 修复了由于导数回读不正确导致的着色器调试错误。
    • 修复了顶点属性偏移大于其步幅时的网格输出数据错误。
    • 修复了使用EXT_shader_object时的覆盖使用问题。
  3. OpenGL相关修复

    • 修复了使用渲染缓冲区作为深度时的四边形过度绘制覆盖显示不正确的问题。
    • 在Windows上尝试防止库被重复加载和卸载时的钩子问题。
    • 修复了某些压缩纹理格式和维度的glCopyImageSubData模拟失败问题。
  4. OpenGL ES相关修复:修复了自定义可视化着色器无法编译的问题。

技术深度解析

着色器调试的改进

v1.38版本在着色器调试方面做了大量工作,特别是对SM5和SM6着色器的支持。对于SM5着色器,当反射信息被剥离时,现在可以利用PDB中的调试信息重新生成反射数据,这大大提高了调试能力。对于SM6着色器,修复了数组变量显示、全局数组值加载和可变全局变量初始化等多个关键问题。

性能优化

针对SM5着色器中包含结构数组的情况,修复了加载和调试速度极慢的问题。同时,着色器搜索路径的递归选项为处理大型项目提供了更好的灵活性,可以根据需要禁用递归搜索以提高性能。

跨平台支持

在Android平台上新增了特定错误消息,帮助开发者更快识别和解决问题。Vulkan方面移除了管道缓存UUID的更改,使得应用程序可以更灵活地在不同环境下运行。

总结

RenderDoc v1.38版本在稳定性、功能性和用户体验方面都有显著提升。特别是对现代图形API(D3D12和Vulkan)的支持更加完善,着色器调试能力更强,错误修复全面。这些改进使得RenderDoc继续保持着作为图形开发者首选调试工具的地位。无论是游戏开发、图形应用开发还是引擎开发,这个版本都值得升级使用。

登录后查看全文
热门项目推荐

项目优选

收起
openHiTLS-examplesopenHiTLS-examples
本仓将为广大高校开发者提供开源实践和创新开发平台,收集和展示openHiTLS示例代码及创新应用,欢迎大家投稿,让全世界看到您的精巧密码实现设计,也让更多人通过您的优秀成果,理解、喜爱上密码技术。
C
54
468
kernelkernel
deepin linux kernel
C
22
5
nop-entropynop-entropy
Nop Platform 2.0是基于可逆计算理论实现的采用面向语言编程范式的新一代低代码开发平台,包含基于全新原理从零开始研发的GraphQL引擎、ORM引擎、工作流引擎、报表引擎、规则引擎、批处理引引擎等完整设计。nop-entropy是它的后端部分,采用java语言实现,可选择集成Spring框架或者Quarkus框架。中小企业可以免费商用
Java
7
0
RuoYi-Vue3RuoYi-Vue3
🎉 (RuoYi)官方仓库 基于SpringBoot,Spring Security,JWT,Vue3 & Vite、Element Plus 的前后端分离权限管理系统
Vue
879
517
Cangjie-ExamplesCangjie-Examples
本仓将收集和展示高质量的仓颉示例代码,欢迎大家投稿,让全世界看到您的妙趣设计,也让更多人通过您的编码理解和喜爱仓颉语言。
Cangjie
336
1.1 K
ohos_react_nativeohos_react_native
React Native鸿蒙化仓库
C++
180
264
cjoycjoy
一个高性能、可扩展、轻量、省心的仓颉Web框架。Rest, 宏路由,Json, 中间件,参数绑定与校验,文件上传下载,MCP......
Cangjie
87
14
CangjieCommunityCangjieCommunity
为仓颉编程语言开发者打造活跃、开放、高质量的社区环境
Markdown
1.08 K
0
openHiTLSopenHiTLS
旨在打造算法先进、性能卓越、高效敏捷、安全可靠的密码套件,通过轻量级、可剪裁的软件技术架构满足各行业不同场景的多样化要求,让密码技术应用更简单,同时探索后量子等先进算法创新实践,构建密码前沿技术底座!
C
359
381
cherry-studiocherry-studio
🍒 Cherry Studio 是一款支持多个 LLM 提供商的桌面客户端
TypeScript
612
60