為什麼 iOS 和 Android 在圖形效能方面的差別那麼大呢?

時間 2021-05-30 11:48:33

1樓:Diamond-np

VSYNC機制通過Vsync訊號來同步UI繪製和動畫,使得它們可以獲得乙個達到60fps的固定的幀率;

Refresh Rate:代表了螢幕在一秒內重新整理螢幕的次數,這取決於硬體的固定引數,例如60Hz。

Frame Rate:代表了GPU在一秒內繪製操作的幀數,例如30fps,60fps。

GPU會獲取圖形資料進行渲染,然後顯示器硬體負責把渲染後的內容呈現到螢幕上,他們兩者不停的進行協作。

不幸的是,重新整理頻率和幀率並不是總能夠保持相同的節奏。如果發生幀率與重新整理頻率不一致的情況,就會容易出現Tearing的現象(畫面上下兩部分顯示內容發生斷裂現象,來自不同的兩幀資料發生重疊)。

情況一:GPU Frame rate > LED Refresh rate(不常見)

2樓:耿念堃

說點個人經歷,高二的時候買了一部iPod Touch2,各種遊戲玩的昏天黑地,但是慫恿老爹買的HTC Magic(g2)已經最新的Hero (g3)實際上並沒有搭載GPU.....這就是差距

3樓:鄧明明

很大程度是因為ios限制了後台任務,降低了cpu占用。另一方面,使用gpu加速圖形渲染,並使用了多(3?)重緩衝區來實現運動模糊,按照GDC2003 OpenGL Shader Tricks(嗯,最近看到的),24fps with motion blur can look better than 60fps without。

不過現在Android4.1也進行了這樣的優化,也變得很順滑了。

4樓:方振宇

從說明可以看出,系統為每個UI控制項的Overdraw情況用顏色做了標識,無色透明最好(沒有被加上顏色做標識就沒有發生Overdraw)-藍色很好(1x Overdraw)-綠色不錯(2x Overdraw)-淡紅色較差(3x Overdraw)-深紅色最差(4x或更多 Overdraw)。

我們先看看幾個優化比較好的例子,

Google plus看圖就優化很好,實際執行效果用過的人都知道,很流暢。

Pinterest也優化的不錯,甚至比Google plus更好,也是相當流暢。

美團就優化的不那麼好了,縮圖區域存在較嚴重的過度繪製情況,實際使用時在快速拖動放手後慣性滑動的時候會比較卡。

「啪啪」就更加慘不忍睹了,幾乎全紅,除了九宮格背景露出的少許綠色和藍色,實際使用時即時稍微快點拖動都會比較卡,可惜了"啪啪"這麼好的設計。

上圖這個是我做優化時的測試Demo,這是原始未優化的狀況(也是未意識到Overdraw問題的開發人員的通常水平),雖然介面比較簡單,但是還是有優化的餘地

下圖是我做過優化之後的狀態,整體表現可以說是絲般順滑,60fps跑滿無壓力。

總結:避免Overdraw的核心思想就是:避免繪製看不見的內容。

如果有Android開發人員正被此問題困擾,請延伸閱讀此文章:

Android Performance Case Study

5樓:李楠

@程志達的回答是靠譜的。但是需要乙個補充。@劉遠航的有些想當然了。

iOS 的只針對三五款硬體。所以從驅動到系統到 SDK ,可以針對硬體優化的相當到位( Cocoa 提供的絕大多數動畫效果,很早就是硬體加速的了)。 Android 不可能做到這點(硬體變數太多)。

所以 Android 使用更快的硬體得到更差的效果,是 Google 設計的 Android 開源生態導致的必然結果。

6樓:劉尚奇

Linux kernel跟圖形模組從來都是分開的。IOS是怎樣實現的不清楚,,而Android是類似X Window在Kernel之上加了個圖形環境,所以要慢些(相同硬體配置)。

拋開這些不說。即使OS X跟Linux同樣是核心跟圖形介面剝離(OS X走Aqua, Linux走X Window),OS X的圖形介面仍然比Linux的各發行版各DE要強(不僅是Linux,也一直比Windows出色)。按理說X Window出身名門(來自MIT),歷史比Auqa久,有一批優秀的開發者,未必比Aqua差啊。

可蘋果從一開始就是一家極其重檢視形介面與設計的公司,賈伯斯把這些烙印到了蘋果的基因裡。想一想,Windows這種巨頭級公司,手頭有大把的鈔票來僱設計師,都拼不過蘋果,更別說黑客、工程師佔絕對主導地位的Linux社群和開發團隊了(google的設計品味也一般)。Linux下的各種DE,要麼走極簡風格(其實我覺得我侮辱了極簡風格這個詞),要麼設計水平停留在上世紀,這些DE基本是Hacker和Geek們搞出來自娛自樂的成分比較大。

能拿出手來的也就Gnome,KDE等少數幾個了。而Gnome和KDE(再次拉上Windows)也受蘋果的設計風格影響很大,比如Gnome 2時代基本在模仿OS 9,而Windows……

說得好亂總結一下:一是蘋果從骨子裡重檢視形介面和設計,其設計風格一直超越時代引領潮流引發跟風,很多Linuxer說得難聽點從骨子裡崇拜CLI鄙視GUI;二是Linux社群一直由黑客文化主導而不是設計師,你能指望像RMS和Linus那樣的胖大叔設計出圖形介面優美的軟體嗎;三是因為Linux社群有太多DE,力量分散,當然這也是Linux開放的文化。

為什麼沒有Linux商業公司在做好這一塊呢?Ubuntu等發行版不也在往這個方向努力麼。

7樓:pansz

因為題目被大幅度修改,導致原有答案完全不對題了,這裡我重新回答一下:

首先,你的這個提問沒有任何證據,所以這個問題是偽問題。

本著「誰主張誰舉證」的原則,要主張你的觀點,請先給出證據。我就不繼續回答了。

--原答案:

android也很成功,看你怎麼定義了,乙個已經退出中國,不在乎中國市場的公司,其產品在中國的銷量還遠大於積極面對中國市場的公司(蘋果),這如果還不是成功不知道什麼是成功。

傳統linux的不流行,只能說明純開源系統根本不是大眾需要的東西,永遠之可能小眾。

android雖然系統開源,但其上的應用軟體可全部是閉源的。

另外要說到android圖形處理,gc等各種任務都可能造成卡頓,這是因為圖形處理執行緒跟其他任務在一起,沒有單獨把圖形處理放在高優先順序執行緒。android 41開始象這個方向邁進了。

為什麼 iOS 和原生 Android 沒有檔案管理的概念?

陳瑤 我只是來吐槽的。對於我這種強迫症患者,不把同一型別的檔案放在同一資料夾下就不爽,而且總有些檔案是 開頭的隱藏檔案。同時國內安卓開發者總喜歡在SD卡上新增形形色色的資料夾卻不放到android data內。所以說,安卓,尤其是國內的安卓,不裝檔案管理器簡直就是耍流氓。 Matthew Chen ...

為什麼ios沒有android好用?

臉上的疤很長 我以前都是用華為的,本來想買mate20pro來替換我的mate9pro可是一直沒貨,還需要加價,就沒辦法入手了XR,入手差不多兩個月了,真心想換p20pro,說真的我覺得最大的問題是訊號,動不動訊號格是滿的,可就是連個網頁都打不開,我總不能買個手機當板磚使把,那種沒有訊號的尷尬真的現...

為什麼很多人認為Android和iOS是作業系統,而MTK就不是?是不是對「作業系統」有什麼誤解?

已登出 問題是 dos算不算作業系統嘛 不過說起來nucleus可以算是現代核心了,但是也就只能是個嵌入式核心了 而且operating system不僅包括kernel的,shell也是os的一部分。但是山寨機的shell太爛,以至於人們會有 這tm也能叫shell 的想法豈不是很正常。相反的,人...