刷機的時代其實早已落幕,遲遲下不定決心只是希望能讓魔趣多存續一些時間,但該來的終究會來。馬丁龍豬今天決定刪庫跑路了,之后會做些別的。如若有緣,他日江湖再會!多的話就不說了,總結、回憶過去的種種,其實是最難受的,所以還是干脆利落點吧!
這是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發布時諸多功能和特性的后續落地。
特別聲明:以上內容(如有圖片或視頻亦包括在內)為自媒體平臺“網易號”用戶上傳并發布,本平臺僅提供信息存儲服務。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.