iOS 筆記 離屏渲染

2021-07-27 01:43:13 字數 709 閱讀 9064

gpu渲染機制:

特殊的離屏渲染:

如果將不在gpu的當前螢幕緩衝區中進行的渲染都稱為離屏渲染,那麼就還有另一種特殊的「離屏渲染」方式: cpu渲染。

完成,渲染得到的bitmap最後再交由gpu用於顯示。

備註:coregraphic通常是執行緒安全的,所以可以進行非同步繪製,顯示的時候再放回主線程,乙個簡單的非同步繪製過程大致如下

離屏渲染機制卡頓的原因

渲染機制是gpu在當前螢幕緩衝區外新開闢乙個渲染緩衝區進行工作,也就是離屏渲染,這會給我們帶來額外的效能損耗,如果這樣的圓角操作達到一定數量,會觸發緩衝區的頻繁合併和上下文的的頻繁切換,效能的代價會巨集觀地表現在使用者體驗上——掉幀。

引發離屏渲染的操作

實際開發中對應的一些行為

1.shouldrasterize(光柵化)

2.masks(遮罩)

3.shadows(陰影)

4.edge antialiasing(抗鋸齒)

5.group opacity(不透明)

6.複雜形狀設定圓角等

7.漸變

監測離屏渲染工具 instruments

iOS之離屏渲染

on screen rendering 意為當前螢幕渲染,指的是gpu的渲染操作是在當前用於顯示的螢幕緩衝區中進行。off screen rendering 意為離屏渲染,指的是gpu在當前螢幕緩衝區以外新開闢乙個緩衝區進行渲染操作。特殊的離屏渲染 如果將不在gpu的當前螢幕緩衝區中進行的渲染都稱為...

iOS 離屏渲染研究

gpu渲染機制 gpu螢幕渲染有以下兩種方式 離屏渲染的觸發方式 設定了以下屬性時,都會觸發離屏繪製 其中shouldrasterize 光柵化 是比較特別的一種 光柵化概念 將圖轉化為乙個個柵格組成的圖象。光柵化特點 每個元素對應幀緩衝區中的一畫素。shouldrasterize yes在其他屬性...

iOS 初識離屏渲染

nslog show time 離屏渲染易造成滑動卡頓掉幀,要盡量避免離屏渲染 off screen rendering,發生在gpu上,指的是gpu在當前螢幕緩衝區以外新開闢乙個緩衝區進行渲染工作。1 要消耗資源新建乙個緩衝區 2 上下文切換代價大。離屏渲染過程需要多次切換上下文 先從當前螢幕 o...