Android Performance Patterns S01E03 - Why 60fps?

      在注重App性能的领域,60fps和16ms(毫秒)是经常提及的概念。但是,为什么数字是60和16呢?

这些技术细节是与硬件相关的,——与人眼有关。

人眼与照相机的工作原理不同,不会发送现实世界的快照图片至人脑,供人来识别现实世界。大脑不断地处理眼睛发送给它的视觉信号,所以对于我们大脑来说,并没有帧或快照的概念,我们对运动的概念受到静止帧的影响很大。当静止图像的轮换显示足够快时,我们可以成功地骗过人脑,让其误感知到并未存在的运动。

重要的是,我们切换静止图像的速度,对我们感知的运动的流畅度有巨大影响。当播放图像大于10fps-12fps时,人才会感知到图像内容是运动的。当然,这样的速率运动非常不流畅。只有当大于24fps时,才会产生流畅的观感。不过,这也是在借助了视觉效果如动态模糊才达到的。在电影界,24帧是黄金标准。24帧足够让画面非常流畅,并且在预算上是便宜的。这也是过去的50年间,大多数电影都是24帧的电影。

30帧的电影是足够的流畅的,但是由于没有绚丽的影院效果,它并没有太让人相信。

60fps是事实上的黄金标准,非常流畅,没有任何小把戏。并且,大多数人无法感受到帧率大于60fps的好处。需要注意的是,人眼对帧率前后不一致非常敏感。

例如,当画面先以60fps帧率移动,然后画面突然降低至20fps并且帧率不断变化时,人眼会发觉画面是不流畅的,这往往会让用户会变得非常不安。

作为一个App开发者的目标是明确的:确保App能保持以60fps的帧率运行,并且确保用户体验保持下去。

如果App以60fps的帧率运行,说明了App每个16ms都完成了所有工作,包括输入、计算、网络通信和渲染,每帧都为用户提供了流畅体验。

 

posted @ 2015-09-01 23:44  codeRhythm  阅读(349)  评论(0编辑  收藏  举报