RenderDoc 的修改版本

项目地址:https://github.com/LesFloraison/RenderDuck/releases/tag/v1.2

对于附带反截帧的游戏而言,一旦公版 RenderDoc 与 GPA 无法正常注入,可以尝试使用我的定制化版本。

由于终末地当前大版本加大了检测范围,原先仅针对 renderdoc.dll 的链接库重新生成目前已经被识别到,特此彻底重新生成了整个 RDC 项目,并剔除掉 “Render” 符号。(RenderDuck -> RiderDuck)

RenderDuck 已经完全剔除/替换掉公版 RDC 源码中的可识别符号,并重新打包生成。经过测试可以正常注入追放与终末地。

提醒注意此版本适用于截帧,请在原版 RDC 打开帧文件进行自动化分析。不要在此修改版的基础上为其安装 RenderDoc MCP 插件,由于重新打包的缘故将不会被 MCP 服务正常识别到 qrenderdoc.exe 进程。

推荐首选 DX11 API 作为注入环境,DX11 以外的环境没有进行测试。

RenderDoc MCP

项目地址: https://github.com/JinxiangW/renderdoc-mcp

MCP 服务本身不解析 .rdc,而是把请求转发给运行在 qrenderdoc.exe 里面的 Python 扩展,让扩展调用 RenderDoc 官方 Python API 读取当前已打开 capture 的帧、事件、管线和资源,然后把精简 JSON 或导出的图片路径返回给 MCP。

使用时时需要注意,RenderDoc 帧文件的完整上下文存在于 qrenderdoc 进程里,分析时需要在系统后台全程开启相应的 rdc 文件,且只能够开启这唯一的一个 rdc 文件。

需要同时安装 MCP 服务端与 RenderDoc 扩展,假设源码仓库存放在以下目录:D:\CDX\renderdoc-mcp-master

Python MCP 服务端安装

推荐安装成全局可执行命令:

1
cd D:\CDX\renderdoc-mcp-masteruv tool install --editable . --force

然后在 MCP 客户端配置文件中添加以下配置项,重启 Codex 客户端完成生效。Codex 客户端默认将配置文件存放在 “%USERPROFILE%.codex\config.toml”

1
2
3
4
[mcp_servers.renderdoc-mcp]
command = "renderdoc-mcp"
args = ["run-mcp", "--transport", "stdio"]
enabled = true

Qrenderdoc 扩展安装

这是 RenderDoc 端侧必须安装的插件部分。安装命令是:
cd D:\CDX\renderdoc-mcp-masteruv run python scripts\install_ext.py

它会把扩展复制到:

%APPDATA%\qrenderdoc\extensions\renderdoc_mcp_bridge

并把 renderdoc_mcp_bridge 写进:

%APPDATA%\qrenderdoc\UI.config

在 RenderDoc 顶栏的 Tools -> Manage Extensions 窗口下,确认扩展是否已经启用。

之后再验证 bridge 插件是否生效。(注意此时将 RenderDoc.exe 保留在系统后台):
uv run python scripts\bridge_req.py ping –timeout 5

成功时应返回:

1
2
3
4
5
6
{
"result": {
"status": "ok",
"message": "pong"
}
}

测试

无需指定目标 rdc 文件路径,注意后台需要全程开启目标 rdc 文件,建议提前指定 eid。

GPA MCP

项目地址:https://github.com/LesFloraison/gpa-mcp

gpa-mcp 自己不解析 .gpa_frame 文件,而是启动 Intel GPA 的 FrameAnalyzer.exe,让 GPA 加载一个仓库自带的 Python 插件,由插件通过 GPA 内部 plugin_api 读取帧数据,再导出成 JSON;MCP 工具后续主要查询这个 JSON 缓存。

与 RenderDoc MCP 不同的是,获取 *.gpa_frame 文件的上下文无需后台显式开启对应的帧文件,只需要在一轮对话的开始为其指定目标帧文件的地址即可。MCP 将在后台静默拉起 Intel GPA 的 FrameAnalyzer.exe,读取这一帧且不会弹出 GUI 窗口。

对于此项只安装 MCP 服务端即可。因为第一次执行 open_capture 时,它会自动把仓库自带的 GPA Python 插件复制到:%USERPROFILE%\Documents\GPA\python_plugins\

其插件包括两个:gpa_mcp_export 与 gpa_texture_export,分别用于从 gpa_frame 文件中导出所需的输入输出信息与纹理资源。

GPA-MCP 服务端安装

假设源码仓库存放在以下目录:D:\CDX\renderdoc-mcp-master

使用以下安装命令。

1
cd D:\CDX\gpa-mcpuv tool install --reinstall .

安装后应能运行以下作为验证:

1
gpa-mcp --help

配置 Codex MCP

%USERPROFILE%\.codex\config.toml 添加以下内容后,重启 Codex 客户端完成生效。

1
2
3
4
[mcp_servers.gpa-mcp]
args = ["run-mcp", "--transport", "stdio"]
command = "gpa-mcp"
enabled = true

测试

建议在显式指定 gpa_frame 文件后,为其指定某个 Event id 进行定向分析。