安卓拥有,iPhone缺失,高刷新率到底能带来什么体验?
iPhone12系列发布已半月有余,除了出现的一系列问题被人诟病,最让消费者遗憾的就是没有高刷新率。虽然有人表示这是因为IC驱动不足导致无法量产,不过也有猜测是因为续航不足而被迫放弃。
不管怎么说,在2020年,高刷新率似乎已经是安卓旗舰标配,近日刚发布的华为Mate 40 Pro支持90Hz刷新率。去年,国产手机品牌一加就推出了国内首款90Hz刷新率手机。现在,就连部分千元机都已经用上了高刷新率屏幕。
屏幕刷新,唯快不破
屏幕刷新率是LCD/OLED屏幕的硬件性能参数,即每秒钟能刷新画面的数量,一般用物理单位赫兹(Hz)来表示。
不论是手机还是电脑显示器,其面板都是由物理像素铺就的。目前的手机屏幕主流分辨率是1080P,也就是面板上共有1080*1920个像素点,即每行1080个像素,每列1920个像素。一般来说,我们把显示器画完一行的1080个像素叫做行扫描,把1920行全部画完叫做场扫描,把开始扫描一行的物理信号叫做水平同步信号(HSYNC),把开始扫描一场的物理信号叫做垂直同步信号(VSYNC)。
VSYNC与屏幕刷新率直接相关。屏幕每秒钟能画完几场,就会有多少个VSYNC信号,称为场频,也就是屏幕的刷新率是多少。
目前大部分手机屏幕的刷新率是60Hz,也就意味着它们每秒钟产生60个VSYNC信号。屏幕刷新率又衍生出另一个概念场同步周期(vsync period),也就是每次刷新所消耗的时间。对于60Hz刷新率的屏幕来说,场同步周期就是1000/60=16.6ms(1000ms=1s)。
注意,屏幕的刷新是强制的,并不是只有在操作中才会刷新,即使我们打开一个界面静止,屏幕还是会以一定频率刷新。
目前许多旗舰机标配90Hz刷新率,表示屏幕每秒钟刷新90次,此时,屏幕约每11.1ms刷新一次。对于更高的120Hz和144Hz乃至240Hz的刷新率来说,每个画面停留的时间就更短了。
这一概念和我们熟悉的帧率很相似。帧率是用于测量显示帧数的量度,单位为“每秒显示帧数”(Frame per Second,FPS),一般来说用于描述影片、电子绘图或游戏每秒播放多少帧。
目前一些常见的画面,比如电影,其帧率为24,抖音的短视频刷新率一般为30fps。30fps也是手机默认的视频拍摄帧率,如果在设置中选则60fps,那么拍得的视频会更加流畅。不过,目前很多视频网站多会锁帧,上传的高帧率视频都会被限制在30fps。
高刷新率和高帧率的本质是一样的都是使每秒钟显示的画面更多,这种变化能带来什么样的体验呢?
举例来说,如果我们每隔一秒钟开关手电筒一次,那么光线就是断断续续的;而如果将开关的频率提高到一秒种60次,那么人眼看到的光就是连续的,近乎没有变化。简单来说,高帧率和高刷的意义就是使就是人眼每秒钟能看到的画面更多,观感更流畅,细节更丰富。
对于人眼来说,不论是刷新率还是帧率,在一定范围内,都是越高越好,这是由人眼的成像原理决定的。
人的眼睛相当于照相机,其中角膜和晶状体相当于照相机的镜头,视网膜相当于照相机的底片,瞳孔相当于照相机的光圈。角膜和晶状体把外界物体反射的光线聚在视网膜上,从而形成物象,视神经会把光刺激传输给大脑皮层,大脑就会反映出看到的物体。
为了连续的看到物体,那么光线就必须持续投射在视网膜上。这一点对于观看动态物体尤其重要。一般来说,当这种投射的频率约为10到12帧时,那么人眼就会认为看到的画面是动态连续的。
对于为什么每秒钟出现10到12张画面时就会被认为是动态的,答案就是:“视觉暂留”
视觉暂留也称“余晖效应”,具体指物体反射光投射到视网膜上时,其视觉形象并不会立即消失,这种残留的视觉称“后像”。再深挖一下,这种现象是由感光细胞的机制决定的。
感光细胞又称感受器细胞,是在眼球的视网膜中发现的,具有光转化能力的一类特殊神经细胞。感光细胞从视野范围内吸收光子,然后经一系列特殊复杂的生物化学通路,将这些信息以膜电位改变的形式进行信号传导。最后,视觉系统对这些信号信息进行处理,就变成了我们看到的世界。
可以看出,感光细胞的反应是需要时间的。为了填补成像过程中的空白画面,先前成像的结果就会暂时停留在人脑中。一般来说,停留的时间约为0.1 -0.4秒,因此每秒10到12张的画面已经足够“糊弄”人眼了。
但是,在运动速度较快时,这一频率可能就会出现不够用的情况,因为动态的细节会出现缺失,出现丢帧,通俗来说,就是卡顿(《蜘蛛侠:平行宇宙》的观感),这会导致观看者出现眩晕的症状。因此,为了保证我们操作手机时的流畅性,那么屏幕的刷新率就必须保持在较高水平。
当然,刷新率也不是越高越好。如果超过人眼的感知上限,那么多出来的刷新率就是多余的,人眼并不会识别,反而会造成额外的资源浪费,得不偿失。有人认为人眼的感知上限是60Hz,但是当使用90Hz或120Hz的刷新率手机时,人眼能清楚地感知到流畅的提升,因此,60Hz上限的说法或许并不准确。但是具体上限是多少,目前还没有定论。
此外,没有外部支持的高刷新率并没有多大意义,用户只有在滑动时才能明显感知。对于其他许多使用场景,如游戏、视频等,在没有适配的情况下仍会以默认刷新率运行。
屏幕刷新机制
当我们开启手机屏幕时,屏幕总会以一定的刷新率显示应用界面信息。这一过程简单来说包括3方参与:屏幕、应用程序和系统。
在安卓4.1之前,安卓手机的刷新流程是线性的。即应用程序进行场扫描绘制画面,然后返回给屏幕显示。这一过程就像去超市购物,顾客(屏幕)向商场(应用程序)购买商品(画面)。不同的是,商场会储备很多商品,但应用程序不会,因此有时可能会出现画面“缺货”的情况。
在4.1版本之后,安卓通过缓存机制解决了这一问题。
应用程序会向系统申请一块缓存,系统通过后,应用程序就拿到了这块缓存的“使用权”。随即,应用程序就会在这块缓存内进行场扫描,以便确定每个像素点需要显示的内容。绘制完成后,应用程序就这块缓存提交给系统,系统随即通过屏幕显示出来。
刷新机制(图源:https://blog.csdn.net/my_csdnboke/article/details/106685736))
事实上,一个缓存块是不够的,有时可能会出现上一帧画面刚更新了一半,下一帧画面就出现了的情况,这被称作画面撕裂(tearing),如下:
画面撕裂 (图源:https://blog.csdn.net/my_csdnboke/article/details/106685736)
为了避免这种现象,安卓采用的是双缓存技术:一块缓存用于系统向其中写入画面,另一块则用于屏幕显示,当前一块中的画面准备就绪后,屏幕才会提取其中的画面进行显示。
除了添加缓冲区,还可以通过“加锁”的方式解决这种问题,也就是在当前画面显示完毕之前将下一画面“锁住”,当前画面显示完毕之后,屏幕才能显示下一画面。这和许多游戏中“垂直同步”设置的作用是一样的,都是为了防止出现画面撕裂。
对60Hz刷新率的手机而言,上述过程全部发生在16ms以内,90Hz和120Hz下系统的反应时间分别只有11.1ms和8.3ms。场扫描绘制画面都是由手机CPU或者GPU进行的,因此,对于瞬时大量计算,手机的处理器也就显得很重要。
刷新率越高,手机画面观感也就越流畅。安卓手机一直被吐槽其动画没有iPhone流畅,原因之一就在于其过渡动画被限制在了30Hz,而苹果的动画基本保持在60Hz,后者的观感自然也就更加流畅。
当然,动画卡顿的差异不仅仅是因为刷新率问题,还和系统底层因素(如内存机制)、软硬件等相关。不过,随着安卓版本的不断优化和高刷屏幕在安卓阵营的普及,这种差异会越来越小。
安卓阵营采用高刷新率在2020年已经相当普遍,这也成为了很多厂商的卖点。但是,有的商家大肆宣扬采样率这一概念,消费者在选购时需要警惕,采样率和刷新率是不一样的。
手机中所说的采样率一般指触控采样率。简单来说,就是每秒钟采集触控的频率。假设触控采样率为1Hz,这表示屏幕需要在触控动作发出后1秒钟才能做出相应反应。高采样率对日常的使用体验并没有太大影响,但是对于游戏玩家的体验还是很不错的,在网络、硬件等因素相同的条件下,操作更灵敏,反应更快,更“跟手”。