Android客户端性能测试之过度绘制

发表于:2020-12-11 10:01

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

 作者:刘娜    来源:51Testing软件测试网原创

  Overdraw(过度绘制)指的是屏幕上的某个像素在同一帧内被绘制了多次,在多层次的UI结构中,如果不可见的UI也在做绘制的操作,这就会导致某些像素区域被绘制了多次,这就浪费了大量的CPU和GPU资源。过度绘制测试主要针对Android客户端各界面。
  一、过度绘制的测试目的
  Android大多数手机的屏幕刷新率是60hz,系统要求每一帧都要在1000/60=16.67ms内绘制完成。如果没有在16ms内完成这一帧的绘制,假如你花了24ms完成,那么就会出现丢帧的情况。丢帧是用户体验中一个非常核心的问题,丢帧越多,用户感受到的卡顿情况就越严重,体验越差。找出过度绘制的问题,对系统进行优化,提升用户体验,就是过度绘制测试的目的。
  二、过度绘制测试方法
  Android手机的开发者选项中有【调试GPU过度绘制】的选项(Android4.2及以上的版本具备此功能)
  1、打开开发人员选项(以华为Mate 30 Pro手机为例),手机设置—关于手机—版本号,连续点击版本号5次
  2、打开手机设置—系统—开发人员选项—调试GPU过度绘制
  3、调试GPU过度绘制选项用颜色标识了过度绘制情况,从好到差依次为:蓝色-绿色-淡红-深红,颜色与过度绘制对应关系如下:
  原色:没有过度绘制
  蓝色:过度绘制1倍,像素绘制了2次。
  绿色:过度绘制了2倍,像素绘制3次。
  淡红:过度绘制了3倍,像素绘制了4次。
  深红:过度绘制了4倍,像素绘制了5次或者更多。
  对于各个色块,网络上有一张参考图更直观的展示了颜色与过度绘制的对应关系
  三、过度绘制测试验收原则
  1、控制过度绘制不超过2次,大片的蓝色还是可以接受的,中等大小的绿色区域是可以接受的,但是应该尝试优化、减少他们。
  2、3次过度绘制尽量避免,淡红色区域小范围可以接受,但要尽量避免。
  3、4次的过度绘制,深红色区域基本上是不被允许的,需要修复。
  下面几个图是大家经常用到的APP的商品详情页面和购物车页面,我们可以观察下过度绘制情况:图一与图四比较好,图二与图三都有优化的空间。
  当然在实际的测试过程中,页面为实现复杂的业务需求,势必要牺牲掉一些性能,测试人员发现问题,与项目成员沟通,大家对是否优化达成一致,在业务需求实现的前提下,提升用户体验,从而达到性能测试的价值。

  本文内容不用于商业目的,如涉及知识产权问题,请权利人联系博为峰小编(021-64471599-8017),我们将立即处理
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

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

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

沪ICP备05003035号

沪公网安备 31010102002173号