51Testing软件测试论坛

 找回密码
 (注-册)加入51Testing

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 4443|回复: 0
打印 上一主题 下一主题

[原创] Android客户端性能测试之过度绘制

[复制链接]
  • TA的每日心情
    无聊
    3 天前
  • 签到天数: 1050 天

    连续签到: 1 天

    [LV.10]测试总司令

    跳转到指定楼层
    1#
    发表于 2020-12-14 09:37:02 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
    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的商品详情页面和购物车页面,我们可以观察下过度绘制情况:图一与图四比较好,图二与图三都有优化的空间。





     当然在实际的测试过程中,页面为实现复杂的业务需求,势必要牺牲掉一些性能,测试人员发现问题,与项目成员沟通,大家对是否优化达成一致,在业务需求实现的前提下,提升用户体验,从而达到性能测试的价值。


    本帖子中包含更多资源

    您需要 登录 才可以下载或查看,没有帐号?(注-册)加入51Testing

    x
    分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
    收藏收藏
    回复

    使用道具 举报

    本版积分规则

    关闭

    站长推荐上一条 /1 下一条

    小黑屋|手机版|Archiver|51Testing软件测试网 ( 沪ICP备05003035号 关于我们

    GMT+8, 2024-11-24 09:18 , Processed in 0.067740 second(s), 30 queries .

    Powered by Discuz! X3.2

    © 2001-2024 Comsenz Inc.

    快速回复 返回顶部 返回列表