iOS效能優化04 卡頓優化02 GPU

2021-10-07 06:47:15 字數 658 閱讀 6834

由於gpu主要負責紋理的渲染所以我們優化的角度一般從圖形開始

離屏渲染

在opengl中,gpu有2種渲染模式

on-screen rendering:當前螢幕渲染,在當前用於顯示的螢幕緩衝區進行渲染操作

off-screen rendering:離屏渲染,在當前螢幕緩衝區以外新開闢乙個緩衝區進行渲染操作

離屏渲染消耗效能的原因

需要建立新的緩衝區

離屏渲染的整個過程,需要多次切換上下文環境,先是從當前螢幕(on-screen)切換到離屏(off-screen),等到離屏渲染結束後,將離屏緩衝區的渲染結果顯示到螢幕上,又需要將上下文環境從離屏切換到當前螢幕

哪些操作會觸發離屏渲染?

光柵化,layer.shouldrasterize = yes

遮罩,layer.mask

圓角,同時設定layer.masktobounds = yes、layer.cornerradius 大於0(考慮通過coregraphics繪製裁剪圓角,這個網上例子有很多我就不多說了,大家隨便搜一搜都可以搜到,或者叫美工直接提供圓角)

陰影, layer.shadow*** (但是如果設定了layer.shadowpath就不會產生離屏渲染了,不設定預設是環繞layer新增的)

iOS 卡頓優化

卡頓優化 卡頓主要是在主線程執行了比較耗時的操作。cpu central processing unit,處理器 負責,物件的建立和銷毀 物件屬性的調整 布局計算 文字的計算和排版 的格式轉換和解碼 影象的繪製 co re graphics gpu graphics processing unit,...

iOS APP卡頓優化

on screen rendering 當前螢幕渲染,在當前用於顯示的螢幕緩衝區進行渲染操作 off screen rendering 離屏渲染,在當前螢幕緩衝區以外開闢乙個新的緩衝區進行渲染操作 需要建立新的緩衝區 離屏渲染的整個過程,需要多次切換上下文環境,先試從當前螢幕 on screen 切...

iOS開發之優化tableView卡頓現象

1.復用單元格 2.使用不透明的試圖,單元格中盡量少使用動畫 3.使用非同步載入同時設定載入的併發數 4.滑動時不載入,滑動結束開始載入 5.文字可以直接drawinrect繪製 6.非必要條件下,減少重新整理的cell 7.如果cell是動態行高,可直接計算高度後快取 首先重用cell 其次可以用...