android应用性能优化之过渡绘制GPU

上一篇 / 下一篇  2014-11-05 14:00:34 / 个人分类:step by step android测试

转自:http://www.grackertalk.com/android-performance-optimization-overdraw-1.html
过度绘制,其实很好理解,举个例子,一个白色背景的窗口,上面有一个黑色背景的布局,最后上面显示的是一个按钮。事实上最后显示的时候,按钮下面的白色背景和黑色背景是看不到的,但在绘制的时候确都画上去了。
当然过度绘制是无法完全避免的,适度的是可以接受的,但过多了之后就会造成性能影响。引用大牛的分析就是:
设备的内存带宽是有限的,当过度绘制导致应用需要更多的带宽(超过了可用带宽)的时候性能就会降低。带宽的限制每个设备都可能是不一样的。一个好的参考目标就是控制过度绘制为2X;这说明您可以绘制一次屏幕,然后在上面绘制最多2次内容,一共绘制每个像素3次。
android提供了对应的工具进行检测,在4.2的开发者选项中,提供了一个叫做“显示GPU过度绘制”的选项。当然,所要分析的页面必须要开启硬件加速。
通过颜色来区别标示过度绘制的情况:蓝色1x过度绘制、绿色2x过度绘制、淡红色3x过度绘制和红色超过4x过度绘制。
其实优化过度绘制的通用思路比较简单,就是要知道具体每一层都绘制了什么,删去完全没必要的层级。当然这是最基本的思路,要实现这个思路我们就需要用到另外一个工具Tracer for OpenGL。这个工具能够记录每一次绘画的动作,并且能展现出来,这样我们就能看到具体的绘画情况了。
  使用要求:
  工具需要连接到一个运行Android 4.1(API级别16)或更高设备上的运行,所以记得开启4.1及以上模拟器或真机来进行分析调试


TAG:

 

评分:0

我来说两句

Open Toolbar