Snapdragon Profiler Linux版安装与调试opengles应用

Snapdragon Profiler是高通开发的用于调试分析高通Adreno GPU的一款桌面应用,支持Windows、MacOS 和 Linux 。在调试opengles应用程序上能发挥非常重要的作用。该工具能够捕捉CPU、GPU、DSP、内存、功率、网络连接和设备运行时的发热数据等,具有Realtime、Trace Capture、Snapshot Capture 三种模式。实时(Realtime)模式用于实时跟踪数据,跟踪(Trace Capture)模式用于跟踪事件和数据,默认最大值是10秒。快照(Snapshot Capture)模式用于捕获OpenGL ES应用程序的当前帧并可以进行调试,包括单步调试绘制指令,查看和编辑着色器、程序、纹理以及查看像素历史的能力。着色器代码是通过反编译得到,得到的代码跟原glsl代码基本一致,并且可以在截图后修改glsl进行调试。
Snapdragon Profiler 各个版本的下载地址:
Snapdragon Profiler Linux
Snapdragon Profiler Windows
Snapdragon Profiler MacOS
要想下载,首先得有高通的开发者帐号。
本人的Linux环境是ubuntu16.04,Android 设备是Nexus 5X,系统是自己编译的Android 7.1.1 版AOSP。
安装过程如下:
1、安装Mono。Snapdragon Profiler Linux版是基于Linux Mono开发的,因此首先需要在Linux下安装Mono。关于Snapdragon Profiler 更多信息可以参考官方的faq:
https://developer.qualcomm.com/software/snapdragon-profiler/faq
由于每个Linux版本的安装稍微有些不同,具体安装过程请参考官网:

http://www.mono-project.com/download/

安装过程如下:
导入key

$ sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 3FA7E0328081BFF6A14DA29AA6A19B38D3D831EF

添加Mono的地址:

$ echo "deb http://download.mono-project.com/repo/ubuntu xenial main" | sudo tee /etc/apt/sources.list.d/mono-official.list

更新:

$ sudo apt-get update

安装Mono:

$ sudo apt-get install mono-complete

2、Mono安装完成后,进入Snapdragon Profiler目录下运行命令:

$ cd /opt/SnapdragonProfiler/
$ ./run_sdp.sh

运行时可能会出现以下错误:

Unhandled Exception:
System.TypeInitializationException: The type initializer for 'SDPCorePINVOKE' threw an exception. ---> System.TypeInitializationException: The type initializer for 'SWIGExceptionHelper' threw an exception. ---> System.DllNotFoundException: SDPCore

根据高通观望的说法:

https://developer.qualcomm.com/forum/qdn-forums/software/snapdragon-profiler/29450

这是缺少C++Runtime库造成的,解决方法如下:

$ sudo apt-get install libc++1 

安装完成后,不出意外就能够看到以下界面了:

主页.png

连接到手机上,选择Connect to a Device,会出现以下弹框,等待右边的图标变成绿色后点击Connect连接手机:


连接.png

在StartPage页面选择New SnapShot Capture,进入后打开opengles的应用程序,我们可以看到页面如下:


SnapShot Capture选项.png

在Data Sources里面选中对应的应用程序,然后选择GPUShader Processing等你需要调试的应用,调试之前需要添加相应的权限:

    <!--高通GPU调试权限-->
    <uses-permission android:name="com.qti.permission.PROFILER" />
    <uses-permission android:name="android.permission.INTERNET" />

打开应用后,点击Take Snapshot,然后慢慢等待数据回传。如果操作比较多,这个过程会非常非常慢,这是因为截图的话,由于一帧绘制的Texture 比较多且比较大的时候,传输的数据量会非常大,因此绘制的特效越多,传输越慢。我们可以看到,传输回来的截图情况,右边的Texture 可以看到当前帧的情况,右下角的ImagePreview可以看到Textures中的图片预览。Context相同的Textures 和Program 是一一对应的,我们可以选中Programs的ID,然后在左边的VS、FS中那个就可以看到对应的着色器代码了。中间显示的是捕捉到的图片。底部则是运行的opengles绘制方法,你可以双击相应的方法进行单步执行。另外,你可以双击中间的图片的某个位置,然后在左上角的Pixel History中可以看到DrawCall对应的颜色值,方便调试opengles渲染的颜色、透明度是否正确。


截图情况.png

实时模式跟Android Device Monitor的使用方式大同小异,在选中应用的包名后,双击你想要监听的项目,程序的运行状态将会实时反馈出来。
跟踪模式与实时模式类似,只不过最大跟踪10秒的时间,结束后整体状况将会回传显示出你想要监听的项目运行的状况。

至此,Snapdragon Profiler的介绍就到这里,接下来大家就可以欢快地使用该工具调试opengles应用程序啦。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 216,470评论 6 501
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,393评论 3 392
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 162,577评论 0 353
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,176评论 1 292
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,189评论 6 388
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,155评论 1 299
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,041评论 3 418
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,903评论 0 274
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,319评论 1 310
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,539评论 2 332
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,703评论 1 348
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,417评论 5 343
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,013评论 3 325
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,664评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,818评论 1 269
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,711评论 2 368
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,601评论 2 353

推荐阅读更多精彩内容