Skip to content

Google工程師:為啥Android流暢度比iOS差

  Andorid更新瞭一個版本又一個版本,硬件從單核到雙核到四核,系統流暢度總算基本能和iOS持平瞭。不過人們不禁會問,為什麼都是基於Linux,兩個系統會差別如此大?為什麼iPhone 4用單核處理器就能實現的流暢度,Android要高端雙核才能保證?近日,Android開發小組工程師Dianne Hackborn算是半官方回答瞭其中的一個緣由。

  Dianne Hackborn表示,從界面UI本身的渲染而言,首先,Android從第一個版本就有使用圖形硬件加速,例如通知欄拖拉,對話框的顯示和切換等等。隻不過在3.0之前的版本都不是采用完整的圖形硬件加速。由於Android不是一個統一平臺,各終端存在硬件差異,系統會自動調節動畫的幀數。一個典型的例子就是,Nexus S可以實現到60fps的渲染,所以會足夠流暢。但使用同樣分辨率的裡程碑,由於硬件(GPU)性能問題,它就無法提供足夠的幀數來保證流暢瞭。這樣,它的界面渲染幀數要低於60幀,我們使用起來就會偶爾感覺到“卡”。

  而且,即使為UI開啟硬件加速,OpenGL技術帶來的內存開銷會十分大,比如PowerVR的圖形芯片,此時要消耗掉8MB內存,而UI程序本身都隻要2MB內存,這太劃不來瞭。所以,為瞭保證不同機型順利運作,很多時候Android會采用CPU繪圖運算代替硬件加速——註意,CPU還要幹別的事情,讓CPU來繪圖隻會拖慢速度。

  在Android 4.0之前的版本,硬件加速是作為一個可選擇的參數而存在(考慮到部分APP不支持)。但從4.0開始,這個選項將會被默認啟用,開發小組已針對進行優化,即使不支持硬件加速程序運行也不會出現問題。

  Dianne Hackborn最後表示,硬件加速不是提升流暢度的唯一手段。事實上Android開發小組已經使用很多技術例如改進渲染技術來提升流暢度,典型的例子就是Android 3.0的瀏覽器相比2.2有巨大進步。而隨著4.0鋪開,更多用戶可以感受到這點。

  Dianne Hackborn沒有評價iOS是如何達到流暢的。不過大傢註意,從iPhone 3GS開始,每一代iPhone的圖形芯片(GPU)都相當強大(iPhone 3GS、iPhone 4、iPhone 4S的圖形處理芯片均為同代手機最高水平),而且蘋果iOS是封閉系統,我們猜測,蘋果在這一方面並沒有碰到Android那麼多煩心事兒。

  蘋果A5處理器集成的PowerVR SGX543MP2圖形處理器性能相當強大,幾乎秒殺瞭Android陣營各類對手