本身大多内容都来自 《OpenGL ES应用开发实践指南 iOS卷》。
使用OpenGL ES大多时候是要用到缓存
.
OpenGL ES 为两个内存区域间的数据交换定义了缓存(buffers)的概念,
缓存是指图形处理能够控制和管理的连续RAM。程序从CPU的内存复制数据到
OpenGL ES的缓存,在GPU取得一个缓存所以权以后,
运行在CPU中的程序理想情况下将不再接触这个缓存。
通过控制独占的缓存,GPU就能够尽可能以最有效的方式读写内存。
图形处理器把它处理大量数据的能力异步同时应用到缓存上,
这意味着在GPU使用缓存中的数据工作的同时,运行在CPU中的程序可以继续执行。
OpenGL ES为缓存提供数据有七个步骤
-
生成
:为图形处理器控制的缓存生成一个独一无二的标识符 -
绑定
:告诉OpenGL ES为接下来的运算使用一个缓存 -
缓存数据
:让OpenGL ES为当前绑定的缓存分配并初始化足够的连续内存(通常是从CPU控制的内存复制数据到分配的内存)。 -
启用
:启用(Enable)或者禁止(Disable)——告诉OpenGL ES在接下来的渲染中是否使用缓存中的数据 -
设置指针
:告诉OpenGL ES在缓存中的数据的类型和所有需要访问的数据的内存偏移值。 -
绘图
:告诉OpenGL ES使用当前绑定并且启用的缓存中的数据渲染整个场景或者某个场景的一部分 -
删除
:释放资源
详细使用步骤可以查看demo:openglES
网友评论