1.减少DrawCall次数,最大化一次性传入数据给显卡
避免使用glVertex之类,转而使用glDrawArray,对数据集进行批次传送.在这里它的作用不仅仅只是优化数据传递带宽需求,它更可以减少函数调用在系统当中的消耗(在某些系统下,消耗相当可观)
2.减少OpenGL的状态变化
尽可能将状态相近的图形绘制命令放在一起,减少OpenGL状态变化。
使用状态集合,降低驱动程序的CPU处理时间,
3.图元类型优化
尽可能地使用GL_TRIANGLE_STRIP替代GL_TRIANGLES。
使用状态集合,降低驱动程序的CPU处理时间,
三角形Stripe的成熟软件:
http://www.cs.sunysb.edu/~stripe/
4.纹理优化
(1)使用纹理组合
将多个小纹理组合为一个大纹理,这样既减少了纹理加载次数,也可以提高渲染批次。
(2)尽量使用MipMap纹理
(3)使用压缩纹理
检查OpenGL extension支持的压缩纹理格式
原文地址:http://blog.51cto.com/31329846/2118286
时间: 2024-10-04 18:47:51