一加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是否會採用兩種方案同時使用?因爲手機已經還給同事了。

不管是什麼方案,最終目的一致的:就是讓應用的每一幀繪製渲染時間小於一個時間週期。

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