更多关于Android渲染性能请点击这里
总是能听到讨论 60帧每秒和16毫秒的界限,为什么是这些数值呢?
原因在于硬件,人体硬件——眼睛,大脑,大脑会持续处理眼睛传送的可视图像,这里并没有帧和截图的概念,如果能够足够快的显示图像,可以欺骗人类的大脑,让他们以为眼前的帧就是动作。
图像显示速度的快慢,很大的影响了动作的流畅性。
- 10-12帧每秒让大脑相信这些图像是一个动作
- 24帧每秒人眼会看到流畅的画面,要多运动模糊这些视觉效果,这就是过去50年你看到的电影都是24帧每秒,因为展现动作已经足够,并且价格足够低,能满足电影制作的预算。
- 30帧每秒,现在30帧每秒对电影来说已经足够,但是没有华丽的影院效果,并不是那么令人满意
- 60帧每秒,事实上60帧每秒才是最棒的,不需要那些视觉效果,却依然精彩流畅。
针对图片的非连续性,人眼的辨识度是非常高的,比如:你已60帧的速度运动,然后你时不时突然降至20帧每秒,人眼会察觉出这里面的不流畅性,这会导致大脑的紧张和不适。
作为应用开发者,目标很清晰,保证应用60帧每秒,并且在应用使用期间内,保持60帧每秒不变。
也就意味着,你要在1000ms/60frames = 16.666ms/frame 的情况下完成所有工作。包括输入,计算,网络和渲染。每一帧都要保证流畅。