1. 程式人生 > >iOS App中一個檢視從新增到完全渲染,在這個過程中,iOS系統都做了什麼?

iOS App中一個檢視從新增到完全渲染,在這個過程中,iOS系統都做了什麼?

文字簡答:
  1. 首先一個檢視由CPU進行Frame佈局,準備檢視和圖層的層級關係,查詢是否有重寫drawRect:或drawLayer:inContext:方法,注意:如果有重寫的話,這裡的渲染是會佔用CPU進行處理的。
  2. CPU會將處理檢視和圖層的層級關係打包,通過IPC(內部處理通訊)通道提交給渲染服務,渲染服務由OpenGL ES和GPU組成。
  3. 渲染服務首先將圖層資料交給OpenGL ES進行紋理生成和著色。生成前後幀快取,再根據顯示硬體的重新整理頻率,一般以裝置的Vsync訊號和CADisplayLink為標準,進行前後幀快取的切換。
  4. 最後,將最終要顯示在畫面上的後幀快取交給GPU,進行採集圖片和形狀,執行變換,應用文理和混合。最終顯示在螢幕上。