Android专项测试之GPU测试

发表于:2016-11-16 11:46

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:章未哲    来源:51Testing软件测试网采编

分享:
  4. GPU Monitor
  另外,在Android Studio 1.4之后的版本中集成了GPU Monitor,也可以查看每帧的渲染耗时。使用方法如下:
  将手机连接电脑病开启USB调试选项,打开Android Studio并点击底部的“Android Monitor”,选择待测的设备与进程,即可看到GPU Monitor的监控结果。以6.0系统为例,可以看到,GPU Monitor中呈现的信息实际上与GPU呈现模式分析中在手机屏幕上显示的柱状图是相同的。
  GPU Monitor中展示的柱状图的颜色数量也是与系统版本有关的,若使用5.x系统,GPU Monitor中渲染耗时展示如下:
  二、GPU厂商提供的工具
  上面提到的方法都是通过监控帧渲染时间等手段间接反映GPU的状态,但是这些工具都不能满足我们的需求。其实我们的需求很简单:希望能够直接获得GPU占用率或者类似的指标,就如同top命令可以直接查看CPU占用率一样,简单快捷。但是,可能是由于相比CPU占用率,大部分开发者对GPU占用率并不是十分关心,不仅Linux/Android没有提供GPU占用指标,就连Windows上也没有提供原生的方法。Windows平台上有一些第三方工具能够监测显卡状态,例如GPU-Z,暂时还不太清楚其工作原理及精确度。而在Linux/Android平台上似乎还缺少比较权威的第三方监测工具,Linux上可以通过Nvidia提供的nvidia-smi命令获取GPU参数,但是对其他GPU支持有限。在Android端,高通也提供了一些工具能够监测GPU的运行情况,但是也仅仅支持使用了高通CPU/GPU的移动设备。高通开发了两个能够监测GPU的工具:
  Adreno Profiler;
  Trepn Profiler。
  其中,前者是PC端的工具,功能强大,但是使用相对复杂,因此如果测试人员只需要简单的测试数据,没有必要使用该工具。有兴趣的同学可以在网上检索资料,官方网站:
  https://developer.qualcomm.com/software/adreno-gpu-profiler
  本文主要介绍Trepn Profiler。Trepn Profiler是运行在终端上的性能监测工具,在应用宝等各大应用市场均能免费下载。
  官方网站:
  https://developer.qualcomm.com/software/trepn-power-profiler。
  Trepn Profiler能够实时监测手机几项主要性能指标,主要包括CPU、内存、GPU、网络流量以及电量。其中GPU监测仅支持搭载高通处理器的设备,而其他功能可以在搭载任意处理器的手机上使用。Trepn Profiler使用起来也十分简单,下面主要介绍如何使用该工具监测并提取GPU数据。
  首先打开Trepn Profiler,可以看到以下界面:
  各个入口对应了不同的监测指标,以CPU监测为主,而GPU监测隐藏在“Performance Graph”中,点击该按钮并划到最下方:
  同CPU占用一样,这里使用百分比表示了当前GPU的占用情况,刚好能够满足我们的需求,完美!但是,非高通机器在这里面是找不到GPU Frequency和GPU Load这两个指标的。然而这仅仅提供了一个折线图,如果想获取更详细信息,比如说原始数据以及各进程对应的GPU占用,没关系,Trepn Profiler同样能够满足。
  回到首页,点击左上角选项按钮,选择“ADVANCED MODE”,进入以下界面:
  选择“Profile nApp”即可选择监测应用,在Setting中可以选择监测项目,采样频率等高级选项,同时还可以选择开启悬浮窗口实时监测。我们选择监测QQ空间直播过程中的GPU占用情况,并开启悬浮窗口实时监测GPU状态,如下图:
  直播结束后,回到Trepn Profiler并选择“Stop Profiling”,会提示是否保存测试结果,选择“Save as .csv”,就可以保存测试过程中每次采样获得的原始数据。从手机中将csv格式的原始数据捞出来,可以用excel打开或者文本编辑器打开,可以根据后续需要自行选择数据处理方式。
  总结
  本文记录了一个小白探索安卓GPU测试方法的过程并总结了现有的几个方法,但是笔者感觉本文总结的几个方法还是存在许多不足,并且对GPU测试相关也仍然存在一些疑问,例如:是否有公认统一的GPU测试衡量指标?第三方(非GPU厂商)能否做到跨硬件平台的、精确的GPU监控与测试?
  在专项测试关注的其他几个领域里,我们都建立了较完善的监控体系和工具集成,而相比之下,本文总结的GPU测试方法就显得过于简陋。随着当前直播业务的火爆以及未来VR/AR技术的逐步普及,将来会有越来越多的非游戏类应用涉及到较大规模的GPU运算。而目前我们专项测试乃至整个业界似乎对于GPU监控与测试的关注度还不够,所以最后也希望我们专项团队能够尽早完善GPU的测试方法以及监测体系。
  笔者来自SNG质量部专项技术测试团队,由于本人刚入职还处于学习阶段,在性能/专项测试方面仍然资历尚浅,之前也没有接触过GPU以及图形学方面的知识,本文若有不准确不严谨不完善的地方,也请大家不吝赐教。
22/2<12
重磅发布,2022软件测试行业现状调查报告~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2023
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号