3

我试图找出 OpenGL 中不同技术的优缺点。我正在阅读的教程表明渲染大量 VBO 会影响性能,我推断一种方法可能是将多个对象存储在单个 VBO 中。

关于如何/为什么组织和呈现数据有什么好的经验法则吗?对于现代电子游戏,例如“现代战争”,如果我正在看一个具有天空背景、几座静态建筑物、大量碎片和 10 个 NPC 的场景,你认为他们创造了多少 VBO,你认为他们打了多少次 glDrawArrays() 电话?

4

1 回答 1

3

绘图调用不是最昂贵的东西。我相信每帧有 100 到 1000 个绘制调用是很常见的。

性能的一个重要方面是减少状态变化。IIRC 程序更改 > 纹理更改 > 缓冲区更改。对您的绘图调用进行排序,以便尽可能少地切换内容。

使用一个大型 VBO 而不是几个较小的 VBO 可能对性能有益,但可能不是我尝试的第一件事。

于 2013-04-23T15:39:24.617 回答