地图渲染 优化方法

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支持的压缩纹理格式

猜你喜欢

转载自blog.51cto.com/31329846/2118286