软件推荐:RenderDoc
文章目录
更新
- 2021/03/09 更新 macOS 平台版本信息
- 2020/08/23 初次发布
介绍
RenderDoc 是一个免费的独立图形调试器。可以快速轻松地单帧抓取分析 Vulkan、D3D11、D3D12、OpenGL、OpenGL ES 应用程序。
这是一个非常重要的工具,重要性可以与 WireShark 相比,WireShark 可以实时地查看收发的网络消息,而 RenderDoc 可以实时地查看显卡是如何进行渲染的。
当然存在很多平台相关的工具,如显卡场景 Intel、AMD、Nvidia 的工具,但是 RenderDoc 是开源跨平台的,用起来要更方便。而且 Unity、Unreal 都已内置对 RenderDoc 的支持。
历史
搜索 RenderDoc 时会发现存在两个官网:RenderDoc 域名与 CryEngine 域名,这是因为最开始作者是在 CryEngine 用业余时间编写的软件。
目标
在 macOS 上调试 Android 游戏。
注意:RenderDoc 没有 Android 版本,程序在连接到 Android 后会自动安装辅助程序。
环境
- macOS 10.14.6
- 华为 P30
下载
官网只有 Windows 与 Linux 的稳定版本,macOS 还只是测试版本,但是实际使用时已经非常稳定了。
在下面链接中的 Nightly builds 中找到最新版本下载
注意:RenderDoc macOS 版本运行后标题是 qrenderdoc
之前官网 Nightly builds 的确包含 macOS 版本,可能是因为苹果推出了 ARM 版本的 Mac,作者觉得适配起来太麻烦,就将所有 macOS 下载链接全撤消了。
其实本来 macOS 版本也只是测试版本,这下没有了正好可以使用最稳定的 Windows 版本。
文档
建议在使用前阅读相关的文档,如 Quick Start
、How do I use RenderDoc on Android?
使用
要调试的程序必须是 debuggable
,RenderDoc 可以帮忙自动反编译修改此属性,但是可能会失败,建议打包时修改此属性方便测试。
手机开启开发者模式,连接电脑后允许电脑调试。
点击 RenderDoc 左下角的 Replay Context: Local
,在弹出的菜单中点击手机,等待自动安装完成。
点击 Launch Application
标签页,点击 Executable Path
输入框右侧的 … 浏览按钮,找到应用的包名与启动类名启动。
这时手机会自动运行游戏,手机屏幕最上方会显示 RenderDoc 的调试信息,如现在是多少帧。
这时可以找到要抓帧的地方,点击 Capture Immediately
按钮,等待抓帧完成后,双击抓到的帧,会打开分析窗口。
这时不要拨掉手机与电脑的连线,点击不同的渲染事件可以在不同的窗口中显示当前的状态,如 Texture Viewer
中会显示当前 DrawCall 使用的输入纹理与输出纹理,因此可以快速判断渲染是否正确。
Pipeline State
可以查看不同阶段的 Shader 是什么,甚至可以实时修改 Shader 保存并预览效果,通过 Texture Viewer
可以看修改后的效果。
注意:由于现阶段并不是很稳定,有时候 RenderDoc 会提示无法 replay(这里的 replay 是抓帧时查看不同 DrawCall 的状态),这时需要重新运行游戏。
参考资料
文章作者 狂飙
初次发布 2020-08-23 23:36:07 +0800
上次更新 2021-03-09 23:46:03 +0800