花了三年 OPPO也開始對安卓底層動刀了
OPPO研究院軟體研究中心負責人陳巖
新浪科技 張俊
2018年無疑將是中國智慧手機行業發展史上的重要一年。經歷2017年的行業整體下滑之後,廠商們紛紛求變,拓寬產品線、完善渠道佈局、拓展海外市場、加大技術研發投入等。
在使用者換機週期變長的情況下,加大技術研發投入、開發更多創新功能,從而進一步刺激使用者換機慾望,成為廠商們的共識。在全面屏、屏下指紋、AI和5G上大展拳腳之後,OPPO、vivo和華為都將目光瞄向了安卓系統的最大痛點:卡頓。
OPPO近日也終於正式宣佈推出全場景、系統級資源排程優化方案:Hyper Boost加速引擎。OPPO研究院軟體研究中心負責人陳巖在接受新浪科技等媒體採訪時詳細解釋了這一技術的詳細機制、背後的研發過程和未來的發展。
Hyper Boost的前世今生:歷時三年研發發展
陳巖表示,隨著智慧手機體驗的不斷豐富,OPPO發現兩個層面的問題:從系統層面來看,面對終端功耗高、易發熱的情況,安卓系統自身的資源調配機制有待完善,必須對系統資源進行有效的優化;從應用層面來看,重負載的應用程式、包括大型遊戲等,對智慧手機的功耗和效能表現提出了越來越高的要求,這要求還需要針對應用層面進行資源排程的優化。
實際上,陳巖提到的安卓系統層面的問題一直是安卓手機長久以來存在的痛點。與 蘋果 的iOS不同的是,由於安卓系統的開源機制,安卓系統的手機品牌和型號紛繁複雜,導致不同的安卓手機在硬體和軟體上的差異巨大,這也讓安卓系統碎片化嚴重,導致安卓系統自身的資源調配機制也難以應對不同系統版本、不同品牌和型號的手機的具體場景;再加上各種超級應用App比如微信、QQ等,動輒體積數GB,甚至還有數十GB的大型手遊,更讓安卓手機的體驗出現極大問題,卡頓、發熱、電量消耗快。從硬體對比來看,蘋果的最新款旗艦產品iPhone XS使用4GB RAM,而眾多安卓旗艦已經將8G作為運存的門檻配置,但二者的體驗仍舊存在著差異。
而為了解決這些問題,陳巖透露, OPPO早在2015年便開始考慮著手研發Hyper Boost,構想、推進系統層面的系統引擎設計,就是說Hyper Boost的雛形就從那時開始逐漸形成;到2016年,OPPO把系統優化技術推廣到更多的底層硬體平臺,通過自研的底層優化技術,與底層硬體平臺共同協作;2017年,OPPO與王者榮耀合作,支援了多核多執行緒模式,開啟了遊戲專項優化;今年,OPPO又與微信展開了合作,在應用層面進行了場景優化。
迄今為止,OPPO在系統、遊戲和應用三大方面,都有了相應的優化方案。通過整合三重優化,覆蓋了廣泛的應用場景,OPPO的Hyper Boost也最終整合完善。同時,陳巖表示,一套新的技術方案應用在OPPO的產品中,都需要經過不斷測試,保證技術能夠完整地支援產品表現。而Hyper Boost支援不同的底層硬體平臺,更需要大量的測試,確保新技術的引入不會對系統穩定性造成影響。
Hyper Boost能為安卓手機帶來什麼?
陳巖介紹,Hyper Boost加速引擎的核心工作原理是讓應用程式與系統資源實現實時雙向對話。當來自應用和遊戲程式的不同場景和使用者行為被Hyper Boost加速引擎識別之後,它會根據具體需求,針對性、全方位地優化系統資源調配,讓硬體資源能被更好地利用,從而使應用和遊戲程式響應更加迅速、整體系統執行更加流暢。
Hyper Boos包含三大引擎:系統引擎(System Boost)、遊戲引擎(Game Boost)和應用引擎(App Boost),分別從系統、遊戲和應用三個層面對智慧手機進行加速。
具體而言,系統引擎從系統底層硬體資源進行加速。具體來說,安卓系統的主流排程方案為EAS排程器,該排程器僅從功耗及效能進行排程,無法預估及識別使用者實際操作,僅按照預先設定好的排程方案進行效能排程。而Hyper Boos則引入了OPPO自主研發的行為感知排程(BAS)方案,可以根據使用者的操作進行判斷,平衡效能、功耗和發熱。陳巖表示,一個數據對比是,過往安卓系統的Linux底層核心以20毫秒為單位對底層硬體調整頻率,而行為感知排程方案通過全新設計的Linux任務排程器,以0.2毫秒為單位對底層硬體進行動態調頻。他舉例稱,經過系統引擎優化後,對使用者最為常用的100個App的啟動時間有了大幅提升,其中應用啟動速度提升最高可達到31.91%。
遊戲引擎則是針對目前市面上頭部遊戲的核心使用場景進行鍼對性優化。在此之前,也有其它廠商通過在遊戲中提升CPU和GPU的頻率來讓遊戲畫面幀率較為流暢,但OPPO研發團隊發現這樣粗暴設定只會帶來發熱和功耗較高的弊端。因此,OPPO在研發遊戲引擎時,便決定要從使用者在遊戲中實際需求為出發點,針對不同的遊戲場景進行單獨優化,從而解決使用者的實際遊戲體驗。以王者榮耀為例,OPPO方面給出的資料是,在開啟高幀率、高畫質、描邊等多種複雜因素下,遊戲引擎可以讓王者榮耀的平均幀率穩定在60.04幀。而在團戰爆發更為密集、遊戲中特效更為複雜的深淵大亂鬥模式中,平均幀率可以保持在60.01幀。
不過,OPPO起初針對王者榮耀進行優化時也遇到了很多無法相容匹配的問題,例如閃退、宕機、花屏等,OPPO在內部測試發現問題後,與王者榮耀以及王者榮耀的遊戲引擎Unity進行了合作,共同解決了可能發生的bug。後來,OPPO又與Unreal和Cocos兩大移動遊戲引擎達成合作,目前OPPO的遊戲引擎已定製優化 騰訊 及 網易 旗下的11款熱門遊戲,而OPPO的目標則是對TOP 100遊戲進行底層優化。
應用引擎則是針對使用者最常使用的微信、手機QQ和手機淘寶三大超級應用,針對使用者的使用行為和使用場景進行優化。在此前與王者榮耀聯合優化的經驗基礎上,OPPO認為類似的優化機制也可以應用在應用層面,便開始了與微信的合作,聯合對微信中使用者常用的使用場景和使用行為進行了針對優化。在微信研發團隊的牽線之下,OPPO又與手機QQ的研發團隊展開了優化合作。
另一個案例是手機淘寶,OPPO方面稱,應用引擎對使用者在手機淘寶中最常使用的19個使用場景進行了優化,其中對5個場景的優化效果非常明顯。購物車頁面進入速度提升48.21%,店鋪頁面進入速度提升30.78%,搜尋頁面進入速度提升26.2%,搜尋頁面點選搜尋速度提升23.07%,訂單詳情頁面進入速度提升22.29%。
Hyper Boost技術的未來
據悉,Hyper Boost加速引擎將全面搭載於OPPO R17系列中;此外,Hyper Boost將通過ColorOS 5.2.1版本的更新,實現對已經發布的16款OPPO機型的覆蓋。
不過,在OPPO之外,實際上華為此前也推出了影象處理加速技術GPU Turbo,後來又釋出了CPU Turbo;vivo也推出了包含系統加速引擎和遊戲引擎的Dual Turbo。OPPO的解決方案與他們又有何不同?
陳巖強調OPPO注重的是對使用者體驗的提升,Hyper Boost也是應用在比較細節的使用場景。覆蓋的也不只是原生應用,還有第三方應用;同時Hyper Boost控制的硬體不止CPU和GPU,還包括行動網路、WiFi網路、記憶體等,同時根據相應的場景來進行優化;最後,Hyper Boost不僅強調效能,還要實現效能與功耗的平衡,用最小的功耗達到最優的效能表現。
對於使用者最關心的遊戲優化,陳巖表示Hyper Boost在遊戲上的優化是針對特定的場景的,強調的是合理的利用資源,而不是簡單地使用某些極限資源,因此也不導致遊戲出現類似過度優化而遇到的問題。
不過陳巖強調,Hyper Boost不會是一個完全終極的解決方案,OPPO還會繼續演進該技術。比如OPPO計劃在未來結合AI特性,進一步提升Hyper Boost的能力,希望能做到學習分析與自動適配,讓優化過程更智慧;隨著5G技術的應用,也會有更新的系統級的需求出來,比如VR、AR、高清視訊等。
他還透露,目前OPPO也正在與 谷歌 討論技術合作,實現Hyper Boost從底層介面開始優化,這也能推動海外遊戲與App應用的優化與體驗升級。同時,OPPO也在嘗試為Hyper Boost定義一套API標準,讓這一技術逐漸成為產業鏈中更多廠家接受的標準。