【发布时间】:2010-09-27 20:12:08
【问题描述】:
我将 OpenGL 与 JOGL 一起使用。我的项目有点慢。我是 OpenGL 的新手。优化它的最佳方法是什么?有什么好的分析工具? (我正在使用 Eclipse。)
我最近从对一大堆模型使用一个静态纹理对象转换为每个模型都有自己的纹理对象。这似乎减慢了速度。
其他优化思路:
- 避免在更新调用中使用 trig 来模拟月球轨道
- 在显示列表中使用更多
- 按纹理对模型进行排序以减少纹理切换
- 按旋转对模型进行排序以避免旋转矩阵
- 按 [特征 X] 对模型进行排序以避免 [操作 Y]
上面 X 和 Y 的一些常见问题值是什么?
似乎显示列表有助于提高性能。我可以在显示列表中做什么?有什么必须在绘制时完成的,还是可以全部预先计算?
作为 OpenGL 的新手,我对在这里做什么没有很好的直觉。
【问题讨论】:
-
请更具体一些。你用什么OpenGL?你的目标是什么硬件?你的应用是什么?你做过测量吗?你使用 glBegin/glEnd 吗?
-
我的应用程序是一个有汽车和月亮的小虚拟世界。我正在使用
glBegin/glEnd。我没有进行测量。我没有专门针对任何硬件。 -
尽早排序的一个关键是指标。如果你能找到一种测量每帧时间的方法(更好的每秒帧数),你就可以开始看到有多少改进正在发生变化。它还可能有助于为函数添加计时,这样您就可以查看哪些函数占用了您的时间
-
嗨@NickHeiner,你解决了吗?
-
这个领域有什么新进展吗?