以下哪个选项更适合按实例数据?
我没有使用多个VAO绘制一组实例。我的意思是跨越多个VAO的多个实例集。
实际上,没有一种方法在所有情况下都是最佳的。如果只有一种方法能够始终保持最佳性能,那么OpenGL之类的API就不会提供所有这些灵活的选项。
一些因素将影响最好的因素:
看一些典型的用例:
在所有这些情况下,如果您具有相同对象类型的多个实例,即具有相同几何形状的对象,那么您当然要在它们之间共享顶点数据。
现在,您可能会问有关这些通用准则的问题之一是:“许多”对象到底是什么?“很少”和“很多”之间的界限在哪里?
解决方案在很大程度上取决于硬件/平台的性能特征。至少给出一个大致的数量级,我希望最常见的平台能够处理几十万到几百万个VBO切换并每秒进行一次调用。如果您将其除以60 fps的目标,并希望避免在该领域花费大部分总性能预算,那么我将开始担心VBO绑定的数量,并在性能较低的平台上每帧调用约1000次,而如果您将高性能平台的性能提高至少一个数量级,那么高性能平台可能不会汗流sweat背。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句