使用apitrace跟踪分析OpenGL函数调用流程
说明
apitrace由一组工具组成,用于:
- 跟踪对文件的OpenGL、Direct3D和DirectDraw API调用;
- 在任何机器上以及对于OpenGL,在任何操作系统上回放来自文件的记录调用;
抓取数据
执行命令运行程序,抓取所有类型
1 |
|
程序关闭时会在桌面生成filename.trace
- apitrace分析所有类型
- glretrace分析OpenGL/OpenGL ES
- d3dretrace分析d3d
重现解析
输入以下命令,可以重现抓取数据时软件运行的画面
1 |
|
图形显示
双击打开qapitrace.exe
File -> Open -> 选择文件打开
文件打开后,以帧为单位
打开某一帧,点击某一个函数,括号里面的是函数参数
从上往下是当前帧中OpenGL函数调用流程
profile
点击Trace -> Profile
弹出配置界面
会先回放trace中记录的程序运行画面
然后显示分析界面
将鼠标放到某个函数上会出现提示信息,双击会在主窗口中显示当前函数
界面说明:
第一部分
- Frames: 帧号
- CPU: 处理器端的执行顺序和时长(用宽度表示)
- GPU: 显卡 draw 函数的执行顺序和时长
- 编号n: 第 n 个 shader 的执行情况
第二部分
- GPU、CPU 的执行时长(高度)
第三部分
- Program: shader 的执行情况,左边编号与第一部分相对应
使用apitrace跟踪分析OpenGL函数调用流程
https://blog.jackeylea.com/opengl/track-opengl-function-call-routine-with-apitrace/