#1.减少模型面数,以达到减少OpenGL渲染渲染时实际顶点数据量
#2.合并减少组件数,以达到减少OpenGL渲染接口调用频次
#3.正背面剔除
glEnable(GL_CULL_FACE);//开启正背面剔除
glDisable(GL_CULL_FACE);//关闭正背面剔除
熟记,glEnable和glDisable是所有状态的开启和关闭,只要记住正背面的状态改变使用的是GL_CULL_FACE即可。设置正背面剔除的正背面选择
/*
mode表示用户选择剔除的那个面,包括GL_FRONT,GL_BACK,GL_FRONT_AND_BACK,默认是GL_FRONT
*/
void glCullFace(GLenum mode);
了解即可,一般不会改动,默认的是背面,我们一般用默认的就可以,没必要改动
#4.尝试使用较小的数据类型获取顶点信息。
我发现我可以在顶点和法线中使用GLshort而不是GLfloat,而不会降低渲染的精度。这将显着压缩您的几何图形,并导致不错的渲染速度提升。
#5.优化思路就是在OpenGL的shader中尽量少使用if/for等分支语句,因为这会破坏GPU的wavefront结构,从而造成性能损失。使用step替换判断语句
优化参考
1
2
3 OpenGL顶点数据传输速度优化-CSDN博客