iOS App中一個視圖從添加到徹底渲染,在這個過程當中,iOS系統都作了什麼?

文字簡答:
  1. 首先一個視圖由CPU進行Frame佈局,準備視圖和圖層的層級關係,查詢是否有重寫drawRect:或drawLayer:inContext:方法,注意:若是有重寫的話,這裏的渲染是會佔用CPU進行處理的。
  2. CPU會將處理視圖和圖層的層級關係打包,經過IPC(內部處理通訊)通道提交給渲染服務,渲染服務由OpenGL ES和GPU組成。
  3. 渲染服務首先將圖層數據交給OpenGL ES進行紋理生成和着色。生成先後幀緩存,再根據顯示硬件的刷新頻率,通常以設備的Vsync信號和CADisplayLink爲標準,進行先後幀緩存的切換。
  4. 最後,將最終要顯示在畫面上的後幀緩存交給GPU,進行採集圖片和形狀,運行變換,應用文理和混合。最終顯示在屏幕上。
相關文章
相關標籤/搜索