如何优化我的JOGL应用程序?

时间:2010-09-27 20:12:08

标签: java opengl graphics jogl

我正在使用OpenGL和JOGL。我的项目变得有点慢。我是OpenGL的新手。有哪些优化方法?有什么好的工具可以分析? (我正在使用Eclipse。)

我最近从使用一个静态Texture对象转换为一大堆模型,每个模型都有自己的Texture对象。这似乎减慢了它。

要优化的其他想法:

  • 避免在更新调用中使用trig来模拟月球的轨道
  • 使用更多显示列表
  • 按纹理对模型进行排序以减少纹理切换
  • 通过旋转对模型进行排序以避免旋转矩阵
  • 按[特征X]对模型进行排序以避免[操作Y]

上面的X和Y有哪些常见的问题值?

似乎显示列表有助于提高性能。我可以在显示列表中做什么?有什么必须在抽奖时完成,还是都可以预先计算好?

作为OpenGL的新手,我对这里的做法没有很好的直觉。

1 个答案:

答案 0 :(得分:2)

至于优化代码的OpenGL部分,我建议使用OpenGL技术减少客户端< - >服务器数据传输(即CPU和GPU之间的数据xfer)。显示列表肯定有助于提高性能,因为它们可以极大地减少从客户端发送到服务器(系统到GPU)的数据。显示列表和顶点数组是提高立即模式性能的良好开端,但还有更多改进,例如缓冲区对象着色器

我建议你看看SongHo's OpenGL pages。他们使用完整的代码示例对上述几个主题进行了很好的解释和实现。

编辑:我忘了提到他的例子都是用C ++编写的,但OpenGL调用应该都是相同的,如果没有,则高度相似。