[情報] 聊聊驍龍8和天璣9000發布後,安卓應用64位的問題
文章來自太平洋電腦網 (找無原文網址)
聊聊驍龍8和天璣9000發布後,安卓應用64位的問題
相信很多朋友已經購買到了最新一代CPU平台的安卓機了。這代安卓機的CPU發生了劇變,在保持了大中小核架構的同時,對大核和小核的微架構都進行了大改。小核心的微架構進化,應該是大家期盼已久的了,祖傳的Cortex-A55終於退休,按理來說全新的Cortex-A510應該會帶來更好的能效。但是有人發現,這代安卓機似乎更加耗電了,這是為何?今天就從新一代ARM處理器的架構聊起,簡單談談安卓應用64位普及遲滯導致的耗電問題吧。
https://i.imgur.com/8ioA0Ev.jpg
新ARM處理器甚至更耗電?
當前上市的最新一代安卓機所使用的高通驍龍8gen1處理器,以及即將上市的聯發科天璣9000處理器,都屬於最新設計的基於ARMv9架構的產品。它們都有一個共同的特點,就是文章開頭所說的大核和小核微架構進行了大改,大核心使用了Cortex-X2微架構,而小核心則使用了Cortex-A510微架構。
https://i.imgur.com/US2vTvQ.jpg
無論是Cortex-X2還是Cortex-A510,它們都有一個共同的特點,那就是不再支持32位,如果安卓機要運行32位的應用,那就必須在微架構只作了小幅調整的Cortex-A710中運行。如此一來,在某些場景中,就有可能導致額外的能耗。
在理想的情況下,安卓機在待機或者低負載時,應用程序主要運行在小核心上,小核心的能效比最出色,如此一來就能達到節電的效果;但如今,如果App是32位的,在新的ARM處理器中,就只能由中核運行,小核的能效優勢只能乾瞪眼,額外耗電的情況就出現了。
https://i.imgur.com/zsAwyPo.jpg
換言之,在使用了新一代CPU的安卓機中,如果運行32位的App,是無法達到理想的能效比的。這個問題,和芯片工藝無關,和系統無關,的的確確就是安卓生態和新處理器架構不匹配所導致的。
只有64位的安卓App,才能運行在新ARM處理器的小核心上,才能讓新ARM處理器發揮出應有的能效。因此,何時普及64位的安卓App,就成為了新一代ARM處理器何時能更節電問題的答案。
安卓App仍未普及64位?
當前的安卓生態中,32位的應用仍大量存在,這些應用不乏大家常見的裝機必備,例如嗶哩嗶哩、百度網盤、愛奇藝等等。這種情況是否正常?從技術的角度來看,似乎很不應該https://i.imgur.com/oiagE3Z.jpg
從ARMv8開始,安卓陣營的CPU就已經普遍支持64位,安卓系統也在Android 5.0後,從系統層面支持64位應用。這兩件事,其實都屬於比較遠古的了——基於ARMv8的驍龍810以及Android 5.0都出現於2014年,轉眼都快十年過去了,為何安卓App仍大量停留在32位?
我們可以對比一下蘋果陣營。2013年的iPhone 5S以及iOS 7開始推行64位,一年多後32位的iOS應用就已經難尋踪跡。和蘋果的步伐相比,安卓陣營可謂步履維艱。
https://i.imgur.com/u7x5ZKx.jpg
安卓推行64位為何如此艱難?這和安卓生態的實際情況是有很大關聯。儘管在ARMv8後,安卓陣營的CPU增加了64位的支持,但依然保留了32位的兼容。甚至,前一代產品ARM v8.2處理器,也依然耗費額外的晶體管,來兼容32位App 。同時,安卓系統也一直兼容32位App,App並沒有切換到64位的迫切需求。這一切的考量,很大程度是基於對舊設備的兼容。
在安卓初推行64位的時候,市場上依然有大量運行舊CPU以及舊版安卓系統的設備存在。安卓在市場攻城略地的秘訣,在於開放和兼容,如果對32位一刀切,那麼安卓陣營會無可避免迎來分裂。實際上,開放的系統都存在這樣的問題,例如Windows生態為了保持向後兼容,時至今日仍對32位應用軟件提供出色的兼容,這和安卓是殊途同歸的。
當然,和Windows不同,安卓並不需要承擔太多的生產力任務。在初次推行64位過去近十年後,安卓也的確到了全面拋棄32位包裹的時機。
安卓放棄對32位兼容可以帶來什麼好處?首先,CPU就可以省下用於兼容32位的晶體管,對於寸土寸金的芯片來說這顯得尤為有價值;其次,App可以擁有更好的內存利用率,對於日漸膨脹的應用遊戲來說這是至關重要的;再者,App還可以更有效利用CPU的寄存器,帶來更高的效率。
在安卓App日漸復雜、摩爾定律日漸失效的今天,摒棄歷史包裹、全面擁抱64位的時機的確已經到來。雖然目前安卓生態仍存在大量32位App,但我們也可以看到多方對普及64位的努力。
例如,Google要求,從2019年8月1日起,在Google Play發布的應用必須支持64位。也因為此,國外的安卓生態對於64位的普及要比國內做得更好,這次安卓CPU平台換代,國內的安卓機耗電問題也要比國外更明顯。
https://i.imgur.com/CVFTyYB.jpg
又例如,國內的安卓分發渠道也開始要求App支持64位。OPPO商店此前已經規定,2021年12月底後,新發布的應用必須支持64位;而小米商店則提供了一鍵將32位App置換為64位的功能,如果手機上已安裝的32位App在商店中有64位版本,可以一鍵更新。
同時,國內的很多App在近期也都更新到了64位,例如微信、QQ、12306等等。相信在不久後的將來,國內的安卓App很快會大面積普及64位,新一代的安卓機也會發揮出應有的能效。
總結
毫無疑問,和蘋果相比,安卓的64位普及進程是落後的,安卓陣營並沒有蘋果那樣絕對的應用發行渠道壟斷權,這也是安卓借開放之風騰飛所需要付出的代價。幸運的是,目前安卓陣營各方都已經意識到了普及64位的重要性,下一代安卓CPU會進一步拋棄對32位的支持嗎?讓我們拭目以待吧。
心得
在cpu跟app的雙重夾擊下,旗艦機的續航已大不如前,這或許是各個廠商不斷加快充電速度的無奈原因吧。
----
Sent from BePTT on my Xiaomi Redmi Note 7 Pro
--
https://i.imgur.com/bpGDGoM.jpg 目前用的這個覆蓋率
還ok
win跟X86發展到現在也沒放棄對32位的支援
這篇會有海巡嗎?
無原生庫是?
無原生庫好像是直接調用系統,所以就看手機是32還是64
所以用 google play 的沒問題啊?
如果是Playstore上的就都是64bit的,抓的APK通常分版本
會告訴你是arm v8(64bit)或者arm v7(32bit)
所以對岸會比較慘,沒有統一規範…
不過Google play服務有時又會莫名耗電
這樣看來問題不大,而且我們也運不太到這問題,倒是
對岸的評測會比較容易失真吧?
中國自己的問題 https://bit.ly/35JPwR2
這樣說,android tv都是32的耶
不會有海巡吧,都有情報分類了
所以這不是Android的問題吧
唯一影響就是牆國的評測不準
X86也是一直兼容..
X86的主力是跟續航力很遙遠的server和dt啊....
我要噓一下,其實大部分APP都64bit了好嗎...
要抓Arm V7 32bit APK都要另外費一般功夫.
然後評測用測出發燙,高熱,噴電的APP沒有跑32bit 的吧!
那是因為中國國情的關係 太多低階跟舊機在跑
有google play的早就全面64位元化了 哪還有32bit APP
低階機更多的不是中國
87
[討論] 極客灣實測S8+Gen1量產機:小米12S系列骁龙8+性能分析:高通翻身了?小米12S系列功耗如何?-哔哩哔哩 小米12S系列剛好對比12系列改動極少,非常適合對比台積電跟三星的製程差距有多大42
[情報] 曝蘋果下一代Mac Pro 信息:將採用最高64曝蘋果下一代Mac Pro 信息:將採用最高64 核ARM晶片,1.5TB 記憶體 根據推特爆料者@LeaksApplePro消息,蘋果下一代Mac Pro台式電腦正在研發,將於WWDC 2022正式發布。新電腦將支持16/32/64核CPU,最高可達1.5TB記憶體,最高16TB SSD。這名爆料者還表示,配置信息可能會發生變化,此外顯卡型號未知。 目前的Mac Pro 採用英特爾至強CPU,最高28 核。記憶體也支持最高1.5TB 的選擇,這需要12 條128GB DIMM 記憶體。顯卡方面,Mac Pro 最高可以配備兩塊AMD Radeon Pro Vega II Duo 專業計算顯卡,總計四個GPU核心,每個核心有著4096 個流處理器以及32GB HBM2 VRAM 根據這一份消息,蘋果目前的M1 ARM 芯晶片只是一個開始,性能更強、核心數更多的晶片將在未來搭載到新款MacBook pro 以及iMac 等設備上,將配備32 個核心。目前的8 核M1 晶片已經取得了令人驚嘆的性能,視頻編輯效率、跑分提升巨大,蘋果正逐步計劃在所有電腦上,使用自研ARM 晶片替代英特爾CPU。根據彭博社消息,蘋果自研GPU 核心也在進行中,正在測試16 核、32 核GPU,預計將在2022 年帶來128 核的GPU 晶片。24
[情報] RDNA首次殺入手機三星與AMD合作的GPU將用RDNA首次殺入手機三星與AMD合作的GPU將用於下一款旗艦機 除了發布Exynos 2100處理器,三星在這次的Exynos活動上還確認了一件大事,那就是他 們與AMD合作了多年的定制GPU很快就要露面了,將用於下一款旗艦機上。 現在的Exynos 2100處理器使用的是ARM的Mali-G78 GPU核心,總計14核,所以三星自己開