与任何优化问题一样,这个主题受到了很多关注,但我就是找不到我(认为)我想要的东西。
很多教程,甚至SO问题都有类似的提示;一般涵盖:
- 使用 GL 面剔除(OpenGL 函数,不是场景逻辑)
- 仅将 1 个矩阵发送到 GPU(projectionModelView 组合),因此将 MVP 计算从每个顶点减少到每个模型一次(应该如此)。
- 使用交错顶点
- 尽可能减少 GL 调用,在适当的地方进行批处理
可能还有一些/许多其他人。我(出于好奇)使用多个顶点缓冲区在我的应用程序中渲染 2800 万个三角形。我已经尝试了上述所有技术(据我所知),几乎没有收到任何性能变化。
虽然我在实现中收到大约 40FPS,这绝不是问题,但我仍然很好奇这些优化“提示”实际上在哪里使用?
我的 CPU 在渲染过程中闲置了大约 20-50%,因此我假设我受制于 GPU 以提高性能。
注意:我现在正在研究 gDEBugger
交叉张贴在游戏开发