當前位置:
首頁 > 最新 > 深入解讀「很嚇人」的GPU Turbo 到底是個什麼鬼?

深入解讀「很嚇人」的GPU Turbo 到底是個什麼鬼?

在前幾天榮耀Play的發布會上,余承東公布了「網紅」「很嚇人的技術」的真面目:GPU Turbo。當時,余承東只說了這是一項軟硬協同的圖形處理加速技術,通過在EMUI底層對傳統圖形處理框架進行重構,大幅提升了GPU的整體運算效率,從而提升手機的畫質和性能,同時還能讓手機能耗有所下降。

那麼,華為為什麼要做GPU Turbo?到底什麼叫「軟硬體協同」?華為的最終目標又是什麼?相信大家和我一樣,對GPU Turbo有著很多疑問。

為此,在今年的CES Asia期間,華為舉辦了一堂EMUI公開課。課上,華為消費者業務軟體工程部總裁王成錄博士為我們就GPU Turbo的一些核心想法進行了公開。

為什麼要做

GPU Turbo

華為坦承,研發GPU Turbo的初衷是因為注意到自己的GPU走的是少核高頻路線,雖然處理能力強,但是發熱高——尤其是玩遊戲的時候非常厲害。

為了縮減與友商的差距,同時避開ARM技術路線圖本身的限制,華為開始從軟體的角度,嘗試通過更高效的資源調度、更好的理解應用需求的方式,在最佳的時機用最經濟的資源,從而實現更好的系統體驗。

如何理解

軟硬體協同

GPU Turbo的實現,不僅需要熟悉GPU驅動和機器指令,同時還需要對晶元結構和應用層渲染層有深入的理解。這種對全棧的「摸透」,不僅需要集體的智慧,還需要天才的能力。

手機系統的架構,由內到外分為晶元、內核(包括驅動和硬體)、中間件( Tensor flow)、框架層和應用層等多個部分。

最底下是CPU、GPU、DSP、NPU等各種晶元,要想系統流暢,就需要恰當計算任務,把它分解分配到相應計算資源上。

其次是內核。儘管Android採用的Linux內核是開源的,但仍需要投入大量的精力去理解才能「為我所用」。所以,華為一直以來都堅持在linux內核層面進行優化和創新,並且在數量質量兩方面都達到了全球TOP的級別。

在硬體層面,華為通過換用谷歌原生文件系統來匹配SSD等其他多個系統,解決了系統的副本冗餘,從而更好的同內核和各驅動做適配,減少了系統的卡頓。

在華為對整個Android框架體系的優化過程中,擁有近5000萬行代碼的中間層,是華為重點「照顧」的對象,因為這裡是很多安卓手機問題的重要來源。

究其原因,是因為這一層並非谷歌自己做的,而是採納了大量的第三方開源中間件和驅動引擎,其中還包括很多有近十年歷史的老中間件。

為了簡化上層應用層的調用,華為自己花大力氣重新做了整個Graphic框架,並且解決了由於開源帶來的應用數據結構不同、資料庫形式不同、資料庫處理方式不同等兼容性問題。

後續,華為還會針對安卓應用對計算資源、內存資源和帶寬的合理匹配做重點清理和優化。

舉個栗子

有時候不同幀之間並不需要100%重繪,可能只需重繪30%就足夠。而在使用GPU Turbo之後,可能只需要3-7ms,就能重繪完一幀畫面,不需要再和以前一樣,等16.7ms去完全重繪整個畫面。一旦16.7ms沒畫完,下一幀就會顯示不出——這就是為什麼有時候會遇到畫面卡頓的原因之一。

也就是說,華為會通過仔細理解各種場景下的畫面元素,來決定該採用怎樣的重繪方式。

當然,GPU Turbo遠沒有這麼簡單。這一「嚇人」技術的背後,還蘊含著華為長期的技術積累。

比如在2014年的EMUI 4.x上,華為推出了TEE SS指紋,並且通過統一代理的Sensorhub Lite OS讓敏感信息保存在特定帶上,極大降低了功耗;

在EMUI 5.x上,華為加入了谷歌原創的虛擬機垃圾回收GC/AOT技術,同時還引入了資料庫IO並行機制、Ultra Memory等技術,從而提出了「天生快一生快」的口號;

針對這一口號,王成錄解釋道,安卓的卡頓是一個涉及很多方面的系統化問題。

1

首先,大部分應用由於沒有深刻理解——比如調動不恰當——導致沒有用好安卓的開放介面,導致大量的資源耗費;

2

其次,應用開放以後,應用之間沒有優先順序管理,這就造成了所謂的「全家桶」問題;

3

再次,隨著應用的增多、數據日益龐大,如果沒有好的演算法,就很容易造成存儲的碎片化;

4

最後,還涉及一些應用亂寫帶來假的龐大等等。

尤其是EMUI 5.1在簡化操作複雜度上做了大量工作,補上了安卓相比iOS的一大短板;

到了EMUI 8.0階段,華為的優化工作則進入了包括iAware、人工智慧、機器學習、資源分組調度等領域——這些加上前文提及的Graphic,共同組成了GPU Turbo。

其中,華為還同谷歌進行積極的溝通,比如谷歌安卓版本在文件系統、調動管理和圖形引擎等方面,很大是來自華為的貢獻。

並且,華為的這些優化不僅能讓新用戶享受到,還將覆蓋到大量的老用戶。以EMUI8.0版為例,這一版系統在半年內就覆蓋20款老機型、用戶量超3500萬,最終預計會覆蓋8000萬以上用戶。

而GPU Turbo的更新路線圖,在此前一天余承東在CES Asia的演講中也有提及。

建立

開放的應用生態

上面所有這些只是軟體優化本身,那麼如何保證實驗室測出來的東西,和消費者拿到手裡使用體驗儘可能接近呢?

大家知道,華為在過去十年投入了近4000億研發費用。其中一塊就是在北京、上海、西安、武漢深圳和香港都設有「4A」級自動化測試中心,以便「任何人」都可以「隨時」、「隨地」大規模驗證「任何設備」在各種情況下的性能表現。

不僅如此,華為還放眼全球尋找前瞻性技術。比如GPU技術就有部分來自西雅圖團隊。

而除了技術考慮以外,「開放」則是華為優化的另一個重要考量。因為終端軟體是開放的,開放意味著合作,合作則可以預判未來的技術發展方向。

事實上,從EMUI 5.0開始,華為就下決心要把EMUI做成一個平台,通過第三方體系做創新,最終為消費者提供最佳體驗。華為不會自己什麼都做,而是要把應用的創新交給第三方,自己專註於挑戰更大的核心技術。

前兩年,華為在北京成立了一個開放實驗室Openlab。開放之初,Openlab就集合國內幾家企業共同成立了安卓綠色聯盟。該聯盟通過建立統一的測試標準,使得在成立兩年之後,Top1000應用的耗電、性能、兼容性、安全等問題有了很大的改善。

未來,華為還會把這種開放延續到AI領域。通過向第三方app開放DDK,再結合自己的NPU,第三方應用——比如Prisma和WPS——的運行效率就能有明顯提升。

最後,王成錄博士總結道,任何技術本身,都跟不上應用的發展速度。因為一旦CPU或者GPU性能提升之後,大家使用時的精細化考量就少了。

所以說到底,華為的GPU Turbo是在對GPU所有技術架構和驅動架構有了充分、透徹的理解的基礎上,儘可能地讓應用本身的負載變得合理——不是簡單的超頻鎖頻,也沒有損失畫質(事實上反而還提升了畫質)。

只不過,華為在操作系統內核上有著比蘋果都走的更遠、理解更透徹的技術自信,所以華為表示GPU Turbo的高門檻,至少可以領先對手5年。

One More Thing...

針對華為的「快應用」和微信「小程序」是否衝突的問題,華為表示

快應用是為了給用戶一個機會去嘗試、去了解某個應用到底是什麼,可以讓用戶在不下載的情況下先嘗試,類似Google Play的「Try Me」功能。通過這個功能,華為想改善第三方應用的用戶體驗和到達用戶的比例。而實際上,「快應用」確實對用戶的使用頻率和下載率有所提升。

此外,華為認為「快應用」在未來可以通過更好的理解不同場景下的用戶需求,把更多合適的服務推送給用戶。

喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 MyWishList買微力 的精彩文章:

索尼XZ2:索尼的堅守與變革

TAG:MyWishList買微力 |