天天看點

除了瘋狂堆料,安卓手機加性能、降功耗還有哪些路可以走?

作者:萌哈科技
刷機的時代其實早已落幕,遲遲下不定決心隻是希望能讓魔趣多存續一些時間,但該來的終究會來。馬丁龍豬今天決定删庫跑路了,之後會做些别的。如若有緣,他日江湖再會!多的話就不說了,總結、回憶過去的種種,其實是最難受的,是以還是幹脆利落點吧!

這是2023年1月7日,魔趣 (Mokee) 創始人的發言,很多手機老玩家一定還記得曾經那個來回折騰的刷機時代,魔趣就是當年比較重要的一個ROM,早期基于曾經全球最知名的第三方安卓定制ROM——CyanogenMod(CM),一加手機曾經還與CM進行合作。

除了瘋狂堆料,安卓手機加性能、降功耗還有哪些路可以走?

好好的手機為什麼要刷機呢?十年前安卓手機使用起來普遍比較卡頓,即便手機已經堆料到極緻了還是一樣卡頓,如何解決呢?答案是刷機!同樣的硬體,同一款手機,刷了一個好的ROM就變的流暢好用了。

除了瘋狂堆料,安卓手機加性能、降功耗還有哪些路可以走?

​後來随着硬體性能的大幅提升,Android系統的不斷更新完善,各手機廠商定制AOSP(Android Open Source Project,安卓開放源代碼項目)的優化,安卓生态的逐漸規範,卡頓的現象越來越少了。但并不是不存在,前年我花四千多買了某個旗艦手機,配置堆料在當時也是領先的,結果用起來卻狀況不斷,甚至卡的懷疑人生。是因為堆料不夠嗎?當然不是,堆料是最簡單粗暴的提升使用體驗的方法,通常也是有效的,但是僅僅堆料肯定是不行的,尤其是當處理器在性能或者功耗方面表現不理想的情況下就很考驗手機廠商在系統軟體方面的基本功了。

現在的安卓廠商面臨的情況與十年前相比有很大的不同,硬體性能足夠強了,但是利用情況不太好,功耗控制與資源排程還有優化空間。與添加一個功能,修改各UI相比,這就涉及到了作業系統的核心,屬于技術的深水區。

什麼是作業系統?作業系統最基本的就是實作讓硬體可以正常的管理硬體,讓CPU可以運算數值,可以往硬碟寫入資料,讓網卡能夠傳輸資料等,這就是作業系統的核心,在Linux中,這個核心稱之為Kernel。核心是如此的重要,自然需要進行一些保護,同時也是為了讓程式員容易開發,是以作業系統除了核心程式之外通話還會提供一整套的接口,這就是系統調用的中間層。我們安裝的應用程式就是跟這些系統調用打交道,然後通過核心告訴硬體做什麼。是以一般來說作業系統分為兩部分,一部分為系統核心,一部分是負責系統調用的,注意,這裡隻是最簡單的劃分,如果詳細的劃分還會有驅動層等。

我們都知道Android并不是從0開始的而是以Linux Kernel為核心的一個作業系統,從某種程度來說Android也算Linux的某個發行版,Andorid 13的架構就如下圖所示,既有與硬體打交道的核心(雖然是Linux的),也有與上層打交道的系統調用架構以及運作時等。

除了瘋狂堆料,安卓手機加性能、降功耗還有哪些路可以走?

想要改變系統的調用,優化功耗,就要深入Linux Kernel了,在核心中DVFS(Dynamic Voltage and Frequency Scaling,動态電壓頻率調節)就是一種低功耗技術,目的是根據的晶片當時的實際功耗需要設定工作電壓和時鐘頻率,這樣可以保證提供的功率既滿足要求又不會性能過剩,進而可以降低功耗。在Linux Kernel中cpufreq framework就是具體負責該功能的子產品。

除了瘋狂堆料,安卓手機加性能、降功耗還有哪些路可以走?

​以高通骁龍8 Gen2移動平台為例,這顆晶片內建了CPU、GPU、DSP等很多的IP核,僅僅CPU部分又分有Cortex-A510、Cortex-A710、Cortex-A715、Cortex-X3等不同的微架構。是以在制定DVFS調整政策前,需要先掌握晶片上每個IP核的負載情況,在不同的情況下進行DVFS調節,這是目前的通常做法。

想要更高效的在SoC上進行排程調節,通常是對計算資源的配置設定進行優化,去年釋出的ColorOS超算平台就是這麼做的。但是讓我沒想到的是僅僅時隔半年,他們居然深入到了微架構層面,能夠将SoC 晶片中決定性能功耗的關鍵因子抽取模組化計算,進而精準得出性能排程的最佳能效組合,這就是OPPO釋出的行業首個微架構級算力模型 – 微架構超算引擎。

手機SoC上僅僅CPU就會有Cortex-A510、Cortex-A710、Cortex-A715、Cortex-X3等不同的微架構,它們都是CPU的核心,但是在執行同樣的指令時的功耗、運作速度等都是不同的,這就是優化的空間。如果範圍再擴大到SoC層面,手機執行一個任務在行可能涉及CPU、GPU、DDR記憶體等不同的IP核,如何更好的配置設定算力就成了決定功耗的關鍵。OPPO對微架構運作鍊路的“全解析”從一條指令所需要的時鐘周期數 CPI(Cycle Per Instruction)次元,建立了能夠覆寫各類使用者場景的計算模型。對微架構運作鍊路的“全解析”,将傳統性能功耗排程也就是上面提到的DVFS政策可以調教的參數提升了十幾倍。

比如在遊戲場景中CPU讀取指令進行控制并将渲染的指令發送給GPU,如果目前功耗發熱嚴重,可以先把 CPU 頻率壓降 15%,這樣整體功耗可能降低5%,現在多數廠商也都是這麼做的。而微架構超算引擎可以識别計算的瓶頸在哪兒,比如目前遊戲畫面的平靜在資料的讀取上,就選擇讓緩存和 DDR 總線提速 20%(功耗增 2.5%), GPU 渲染強度降低 10.5%(功耗降 2.5%),CPU 頻率降低 15%(功耗降 5%),這樣就使得整 體性能不減,而功耗依然降低 5%。

那換成聯發科的SoC也可以嗎?這就需要對按合适的算力轉換方式将不同的子產品和晶片平台融合生成算力的資料模型,這樣就可以跨平台和使用場景了。

硬體堆料對手機而言隻是提供運算的硬體基礎,堆料肯定是好事兒,其實不止是安卓手機廠商,蘋果也是一樣。之前還有人問蘋果為什麼不堆料,恰恰相反,蘋果才是堆料最厲害的,單單一個A系列處理器就已經夠卷硬體的了。現在也沒人再去刷機了,在系統層面隻能指望手機廠商的努力,就安卓領域而言,當大家都是骁龍8 Gen2處理器 + LPDDR5X 滿血版 + UFS 4.0的時候怎麼做到更好的性能和功耗平衡及優化?OPPO的ColorOS拿出了微架構超算引擎,這就是差異化,也給業内提供了新思路。不過還是要強調一下,這需要更新到ColorOS 13.1版本才能體驗,其實這也是ColorOS 13釋出時諸多功能和特性的後續落地。

繼續閱讀