[情報] 聊聊驍龍8和天璣9000發布後,安卓應用6

看板MobileComm作者 (所長是我別開槍)時間2年前 (2022/03/02 15:59), 2年前編輯推噓7(8117)
留言26則, 16人參與, 2年前最新討論串1/1
文章來自太平洋電腦網 (找無原文網址) 聊聊驍龍8和天璣9000發布後,安卓應用64位的問題 相信很多朋友已經購買到了最新一代CPU平台的安卓機了。這代安卓機的CPU發生了 劇變,在保持了大中小核架構的同時,對大核和小核的微架構都進行了大改。小核心的微架 構進化,應該是大家期盼已久的了,祖傳的Cortex-A55終於退休,按理來說全新的Cortex-A 510應該會帶來更好的能效。但是有人發現,這代安卓機似乎更加耗電了,這是為何?今天 就從新一代ARM處理器的架構聊起,簡單談談安卓應用64位普及遲滯導致的耗電問題吧。 https://i.imgur.com/8ioA0Ev.jpg
新一代ARMv9處理器,為何反而更耗電? 新ARM處理器甚至更耗電?   當前上市的最新一代安卓機所使用的高通驍龍8gen1處理器,以及即將上市的聯發科天 璣9000處理器,都屬於最新設計的基於ARMv9架構的產品。它們都有一個共同的特點,就是 文章開頭所說的大核和小核微架構進行了大改,大核心使用了Cortex-X2微架構,而小核心 則使用了Cortex-A510微架構。 https://i.imgur.com/US2vTvQ.jpg
新處理器的小核是經過重新設計的Cortex-A510,理論上可以帶來更高的能效 無論是Cortex-X2還是Cortex-A510,它們都有一個共同的特點,那就是不再支持32位,如果 安卓機要運行32位的應用,那就必須在微架構只作了小幅調整的Cortex-A710中運行。如此 一來,在某些場景中,就有可能導致額外的能耗。   在理想的情況下,安卓機在待機或者低負載時,應用程序主要運行在小核心上,小核心 的能效比最出色,如此一來就能達到節電的效果;但如今,如果App是32位的,在新的ARM處 理器中,就只能由中核運行,小核的能效優勢只能乾瞪眼,額外耗電的情況就出現了。 https://i.imgur.com/zsAwyPo.jpg
在運行32位安卓App時,處理器實際上只能工作在Performance工況下,無法進入節電的Effi ciency工況 換言之,在使用了新一代CPU的安卓機中,如果運行32位的App,是無法達到理想的 能效比的。這個問題,和芯片工藝無關,和系統無關,的的確確就是安卓生態和新處理器架 構不匹配所導致的。   只有64位的安卓App,才能運行在新ARM處理器的小核心上,才能讓新ARM處理器發揮出 應有的能效。因此,何時普及64位的安卓App,就成為了新一代ARM處理器何時能更節電問題 的答案。 安卓App仍未普及64位?   當前的安卓生態中,32位的應用仍大量存在,這些應用不乏大家常見的裝機必備,例如 嗶哩嗶哩、百度網盤、愛奇藝等等。這種情況是否正常?從技術的角度來看,似乎很不應該 https://i.imgur.com/oiagE3Z.jpg
在運行32位安卓App時,處理器實際上只能工作在Performance工況下,無法進入節電的Effi ciency工況 從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
和安卓陣營相比,蘋果iOS推行64位順利得多   安卓推行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
Google Play商店兩年多前已經禁止32bit應用上架,國內安卓生態較之滯後 又例如,國內的安卓分發渠道也開始要求App支持64位。OPPO商店此前已經規定,2 021年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 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 42.77.254.8 (臺灣) ※ 文章網址: https://www.ptt.cc/bbs/MobileComm/M.1646207983.A.152.html ※ 編輯: haveastar (42.77.254.8 臺灣), 03/02/2022 16:05:54

03/02 16:10, 2年前 , 1F
目前用的這個覆蓋率
03/02 16:10, 1F

03/02 16:10, 2年前 , 2F
還ok
03/02 16:10, 2F

03/02 16:18, 2年前 , 3F
win跟X86發展到現在也沒放棄對32位的支援
03/02 16:18, 3F

03/02 16:19, 2年前 , 4F
這篇會有海巡嗎?
03/02 16:19, 4F

03/02 16:24, 2年前 , 5F
無原生庫是?
03/02 16:24, 5F

03/02 16:30, 2年前 , 6F
無原生庫好像是直接調用系統,所以就看手機是32還是64
03/02 16:30, 6F

03/02 17:01, 2年前 , 7F
所以用 google play 的沒問題啊?
03/02 17:01, 7F

03/02 17:04, 2年前 , 8F
如果是Playstore上的就都是64bit的,抓的APK通常分版本
03/02 17:04, 8F

03/02 17:04, 2年前 , 9F
會告訴你是arm v8(64bit)或者arm v7(32bit)
03/02 17:04, 9F

03/02 17:04, 2年前 , 10F
所以對岸會比較慘,沒有統一規範…
03/02 17:04, 10F

03/02 17:05, 2年前 , 11F
不過Google play服務有時又會莫名耗電
03/02 17:05, 11F

03/02 17:40, 2年前 , 12F
這樣看來問題不大,而且我們也運不太到這問題,倒是
03/02 17:40, 12F

03/02 17:40, 2年前 , 13F
對岸的評測會比較容易失真吧?
03/02 17:40, 13F

03/02 17:41, 2年前 , 14F
中國自己的問題 https://bit.ly/35JPwR2
03/02 17:41, 14F

03/02 19:27, 2年前 , 15F
這樣說,android tv都是32的耶
03/02 19:27, 15F

03/02 19:29, 2年前 , 16F
不會有海巡吧,都有情報分類了
03/02 19:29, 16F

03/02 20:09, 2年前 , 17F
所以這不是Android的問題吧
03/02 20:09, 17F

03/02 20:09, 2年前 , 18F
唯一影響就是牆國的評測不準
03/02 20:09, 18F

03/02 20:40, 2年前 , 19F
X86也是一直兼容..
03/02 20:40, 19F

03/02 23:15, 2年前 , 20F
X86的主力是跟續航力很遙遠的server和dt啊....
03/02 23:15, 20F

03/03 01:30, 2年前 , 21F
我要噓一下,其實大部分APP都64bit了好嗎...
03/03 01:30, 21F

03/03 01:31, 2年前 , 22F
要抓Arm V7 32bit APK都要另外費一般功夫.
03/03 01:31, 22F

03/03 01:34, 2年前 , 23F
然後評測用測出發燙,高熱,噴電的APP沒有跑32bit 的吧!
03/03 01:34, 23F

03/03 13:33, 2年前 , 24F
那是因為中國國情的關係 太多低階跟舊機在跑
03/03 13:33, 24F

03/03 13:34, 2年前 , 25F
有google play的早就全面64位元化了 哪還有32bit APP
03/03 13:34, 25F

03/03 15:15, 2年前 , 26F
低階機更多的不是中國
03/03 15:15, 26F
文章代碼(AID): #1Y7oFl5I (MobileComm)