CPU
加載資源,對象創(chuàng)建依许,對象調(diào)整棺禾,對象銷毀,布局計算峭跳,Autolayout膘婶,文本計算缺前,文本渲染,圖片的解碼悬襟, 圖像的繪制(Core Graphics)都是在CPU
上面進行的衅码。
GPU
GPU
是一個專門為圖形高并發(fā)計算而量身定做的處理單元,比CPU
使用更少的電來完成工作并且GPU
的浮點計算能力要超出CPU
很多脊岳。
GPU
的渲染性能要比CPU
高效很多逝段,同時對系統(tǒng)的負載和消耗也更低一些,所以在開發(fā)中逸绎,我們應(yīng)該盡量讓CPU
負責主線程的UI
調(diào)動惹恃,把圖形顯示相關(guān)的工作交給GPU
來處理,當涉及到光柵化等一些工作時棺牧,CPU
也會參與進來巫糙,這點在后面再詳細描述。
相對于CPU
來說颊乘,GPU
能干的事情比較單一:接收提交的紋理(Texture)和頂點描述(三角形)参淹,應(yīng)用變換(transform)、混合(合成)并渲染乏悄,然后輸出到屏幕上浙值。通常你所能看到的內(nèi)容,主要也就是紋理(圖片)和形狀(三角模擬的矢量圖形)兩類檩小。
CPU 和 GPU 的協(xié)作
由上圖可知开呐,要在屏幕上顯示視圖,需要
CPU
和GPU
一起協(xié)作规求,CPU
計算好顯示的內(nèi)容提交到GPU
筐付,GPU
渲染完成后將結(jié)果放到幀緩存區(qū),隨后視頻控制器會按照 VSync
信號逐行讀取幀緩沖區(qū)的數(shù)據(jù)阻肿,經(jīng)過可能的數(shù)模轉(zhuǎn)換傳遞給顯示器顯示瓦戚。