一加8 Pro如何优化120Hz屏幕

前言

今天同事买了一台一加8Pro,当然话不多说,先拿来给我们研究一下,看看一加是如何优化120Hz屏幕的。

一、1加7 Pro上90hz的优化方案

首先我们先来看看90hz上如何优化的,采用的主要方法就是动态调整整体屏幕帧率,进到不同应用,调整屏幕帧率,以下是我之前总结的整体帧率切换的场景。

我将它命名为:屏幕动态调整帧率

1.1 小结

设置当中有60hz和90hz模式选项
设置为90hz选项之后,正常界面可以一直保持90hz模式,进入特定的应用或界面自动切换到60hz,退出特定的应用或界面自动切换回90hz
特定的应用主要和游戏,视频,时间相关

二、1加8 Pro上120hz的优化方案

正当我也认为一加8 Pro上会采用和1加7 Pro类似的方案的时候。我抓了一个trace,让我看到了1加8 Pro的另外一种方案。

我将它命名为:应用动态调整帧率
(我相信一加已经申请了专利,如果没有申请,我觉得我得赶紧写一个)

2.1 先来看看trace

新浪微博

状态栏

可以很明显的看到在同一时间中,vsync信号按照120hz上报

新浪微博按照120hz绘制
状态栏按照60hz绘制

我猜这样子设计的原因是:用户在刷微博的时候,让其他窗口按照60hz绘制,可以让出更多cpu和gpu资源给微博用,保证用户刷微博保持120hz。

2.2 小结

我推测1加是可能在Choreographer中动了一些手脚,而且我自己大概也可以写出demo代码了,可以在不整体调整屏幕帧率的情况下,让不同应用以任何可以整除120的帧率运行,例如60,30,40hz,由于整体帧率又是120hz,也不会出现长短帧的方案。

三、总结

通过研究可以发现,一加在90hz和120hz采用了两种不同的方案,而且这两个方案是可以同时工作的。只不过同时运行的时候逻辑会比较复杂,暂时我还不确定1加8 Pro是否会采用两种方案同时使用?因为手机已经还给同事了。

不管是什么方案,最终目的一致的:就是让应用的每一帧绘制渲染时间小于一个时间周期。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章