Why 60 fps?

UI 优化系列专题,来聊一聊 Android 渲染相关知识,主要涉及 UI 渲染背景知识如何优化 UI 渲染两部分内容。


UI 优化系列专题
  • UI 渲染背景知识

View 绘制流程之 setContentView() 到底做了什么?
View 绘制流程之 DecorView 添加至窗口的过程
深入 Activity 三部曲(3)View 绘制流程
Android 之 LayoutInflater 全面解析
关于渲染,你需要了解什么?
Android 之 Choreographer 详细分析

  • 如何优化 UI 渲染

Android 之如何优化 UI 渲染(上)
Android 之如何优化 UI 渲染(下)


关于 Android 的渲染,大家肯定听说过每秒 60 帧和 16ms 的限制问题,你是否有想过为什么是这些数字?如果你是对于性能要求较高的开发者,这样的技术细节是非常值得深入了解的。

由于人类眼睛特殊的生理结构,并不像相机那样有图像快照送到大脑;相反,大脑在不停地处理眼睛传递给他的视觉信号,所以对于人类的大脑来说并没有帧或者快照的概念,人类眼睛对于运动的概念来自于静止的帧。

视觉暂留

要了解眼睛是如何感知连续的运动之前,我们先来看一个小实验:

这是一个由纸片剪裁而成的原图,图纸分为 10 个部分,在每部分画上二人舞蹈动作的分解图,中间对应的是猴子跳圈的分解图,整副平面图看上去平平无奇,但是如果把它组装在木杆上旋转起来,神奇视觉效果就会发生:

人眼观看物体时,成像于视网膜上,并由视神经输入人脑,感觉到物体的像。但当物体移去时,视神经对物体的印象不会立即消失,而要延续 0.1 ~ 0.4 秒的时间,人眼的这种性质被称为“眼睛的视觉暂留”。更多小实验可以参考这里

视觉暂留最早由 1824 年由英国伦敦大学教授皮特.马克.罗葛特提出,物体在快速运动时,当人眼锁看到的影响消失后,人眼仍能继续保留其影像,约 0.1 ~ 0.4 秒左右的图像,这种现象被称为视觉暂留现象

视觉暂留现象首先被中国人发现,走马灯便是据历史记载中最早的视觉停留运用。物体在快速运动时,当人眼看到影响消失后,眼睛能继续保留其影响,约 0.1 ~ 0.4 秒左右的图像,

其具体应用是电影的拍摄和放映。原因是由神经的反映速度造成的,其时值约为 1/16 秒,对于不同频率的光有不同的视留时间。比如:日常使用的日光灯每秒大约熄灭 100 余次,但我们基本感觉不到日光灯的闪动。这都是因为视觉暂留的作用。要达到最基本的视觉暂留效果至少需要 10 fps

  • 不过关于这一理论也有它的局限性,感兴趣的朋友可以进一步探究。

连续的运动

1. 12 fps

每秒达到 10 ~ 12 帧以上才可以被感知到连续的运动及变化,但是这样的速率是非常不流畅的,只有帧率超过每秒 24 帧的时候,才会被察觉为流畅 的运动及变化。

2. 24 fps

每秒 24 帧在电影界是黄金标准,24 帧的速度足够使画面运动的非常流畅,而且 24 帧的电影预算也能满足成本的需求,这也是为什么在过去的 50 年里,绝大多数的电影都使用 24 帧每秒的速度。

现在,每秒 30 帧对于电影来说戳戳有余,但是对于那些绚丽的电影特效,它的视觉效果还是难以令人信服。

3. 60 fps

实际上每秒 60 帧的速度才是真正的黄金标准,60 帧的速度非常流畅,绝大多数人都察觉不到比 60 帧还高的视觉体验。


16 ms(一帧的工作时间)

现在我们清楚了 60 fps 的由来,下面我们来看下 60 fps 在 Android 渲染中的应用。首先 Android 系统每间隔 16 ms(1000 / 60 ≈ 16ms) 重新绘制一次 Activity 界面。

也就是说应用程序必须要在 16ms 内完成屏幕刷新的全部操作(它是由手机硬件来触发,定义了屏幕每秒的刷新速度),这样才能达到每秒 60fps。

从设计师和产品的角度,他们自然希望应用可以用丰富的图形元素、更炫酷的动画来实现流畅的用户体验。但是 Android 系统很有可能无法及时完成这些复杂界面渲染操作,如果超出一帧的工作时间比如花费 24ms 才完成,这时候就会出现我们称之为掉帧的情况。用户看到同一张画面的时间变长。

丢帧情况下的画面是用户很容易察觉到的卡顿现象。需要说明的是,即使是 40 fps 用户可能也不会感觉到明显的卡顿,但是我们也仍需要做进一步优化,因为我们有更高的要求,希望它能达到流畅画面所需的 60fps。这也是我们要做 UI 优化的目的。

  • 卡顿是造成用户口碑差的最核心问题之一,尤其是连续多次出现的掉帧现象更容易被用户察觉到。

以上便是关于为什么是 60fps 的学习和总结,如果你有更好的分析或指正,欢迎你的留言。

文章如果对你有帮助,请留个赞吧。

扩展阅读
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
禁止转载,如需转载请通过简信或评论联系作者。
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 219,366评论 6 508
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 93,521评论 3 395
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 165,689评论 0 356
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,925评论 1 295
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,942评论 6 392
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,727评论 1 305
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,447评论 3 420
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 39,349评论 0 276
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,820评论 1 317
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,990评论 3 337
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 40,127评论 1 351
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,812评论 5 346
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,471评论 3 331
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 32,017评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 33,142评论 1 272
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 48,388评论 3 373
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 45,066评论 2 355