建设银行软件官方网站下载,小米官方网站开发版,wordpress app 服务端,wordpress翻译制作指标背景流畅度#xff0c;顾名思义是用户感知使用App页面时的流畅情况。“App卡不卡”#xff0c;这是用户最直接的感受。 但是要用量化之后的数据衡量流畅度#xff0c;在Android平台这边并没有直接有效的方式/手段去监控。帧率刷新频率首先需要了解到两个概念#…指标背景流畅度顾名思义是用户感知使用App页面时的流畅情况。“App卡不卡”这是用户最直接的感受。 但是要用量化之后的数据衡量流畅度在Android平台这边并没有直接有效的方式/手段去监控。帧率刷新频率首先需要了解到两个概念刷新频率(Refresh Rate)代表屏幕在一秒内刷新操作的次数这取决于硬件的固定参数例如60HZ。帧率(Frame Rate)代表GPU在一秒内绘制操作的帧数例如常见的24fps60fps单位是fps(每秒帧数)很多游戏里面也会有这个指标。24fps60fps现在电影行业默认的规则帧率是需要24fps除了一些极个别的电影超高帧率之外(如李安的比利林恩.中场战事达到超高帧率120fps)。辣么有的同学就问了是不是帧率越高越好。这里可以给到你肯定的回答是的就像显示器的分辨率一样之前认为1080p足够了现在用到了4K5K之后才发现以前的真没法看。当然支持高帧率也需要对应的硬件设备emm..话题跑偏了回到Android流畅度上来现在Android平台App或者是游戏普遍需要达到60fps用户肉眼才能感觉到“不卡”。咦不是24fps吗那么问题来了为什么电影只需要24fps就能是流畅的效果而App/游戏需要达到60fps动态模糊首先小伙伴们可以看下这张图设计功力较渣大家见谅第一部分为电影物体运动轨迹不理解没关系再来看下这张图并不是电影不高清而且主角在激烈的战斗啊怎么样相信聪明如你应该懂了电影每帧不仅会记录当前时间点的信息还会记录物体的运行轨迹。所以我们看到是模糊的效果。但是游戏/App的帧呢请看下半部分每帧只会记下当前时间点的信息并不会记录物体的运行轨迹每一帧都是清晰的经过GPU渲染加载出来的。所以动态模糊也是为什么电影只需要24fps的一个原因那么除了动态模糊还有别的因素会影响的吗有的帧间隔/垂直同步/Vsync说到帧间隔这个名词大家可能比较陌生垂直同步相信很多玩游戏的小伙伴在游戏的设置菜单有见过那么他是用来做什么的呢还是来看下面这张图可以看到在电影播放的时候每帧的间隔时间都是相等的过度非常平滑。而在游戏帧/App帧可能有些场景帧间隔时间较大。(比如人民群众喜闻乐见的国民级手游王者荣耀在团战的时候)。有些场景间隔时间较小(页面不复杂/简单应用场景)。为什么会造成这个原因呢这得从App的渲染机制/原理讲起。CPU负责将页面的布局/元素进行计算将数据推给GPU进行处理GPU负责进行栅格化(也就是将UI元素绘制到屏幕上)。所以帧间隔时间跟页面结构复杂程度相关页面结构越复杂CPU/GPU所需要的时间越多。讲到这里可能有些同学马上想到是不是可以有某种技术可以让帧间隔的时间保持一致没错就是垂直同步系统会每间隔一段时间发送一个Vsync同步信号当接收到了Vsync就会刷FrameBuffer(简单理解就是去刷新屏幕显示)。所以有了垂直同步可以解决掉帧间隔不同步的问题。但是事情往往不会这么简单的有了垂直同步就可以高枕无忧了吗并不会丢帧虽然开启了垂直同步能够保证帧间隔时间相等但是能够保证每帧都能够及时的渲染出来吗并不能来看下面这张图系统会每隔16ms去发送Vsync信号通知CPU/GPU可以开始渲染工作了为什么是16ms机智如你应该能想到60fps的倒数就是16.67ms(省略后面的小数点)。如果要能够达到60fps的话那么就要求每一帧都应该在16ms之内绘制完毕否则就出现了右边图里面的情况-丢帧16ms之内没有完成该帧的绘制那么就必须要等到下次系统的Vsync信号过来了中间经过的时间就是16ms*2(大致为34ms)。而且丢帧也是App卡顿的根本原因好了关于流畅度的解析就先到这里下篇再给大家讲解怎么监控指标以及怎么测试的问题。