Adreno GPU Profiler工具使用总结

发表于2018-03-12
评论0 1.28w浏览
介绍

Adreno Profiler 是高通公司开发的一款针对运行在高通骁龙处理器上用于图形和GPGPU技术应用的性能分析和帧调试工具。支持OpenGL ES、 OPenCL、和DirextX的分析和调试。

安装系统需求

Adreno 是基于Windows开发的一款应用,虽然目前可以支持在Ubuntu12.04+ ,但是在安装了momo 后,仍然还会存在不少的问题,因此建议在使用Windows 7 或者Windows 8 , 本人在Windows8测试使用时候,会遇到缺少"msvcp110.dll",可以下载微软补丁解决。

安装手机驱动,本人使用豌豆夹代替了这一步, 省事偷笑,下载AndroidSDK , 将adb路径添加到环境变量中。

目前Adreno Profiler 仅支持分析运行在Android和Windows Phone 系统和高通骁龙处理器芯片且包含Adreno GPU硬件平台上的应用。

安装

目前Adreno Profiler 仅支持64位版本, 在QDN下载所需系统的安装路径推荐使用windows版本 ,然后按照步骤默认安装就可以,安装的默认路径为: C:\Program Files\Qualcomm\Adreno Profiler

性能

Adreno Profiler 支持下面的特点:
  • 监测实时的GPU性能
  • 捕获一帧,然后依照API的调用依次调试
  • 分析每一次调用Draw 函数的性能
  • 查看texture、programe、shader和其他的资源
  • 查看shader统计
Adreno Profiler 可以帮助开发者理解理解CPUvsGPU瓶颈, GPU的瓶颈发生在使用Adreno GPU 的渲染算法时。

可以调试的程序:

Adreno Profiler  在点击连接后, 会提示 adb 找到设备, 有时会提示“no Adreno Profiler --enabled app ”,下面的一些要求也许可以解决这个疑问:
  • 首先APP 必须是一个OpenGL ES 图像应用
  • 对于OpenGL ES ,应用必须创建一个上下文
  • 有一些设备可能会阻止Adreno Profiler连接,因此推荐使用Nexus系列的手机
Adreno Profiler 原理上是一个OpenGL ES Draw Call Replay,因此要求PC端也必须支持手机端设备的 OpenGL ES 所有特征。

下面介绍一下使用Adreno Profiler 的基本步骤:

1、首先连接手机或者在PC同一个局域网内的其他机器, 在手机端运行需要调试的程序(本例使用了捕鱼达人千人炮)
打开Adreno Profiler ,Title 

点击"Connect", 会弹出连接提示:
或者在IP中填写手机IP地址, 然后点击refresh ,直到在Context中显示可以调试的程序,点击“connect"就可以开始调试了。

3、Adreno Profiler 提供了实时的GPU的监控, 其中提供了大量的监测点,可以实时的查看GPU的情况, 点击菜单栏中的”Grapher“,有两个子菜单”App metrics Graph“和”Global metrics Graph“,并不是所有的手机支持后者,且在使用IP连接的时候,后者也是无法使用的:

4、选中"App Metrics Graph", GPU的实时显示数据:

5、点击Scrubber GL弹出抓取界面,然后点击Capture Frame一段时间,就可以获取当前的一帧:
你可以点击Save将其保存,以待之后分析。

6、在上图中,可以看到“Render Calls”一栏RenderCall 数据,其实是抓取了一帧中所有GL部分的调用及相关数据,然后按照绘制命令组织。当选中不同的Render Call时,工具会显示从一开始到这一个命令的绘制结果,方便看到每一个中间过程。此外,在API Calls中,还可以看到每一个Render Call之前的其他命令,包括各种对GL状态机的修改:

7、具体的顶点数据什么也能直接看到:

8、就纹理来说,在右边可以看到所有显存里的纹理资源,点开可以看到具体的纹理参数和缩略图。在上面有一个小的按钮,可以将所有纹理都保存成一个个文件:

9、就Shader来说,同样也是可以看到所有Program,工具还会贴心的标出所有利用了该Shader的Render Call,下面可以看到反汇编出来的指令:
Adreno Profiler 的详细使用使用还在摸索中, 在随后的工作中,我将继续更新。

有关高通Adreno其他的资料
1、Adreno 手机游戏 & 图形优化论坛:http://qualcomm.csdn.net/module/zone/qualcomm/ziyuan_detail?id=73
2、Adreno 的参考手册:http://qualcomm.csdn.net/module/zone/qualcomm/ziyuan
3、Adreno 应用示例:https://developer.qualcomm.com/mobile-development/maximize-hardware/mobile-gaming-graphics-optimization-adreno
4、Adreno profiler 的使用: http://www.kuqin.com/shuoit/20150517/346102.html
5、Andreno GPU Profiler : https://developer.qualcomm.com/software/adreno-gpu-profiler
来自:http://blog.csdn.net/daijy0111/article/details/50427758

如社区发表内容存在侵权行为,您可以点击这里查看侵权投诉指引