iOS之从OpenGL深入探究离屏渲染及性能优化
生活随笔
收集整理的這篇文章主要介紹了
iOS之从OpenGL深入探究离屏渲染及性能优化
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
一、探究內容
- 到底什么是離屏渲染?是在GPU上面還是CPU上面執行的?
- 為什么要有離屏渲染?什么情況下會產生離屏渲染?
- 幀緩沖區是什么?當前屏幕緩沖區和屏幕外緩沖區又是什么?
- 切換緩沖區是什么操作?真的比較耗時嗎?
- 離屏渲染怎么做性能優化?
- iOS避免離屏渲染的圓角處理方式?
二、OpenGL屏幕渲染方式
- OpenGL中,GPU屏幕渲染有以下兩種方式:
-
- On-Screen Rendering:意為當前屏幕渲染,指的是GPU的渲染操作是在當前用于顯示的屏幕緩沖區中進行。
-
- Off-Screen Rendering:意為離屏渲染,指的是GPU在當前屏幕緩沖區以外新開辟一個緩沖區進行渲染操作。
- 一般情況下,OpenGL會將應用提交到Render Server的動畫直接渲染顯示(基本的Tile-Based渲染流程),但對于一些復雜的圖像動畫的渲染并不能直接渲染疊加顯示,而是需要根據Command Buffer分通道進行渲染之后再組合,這一組合過程中,就有些渲染通道是不會直接顯示的;Masking渲染需要更多渲染通道和合并的步驟;而這些沒有直接顯示在屏幕的上的通道就是離屏渲染。
- 離屏渲染卡頓原因:它需要更多的渲染通道,而且不同的渲染通道間切換需要耗費一定的時間,這個時間內GPU會閑置,
總結
以上是生活随笔為你收集整理的iOS之从OpenGL深入探究离屏渲染及性能优化的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: OpenGL之控制渲染图形的移动
- 下一篇: OpenGL之深入解析渲染架构和数据传递