




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、目录绘制原理测试项及操作测试标准课后练习目录绘制原理测试项及操作测试标准课后练习测试标准专项目的适用范围测试项测试标准流畅度确保用户有流畅的展示体验1、新增列表页2、旧列表页有较大改动过渡绘制页面不能有超过1/4的3倍及以上过渡绘制帧率平均FPS=30,最小FPS=24目录绘制原理测试项及操作测试标准课后练习系统绘制原理l Android系统要求每一帧都要在 16ms 内绘制完成,平滑的完成一帧意味着任何特殊的帧需要执行所有的渲染代码(包括 framework 发送给 GPU 和 CPU 绘制到缓冲区的命令)都要在 16ms 内完成,保持流畅的体验。这个速度允许系统在动画和输入事件的过程中以约
2、 60 帧每秒( 1秒 / 0.016帧每秒 = 62.5帧/秒 )的平滑帧率来渲染。掉帧l 如果你的应用没有在 16ms 内完成这一帧的绘制,假设你花了 34ms 来绘制这一帧,那么就会出现掉帧的情况。系统准备将新的一帧绘制到屏幕上,但是这一帧并没有准备好,所有就不会有绘制操作,画面也就不会刷新。反馈到用户身上,就是用户盯着同一张图看了 34ms 而不是 16ms ,这时候掉帧就发生了,也就是我们常说的卡顿、不流畅。为什么是60Fpsl Android系统要求每一帧都要在 16ms 内绘制完成,那么1秒的帧率就是约 60 帧每秒( 1秒 / 0.016帧每秒 = 62.5帧/秒 ),那为什么
3、要以 60 Fps来作为 App 性能的衡量标准呢?这是因为人眼和大脑之间的协作无法感知到超过 60 Fps的画面更新。l 市面上绝大多数Android设备的屏幕刷新频率是 60 HZ。当然,超过 60 Fps 是没有意义的,人眼感知不到区别。24 Fps 是人眼能感知的连续线性的运动,所以是电影胶圈的常用帧率,因为这个帧率已经足够支撑大部分电影画面所要表达的内容,同时能最大限度地减少费用支出。但是,低于 30 Fps 是无法顺畅表现绚丽的画面内容的,此时就需要用到 60 Fps 来达到想要表达的效果。不流畅的原因l 花了非常多时间重新绘制界面中的大部分东西,这样非常浪费CPU周期;l 动画播
4、放,消耗 CPU 、 GPU 资源;l 频繁的触发垃圾回收(GC);l 耗资源的操作,比如 IO 操作、网络操作,占用了主线程;l 过度绘制严重,在绘制用户看不到的对象上花费了太多的时间。小结l16MSl60FPS目录绘制原理测试项及操作测试标准课后练习过渡绘制l 过渡绘制是一个术语,表示某些组件在屏幕上的一个像素点的绘制次数超过 1 次。l 通俗来讲,绘制界面可以类比成一个涂鸦客涂鸦墙壁,涂鸦是一件工作量很大的事情,墙面的每个点在涂鸦过程中可能被涂了各种各样的颜色,但最终呈现的颜色却只可能是 1 种。这意味着我们花大力气涂鸦过程中那些非最终呈现的颜色对路人是不可见的,是一种对时间、精力和资源
5、的浪费,存在很大的改善空间。绘制界面同理,花了太多的时间去绘制那些堆叠在下面的、用户看不到的东西,这样是在浪费CPU周期和渲染时间!l 官方例子:被用户激活的卡片在最上面,而那些没有激活的卡片在下面,在绘制用户看不到的对象上花费了太多的时间。过渡绘制检测l 在开发者选项里打开 “ 显示 GPU 过度绘制 ” ,来查看应用所有界面及分支界面下的过度绘制情况:过渡绘制检测l Android 会在屏幕上显示不同深浅的颜色来表示过度绘制:没颜色:没有过度绘制,即一个像素点绘制了 1 次,显示应用本来的颜色;蓝色:1倍过度绘制,即一个像素点绘制了 2 次;绿色:2倍过度绘制,即一个像素点绘制了 3 次;
6、浅红色:3倍过度绘制,即一个像素点绘制了 4 次;深红色:4倍过度绘制及以上,即一个像素点绘制了 5 次及以上;过渡绘制检测l 测试标准:页面不能有超过1/4的3倍及以上过渡绘制过渡绘制根源l 过度绘制很大程度上来自于视图相互重叠的问题,其次还有不必要的背景重叠。l 官方例子:比如一个应用所有的View都有背景的话,就会看起来像第一张图中那样,而在去除这些不必要的背景之后(指的是Window的默认背景、Layout的背景、文字以及图片的可能存在的背景),效果就像第二张图那样,基本没有过度绘制的情况。帧率l 初步的监控:在开发者选项里打开 “ GPU 呈现模式分析” 选项,选择 ”在屏幕上显示为
7、条纹“ 。帧率l 这个工具会在Android 设备的屏幕上实时显示当前界面的最近 128 帧 的 GPU 绘制图形数据,界面上一共有 128 个小柱状图,代表的是当前界面最近的 128 帧 GPU 绘制图形数据。一个小柱状图代表的这一帧画面渲染的耗时,柱状图越高代表耗时越长。随着界面的刷新,柱状图信息也会实时滚动刷新,中间有一条绿线,代表 16 ms ,保持动画流畅的关键就在于让这些垂直的柱状条尽可能地保持在绿线下面,任何时候超过绿线,你就有可能丢失一帧的内容。帧率l 每一个柱状图都是由三种颜色构成:蓝、红、黄。l 蓝色(Draw)代表的是这一帧绘制 Display List 的时间。通俗来说
8、,就是记录了需要花费多长时间在屏幕上更新视图。用代码语言来说,就是执行视图的 onDraw 方法,创建或更新每一个视图的 Display List 的时间。l 红色(Process)代表的是这一帧 OpenGL 渲染 Display List 所需要的时间。通俗来说,就是记录了执行视图绘制的耗时。用代码语言来说,就是 Android 用 OpenGL ES 的 API 接口进行 2D 渲染 Display List 的时间。l 黄色(Execute)代表的是这一帧 CPU 等待 GPU 处理的时间。通俗来说,就是 CPU 等待 GPU 发出接到命令的回复的等待时间。用代码语言来说,就是这是一个
9、阻塞调用。帧率测试l 使用同样的滑动操作脚本,保证滑动速度统一,例如:for /l %a in (1,1,20) do (adb shell input swipe 50 830 50 30)l 在应用宝或者360的应用市场下载安装GT工具,使用GT实时统计FPS,手机要root帧率测试l 打开GT,选择被测应用帧率测试l 点击参数编辑,将FPS拖拽到悬浮窗展示的参数或者已关注的参数,勾选:帧率测试l 点击AUT,点击右上角的“启动”或者“running”可以快速切换到被测应用:帧率测试l 运行滑动脚本,点击开始采集,在滑动结束前,点击结束采集:帧率测试l 点击参数查看采集结果,也可以点击清除
10、数据或者保存数据到SD卡:帧率测试l 测试标准:平均FPS=30,最小FPS=24l 一般都要覆盖高、中、低端机型l 对比:不同版本对比,竞品对比不流畅问题定位l 工具:systracel 使用前提:(1)是4.1之后才提供的工具。(2)手机的内核一定要支持trace(可以查看是否存在/sys/kernel/debug/tracing 这个目录)(3)安装python并配置好环境变量l 运行方式一:eclipseDDMS不流畅问题定位l 工具:填写输出文件保存路径,采集时间,对应的进程,勾选Graphics和View System,点击OK后即开始采集,采集时间结束后输出对应文件。不流畅问题定
11、位l 运行方式二:在android-sdkplatform-toolssystrace目录下运行命令行:l python systrace.py -time=5 -o systrace.html gfx viewl 这个参数跟之前在eclipse里一样不流畅问题定位l 使用chrome打开采集到的文件,关注以下3行:VSYNC(时钟中断信号),SurfaceFlinger(系统绘制UI的服务),对应app的UI线程不流畅问题定位l 总体看下app的帧绘制时间比较长的地方,常用操作:W放大,S缩小,A向左,D向右,也可以用鼠标拖动。l 看帧之间间隔较大的地方,或者红色F的地方,就是丢帧比较严重的时间段。不流畅问题定位l 放大丢帧比较严重的时间段l 备注:performTraversals,该函数是android系统View树遍历工作的核心,其执行过程可简单概括为根据之前所有设置好的状态,判断是否需要计算视图大小(measure)、是否需要重新安置视图的位置(layout),以及是否需要重绘(draw)视图。不流畅问题定位l 有的情况,也有可能是在performTraversals之前调用其他方法造成的耗时:l S
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 快递员数字化技能考核试卷及答案
- 电气设备装配效率提升工艺考核试卷及答案
- 索道滑轮组装质量控制工艺考核试卷及答案
- 草坪园艺师入职考核试卷及答案
- 玉米技术员考试题及答案
- 室内装潢公司劳动协议
- 银行中层面试题及答案
- 银行招聘考试题型及答案
- 【课件】全等三角形及其性质++课件+++2025-2026学年人教版数学八年级上册+
- 维修类专业试题及答案
- 《课程理论-课程的基础、原理与问题》施良方
- 2024年房屋受损赔偿协议书范本
- 第6章-图书管理系统静态建模
- 医院质控会议管理制度
- 生猪屠宰兽医卫生检验人员理论考试题库及答案
- Unit 4 My Favourite Subject教学设计2024年秋人教版新教材七年级英语上册
- 桥梁安全管理制度
- JGJ-T+235-2011建筑外墙防水工程技术规程
- 黄石二中高一年级10月月考英语试卷含答案
- 医保结算清单填写规范培训
- 第二章-食品标准化与标准的制定和编写课件
评论
0/150
提交评论