为什么当我加载4900个节点到现场时性能下降?如果有一个125是好的,200仍然可以,但如果有更多的渲染框架是下降戏剧化?根节点包含包含(模型(在3DS中)+纹理+一些科学计算)的childs,所有这些都是在cylce中创建的,从0到4899。我试着使用osgUtil::优化根,毕竟,孩子在哪里,但仍然没有改进。试图将所有节点放在一个地理位置,但也没有帮助。如何在性能和节点数量之间实现平衡?
发布于 2015-04-04 19:20:04
4900个节点似乎太多了!
您应该开始阅读关于LOD和PagedLOD的文章。PageLOD将提高性能。这个想法是这样的(想象一下第一个图像要远得多):


因为你很远,所以你不需要太多的细节。但是当你放大的时候,你想看那些细节。您必须指定每个LOD级别上的模型以及您希望如何激活它们。这才是棘手的地方。
此外,检查是否可以共享节点。例如,你只需要创建一个轮子,而不是有4个不同的轮子。然后,添加4个PositionAttitudeTransform/MatrixTransform,并将轮毂节点添加到每个节点中。StateAttributes也是如此,在可能的情况下共享它们!
最后,如果你有很多重复的几何,看看几何实例。
https://stackoverflow.com/questions/29439809
复制相似问题