Releases: crossous/renderdoc
RenderSocoDoc 1.43 (2026-04-17)
What's Changed / 更新内容
New: API Monitor — Real-time Python Scripting for Graphics API Hooks
新功能:API Monitor — 实时 Python 脚本监控图形 API
A complete scriptable monitoring system that lets you hook D3D11/D3D12 API calls at runtime using Python scripts, without recompiling or restarting the game.
完整的可编程监控系统,通过 Python 脚本实时 hook D3D11/D3D12 图形 API 调用,无需重新编译或重启游戏。
Features / 功能:
-
Launch Application UI integration — "Monitor Script" field in CaptureDialog, auto-discovers
rdcmonitor_autoload.py, persisted in .cap settings -
API Monitor Window (Window → API Monitor) — Scintilla Python editor + real-time log viewer, Apply/Unload/Open/Save controls
-
Hot reload — Edit script in the window, click Apply to send to running game instantly
-
Global Hook support — Scripts delivered via temp file mechanism, works with all launch modes
-
D3D12 multi-thread safe — Event queue architecture, zero GIL contention from command list threads
-
Frame-numbered logs —
[F:142] messageformat, frame number matches RenderDoc overlay -
Zero overhead when unused — Single volatile bool check (~1ns) per API call when no script loaded
-
Launch Application 集成 — CaptureDialog 新增 Monitor Script 路径字段,自动发现本地脚本,持久化到 .cap 设置
-
API Monitor 窗口(Window → API Monitor)— Scintilla Python 编辑器 + 实时日志查看,支持 Apply/Unload/Open/Save
-
热重载 — 编辑器修改脚本后点 Apply 即刻发送到运行中的游戏
-
Global Hook 支持 — 通过临时文件机制传递脚本,支持所有启动模式
-
D3D12 多线程安全 — 事件队列架构,命令列表线程零 GIL 争用
-
帧号日志 —
[F:142] message格式,帧号与 RenderDoc overlay 一致 -
未使用时零开销 — 无脚本加载时每次 API 调用仅 ~1ns 的 volatile bool 检查
Other Changes / 其他更改
- Wireframe/Drawcall overlay for MultiAction parent events — 支持 MultiAction 父事件的线框/绘制调用覆盖显示
- D3D12 VRAM optimizations — Postpone/Skip + softMemoryLimit for capture / 截帧时的显存优化
- Vulkan layer JSON fix — Fix layer JSON generation and Launch injection crash / 修复 Vulkan 层 JSON 生成和启动注入崩溃
- Sync with upstream v1.43 — renderdoc_no_export synced, CLAUDE.md added / 同步上游 v1.43
- AGS suppression — Suppress AGS requirement / 抑制 AGS 需求
- Build scripts —
scripts/build_win.batandscripts/build_all.batfor one-click build+package / 一键构建打包脚本
📖 API Monitor documentation: docs/api_monitor.md
Full Changelog: 2026010...2026041
RenderSocoDoc 2026-04-09
New Features / 新功能
- MultiAction Wireframe & Drawcall Overlay / MultiAction 线框与 Drawcall 叠加层
- When selecting a MultiAction parent node (e.g.
ExecuteIndirect, multi-draw) in the Event Browser, the Wireframe and Drawcall overlays now render all child draw commands. Previously, only individual child draws would show wireframe; the parent node showed nothing. - 在事件浏览器中选择 MultiAction 父节点(如
ExecuteIndirect、multi-draw)时,线框和 Drawcall 叠加层现在会渲染所有子绘制命令。此前选中父节点时不会显示任何线框。 - Supports all backends: D3D12, D3D11, Vulkan, GL.
- 支持所有后端:D3D12、D3D11、Vulkan、GL。
- When selecting a MultiAction parent node (e.g.
Bug Fixes / 修复
- Vulkan Layer JSON & Launch Injection Crash / Vulkan 层 JSON 与 Launch 注入崩溃
- Fixed
system_load.dllVulkan layer JSON containing raw@VULKAN_LAYER_NAME@template variable, causing the Vulkan loader to reject the layer. - 修复
system_load.dll的 Vulkan 层 JSON 中残留@VULKAN_LAYER_NAME@模板变量,导致 Vulkan loader 无法识别该层的问题。 - Fixed Launch injection crash caused by RVA mismatch between
renderdoc.dllandsystem_load.dll(e.g.INTERNAL_SetCaptureFileoffset divergence leading to heap corruption). - 修复因
renderdoc.dll与system_load.dll的 RVA 不一致(如INTERNAL_SetCaptureFile偏移偏差)导致 Launch 注入时堆损坏崩溃的问题。
- Fixed
Maintenance / 维护
- Sync renderdoc_no_export with v1.43 / 同步 renderdoc_no_export 至 v1.43
- Added missing source files (
controlflow.cpp/h,rdcbytetrie.h) torenderdoc_no_exportproject to fix link errors after v1.43 rebase. - 向
renderdoc_no_export工程补充了缺失的源文件(controlflow.cpp/h、rdcbytetrie.h),修复 v1.43 rebase 后的链接错误。
- Added missing source files (
Suppress AGS Requirement
D3D12: Optional switch to suppress AGS vendor extension dependency for more portable replays
Some D3D12 titles ship and load amd_ags_x64.dll and may use AGS shader intrinsics (via the vendor “magic UAV” extension mechanism) even when running on non-AMD GPUs. Previously, RenderDoc would record AMD/Samsung vendor extension usage during capture, making the resulting capture appear AGS-dependent on replay, which could cause replay failures or issues on NVIDIA devices.
A new config option, D3D12_Hack_SuppressAGSRequirement, allows RenderDoc to avoid recording AMD/Samsung AGS vendor extension usage into D3D12 captures. This reduces AGS dependency on replay and improves replay portability across GPUs.
Note: This only affects whether the capture records vendor extension requirements; it does not change the application’s actual use of intrinsics. If the application relies on AGS intrinsics for correctness, enabling this option may alter shader behavior and/or produce incorrect results. NVAPI-related vendor extension capture is not suppressed by this option.
D3D12:新增可选开关以抑制 AGS vendor 扩展依赖,提升跨 GPU 回放兼容性
某些 D3D12 游戏会随包携带并加载 amd_ags_x64.dll,即使运行在非 AMD GPU 上也可能使用 AGS 着色器 intrinsic(通过 vendor extension 的 “magic UAV” 机制)。RenderDoc 过去在捕获时会记录到“使用了 AMD/Samsung vendor extensions”,从而使得该 capture 在回放侧被视为需要 AGS/相关扩展支持,可能导致在 NVIDIA 设备上回放失败或异常。
现在新增配置项 D3D12_Hack_SuppressAGSRequirement:启用后,RenderDoc 在捕获阶段会避免将 AMD/Samsung AGS vendor 扩展使用情况写入 D3D12 capture,以减少 capture 对 AGS 的回放依赖,改善回放可移植性。
**注意:**该开关仅影响“捕获文件中是否记录 vendor 扩展依赖”,并不会改变应用实际使用 intrinsic 的事实;若应用依赖这些 intrinsic 的行为/结果,启用抑制可能导致着色器行为改变或画面不正确。NVAPI(NVIDIA)相关 vendor 扩展记录不在此开关的抑制范围内。

compat global hook
20250410 x86 build compat
20250217
Rename dll version
20250214 modify style