OpenGL 调试 ——apitrace

OpenGL 调试 ——apitrace
择一事,终一生
apitrace是一套用于调试 OpenGL 应用程序和驱动程序的工具,其中包括用于生成应用程序进行的所有 OpenGL 调用的跟踪的工具以及用于在程序执行期间重放这些跟踪并检查渲染和 OpenGL 状态的工具。
官网
http://apitrace.github.io
源码下载:
git clone https://github.com/janesma/apitrace.git
ubuntu 安装:
sudo apt install apitrace apitrace-gui
用法
命令行 —— apitrace
全部抓取
$apitrace trace glxgears
生成 glxgears.trace 文件
webgl
./apitrace trace --api gl /usr/bin/chromium-browser https://webglsamples.org/aquarium/aquarium.html
重现解析
./apitrace replay --pgpu --pcpu --ppd chromium-browser.trace > chromium-browser.retrace
输出结果
输出结果
# call no gpu_start gpu_dura cpu_start cpu_dura vsize_start vsize_dura rss_start rss_dura pixels program name
call 741 0 0 15358963 4741 0 0 0 0 -1 0 glViewport
call 742 0 0 15389926 2370 0 0 0 0 -1 0 glScissor
call 2903 0 0 125774519 8000 0 0 0 0 -1 0 glViewport
call 2904 0 0 125802222 6223 0 0 0 0 -1 0 glScissor
图形 —— qapitrace
$qapitrace
$qapitrace chromium-browser.trace
profile
选中工具栏 Trace 下的 Profile 功能,会执行与 replay 相同的动作,并将结果更直观的展示出来
将鼠标放到某个函数上会出现提示信息,双击会在主窗口中显示当前函数
界面说明:
- 第一部分
Frames: 帧号CPU: 处理器端的执行顺序和时长(用宽度表示)GPU: 显卡 draw 函数的执行顺序和时长编号n: 第 n 个 shader 的执行情况
- 第二部分
GPU、CPU的执行时长(高度)
- 第三部分
Program: shader 的执行情况,左边编号与第一部分相对应

浙公网安备 33010602011771号