RenderDoc
源代码:https://github.com/baldurk/renderdoc
官网:https://renderdoc.org
使用:官网上下载可执行文件可以直接运行
qrenderdoc : 是图形化界面,可以将可执行文件直接拖进去或者再可执行窗口中选择可执行文件,然后luanch即可。
renderdoccmd :是命令行加上可执行文件,按F12进行抓帧,保存在/tmp/RenderDoc/目录下。
说明文档:https://renderdoc.org/docs/window/capture_attach.html 是再git上用Sphinx生成的。
PS:
源码编译:默认是打开EGL、GLES和VULKAN的。需要安装python3和qt5
功能:有api调用的跟踪、关键api的timeline、可以抓帧看纹理的格式和层级、可以看资源的个数。
apitrace
源代码:https://github.com/apitrace/apitrace
官网:apitrace.github.io
gapid
源代码:https://github.com/google/gapid
官网:https://gapid.dev
release版本:https://github.com/google/gapid/releases
debug版本:https://github.com/google/gapid-dev-releases/releases
包含了5个功能:
gapii
: Graphics API Interceptor
A layer that sits between the application / game and the GPU driver, recording all the calls and memory accesses.
gapis
: Graphics API Server
A process that analyses capture streams reporting incorrect API usage, processes the data for replay on various target devices, and provides an RPC interface to the client.
gapir
: Graphics API Replay daemon
A stack-based VM used to playback capture files, imitating the original application’s / game's calls to the GPU driver. Supports read-back of any buffer / framebuffer, and provides profiling functionality.
gapic
: Graphics API Client
The frontend user interface application. Provides visual inspection of the capture data, memory, resources, and frame-buffer content.
gapil
: Graphics API Language
A new domain specific language to describe a graphics API in its entirety. Combined with our template system to generate huge parts of the interceptor, server and replay systems.
源码安装需要:bazel编译,bazel要通过homebrew进行安装
BuGLe
已经不再维护了
源代码:https://sourceforge.net/projects/bugle/
GLinterpot
已经不再维护了
源代码:https://github.com/dtrebilco/glintercept
https://www.opengl.org/sdk/tools/GLIntercept/
windows的程序,用wglGetProcAddress包装一层,获取opengl的函数指针,获取相关信息。包含的功能有:保存所有api的调用和调用次数,输出debug message(开启opengl的debug模式),可以在线编辑shader,移动相机视角,保存纹理,保存shader或program,保存framebuffer的内容,保存display list,跟中错误状态,输出函数调用时间。
VOGL
GLSL-Debugger
官网:glsl-debugger.github.io
其他:
各个硬件厂商和引擎厂商都有自己的debug工具:
- Intel:GPA
- Nivdia:NSight
- Mali:MGD
- PowerVR:PVRtool
- AMD:AMD GPU PerfStudio
- Unity3D和UE自带调试页面
- Visual Studio:Visual Studio Graphics Diagnostics tools
- GLSLDevil
- gDEBugger
- BuGLe
- OpenGLXtractor (GLIntercept 0.5 with GUI)
- tracy OpenGL ES / OpenVG跟踪工具
- PIX (part of DirectX SDK)
- 3DRipperDX