opengles 2D渲染性能
来源:互联网 发布:爱思mac版下载 编辑:程序博客网 时间:2024/05/19 02:04
2D中最基本的是渲染一个图片,OpenGL接口中想到的有以下几种方式:
1. glDrawPixels
直接将图像数据写到颜色缓冲区中,不够灵活,而且移动设备端不支持。
2. draw_texture_quad
opengles1.0标准支持,
1)将图像数据上传到OpenGL服务器显存,创建纹理对象;
2)将顶点数据上传到OpenGL服务器显存,然后走OpenGL固定流水线最终显示到屏幕。
这种传统做法缺点:每次绘制都需要将顶点上传到opengl显存,顶点上传需要CPU的参与,会导致GPU阻塞等待。。。纹理对象只需一次即可缓存在显存中。
3. glDrawTexiOES
opengles1.1 标准支持,具体参见 android sdk :ApiDemos\src\com\example\android\apis\graphics\spritetext\LabelMarker.java中使用了该函数。
该方法既然opengles1.1专门增加的,性能肯定优于draw_texture_quad,个人理解:直接把顶点写入高速显存,顶点上传不需要CPU参与。
4. vertex buffer object 方式渲染
需要opengles1.1支持,相比draw_texture_quad,VBO方式顶点只需要上传一次,在OpenGL显存中建立顶点缓冲区对象。
性能是最佳的,尤其是顶点的模型视图变换较复杂。具体vbo参见:http://blog.csdn.net/dizuo/article/details/8364003
结论
4 > 3 > 2 > 1
- opengles 2D渲染性能
- Android opengles 2D 优化
- opengles渲染流程
- OpenGLES下进行渲染
- OpenGLES下进行渲染
- Android OpenglEs渲染yuv
- opengles的渲染管线
- opengles 2.0 渲染Yuv视频
- /LGC图形渲染/PXA300平台2D图形加速器性能测试与分析
- opengl 3d 2d 混合渲染
- OpenGLES入门一之渲染窗口
- 从GPU到3D渲染:游戏图形渲染技巧与性能优化
- 渲染性能
- 透视投影渲染2D纹理
- 第三章渲染2D精灵
- 使用Direct3D渲染2D图素
- HTML5 2D渲染引擎Pixi.js
- 职业生涯的开始-2D批量渲染
- PHP源码加密
- Mina客户端Client和Server对象传输demo
- XBMC皮肤开发入门篇
- 杭电Hdu 1877 又一版 A+B
- 函数指针强制类型转换
- opengles 2D渲染性能
- java中的双缓冲技术
- linux/list.h (
- 百度搜索结果页面的参数 输入编码(ie)
- C++构造函数之深拷贝与浅拷贝
- linux/err.h
- window.name实现的跨域数据传输
- ASP.NET 中将文件上传到另外一个服务器
- CATransform3D-Cube