ModelVisual3D vs Model3DGroup

bit*_*onk 5 wpf modelvisual3d

使用ModelVisual3D而不是Model3DGroup 是否有任何缺点.资源/性能可能会影响多少?

ModelVisual3D给了我比Model3DGroup更多的东西,但是AFAIK可以用Model3DGroup完成的一切都可以用ModelVisual3D来完成.

那么为什么不总是使用ModelVisual3D呢?

Jac*_*eja 5

答案是肯定的.拥有许多ModelVisual3ds将比使用Model3DGroup慢几个数量级

我的理解是ModelVisual3D更类似于a UIElement,即更重的重物.MSDN谈到ModelVisual3d:

"提供所有可视对象共有的服务和属性,包括命中测试,坐标转换和边界框计算."

因此,如果您想在场景中使用100个可点击的3D对象,则需要100个ModelVisual3d元素.

Model3DGroup(另外GeometryModel3D)另一方面是Model3D - 三维模型的构建块.单个Model3D可以作为几个内容出现ModelVisual3Ds.Model3Ds比...更轻巧ModelVisual3D.

如果你想从构建块(比如Lego)构建3d模型,你可以定义几个GeometryModel3Ds,然后使用a将它们组合在一起Model3dGroup.

是的,班级命名非常令人困惑,我认为Daniel Lehenbauer对普通人的话题没有任何启示.

  • 我也对此进行了“基准测试”。场景中有 1000 个 ModelVisual3ds 运行速度非常慢。如果你在一个 Model3DGroup 中使用 1000 个 GeometryModel3D 将会运行得非常顺利 (2认同)