2D中最基本的是渲染一个图片,OpenGL接口中想到的有以下几种方式:
直接将图像数据写到颜色缓冲区中,不够灵活,而且移动设备端不支持。
opengles1.0标准支持,
1)将图像数据上传到OpenGL服务器显存,创建纹理对象;
2)将顶点数据上传到OpenGL服务器显存,然后走OpenGL固定流水线最终显示到屏幕。
这种传统做法缺点:每次绘制都需要将顶点上传到opengl显存,顶点上传需要CPU的参与,会导致GPU阻塞等待。。。纹理对象只需一次即可缓存在显存中。
该方法既然opengles1.1专门增加的,性能肯定优于draw_texture_quad,个人理解:直接把顶点写入高速显存,顶点上传不需要CPU参与。
需要opengles1.1支持,相比draw_texture_quad,VBO方式顶点只需要上传一次,在OpenGL显存中建立顶点缓冲区对象。
4 > 3 > 2 > 1
相关阅读: