App专项测试之GPU过度渲染
⼀、简介
1. 过度绘制:某些组件在屏幕像素点上绘制次数超过⼀次
2. 帧率:屏幕刷新率
app接口测试工具3. 帧⽅差:屏幕刷新帧间隔⽅差
⼆、GPU测试项
1. 界⾯过度绘制
2. 屏幕滑动帧速率
3. 屏幕滑动平滑度
三、GPU测试⽅法
3.1 Show GPU Overdraw
开发者选项-调试GPU过度绘制-显⽰过度绘制区域(只有Android 4.2及以上版本的⼿机才具备该功能)
不同颜⾊代表含义(⽆⾊:⽆过度绘制,即该像素点只绘制1次;蓝⾊:1x过度绘制,即该像素点绘制了2次;绿⾊:2x过度绘制;浅红:3x过度绘制;红⾊:4x过度绘制)
验收标准:不允许出现⿊⾊像素;不允许存在4x过度绘制;不允许存在⾯积超过屏幕1/4区域的3x过度绘制(淡红⾊区域)
3.2 Profile GPU Rendering
法⼀:开发者选项-GPU呈现模式分析-在屏幕上显⽰条形图,只要不超过屏幕绿线,都可以视为⾜够流畅。当响应速度⼤幅增加,曲线瞬间突破绿线时也不能说明系统不流畅
各android系统下不同颜⾊代表的含义:
android 4.x:蓝⾊-代表绘制时间,即创建和更新display lists的时间;红⾊-代表执⾏时间,即系统进⾏2D选软Display list的时间;橙⾊-代表处理时间,即CPU等待GPU完成渲染处理的时间
android 5.x:新增紫⾊-代表渲染线程写⼊资源所需时间
android 6.x:变成9种颜⾊,将渲染过程中的⼏⼤步骤进⼀步细分,可以通过Android Studio上的GPU Monitor可以看到各个颜⾊含义更新
Swap Buffers:对应原来的橙⾊,表⽰处理任务的时间,线程越⾼,表⽰GPU做的事情越多
Command Issue:对应原来的红⾊,表⽰执⾏任务的时间,为了将内容绘制到屏幕上,Android 需要使⽤Open GL ES 的API接⼝来绘制显⽰列表,红⾊线条越⾼表⽰需要绘制的视图更多。
Sync & Upload:表⽰的是准备当前界⾯上有待绘制的图⽚耗费的时间,为了减少该段区域的执⾏时间,可以减少屏幕上的图⽚数量或者是缩⼩图⽚的⼤⼩。
Draw:对应原来的蓝⾊,表⽰测量和绘制视图列表所需要的时间,蓝⾊线条越⾼表⽰每⼀帧要更新很多视图,或者View的onDraw⽅法中做了耗时操作。
Measure/Layout:表⽰布局的onMeasure与onLayout所花费的时间,⼀旦时间过长,就需要仔细检查⾃⼰的布局是不是存在严重的性能问题。
Animation:表⽰计算执⾏动画所需要花费的时间,包含的动画有ObjectAnimator,ViewPropertyAnimator,Transition等,⼀旦这⾥的执⾏时间过长,就需要检查是不是使⽤了⾮官⽅的动画⼯具或者是检查动画执⾏的过程中是不是出发了读写操作等。
Input Handling:表⽰系统处理输⼊事件所耗费的时间,粗略等于对时间处理⽅法所执⾏的时间。⼀旦执⾏时间过长,意味着在处理⽤户的输⼊时间的地⽅执⾏了复杂的操作。
Misc Time/Vsync Delay:表⽰在主线程执⾏了太多的任务,导致UI渲染跟不上vSync的信号⽽出现掉帧的情况;出现该线条的时候,可以在log中看到这样的⽇志:I/Choreographer(*): Skipped XXX frames! The application may be doing too much work on its main thread
法⼆:开发者选项-GPU呈现模式分析--在 adb shell dumpsys gfxinfo 中
重启应⽤后,在应⽤的页⾯上做滑动,终端通过命令“ adb shell dumpsys gfxinfo 包名 >d:\” 获取到对应的帧渲染⽇志⽂件,在txt⽂件中到Profile data in ms这部分数据,可以把数据copy到excel中以图标的形式进⾏查看。
Draw:创建显⽰列表(display lists,记录所有view对象的绘制指令)的时间开销。
Process:执⾏显⽰列表中绘制指令的时间,UI视窗中View数量越多,需要执⾏的绘画命令就越多。
Execute:将⼀帧图像交给合成器compositor的时间,这部分占⽤的时间通常⽐较⼩。
Prepare:UI Thread传送数据给Render Thread所⽤的时间。
3.3 GPU View Updates
开发者选项-显⽰GPU视图更新。主要查看view的更新以及redraw的区域⼤⼩。
3.4 GPU Monitor
Android Studio 1.4之后的版本中集成了GPU Monitor,⼿机需为debug版本。
GPU Monitor的监控结果与GPU呈现模式分析中在⼿机屏幕上显⽰的柱状图⼀致。
3.5 GPU ⼚商提供的⼯具
⾼通开发了两个能够检测GPU的⼯具Adreno Profiler、Trepn Profiler,但是仅仅⽀持使⽤了⾼通CPU/GPU的移动设备...
3.6 FPS Meter⼯具

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。