在 Model3DGroup 上使用 ModelVisual3D有什么缺点吗?资源/性能影响可能有多大?
ModelVisual3D 给了我比 Model3DGroup 更多的东西,但 AFAIK 可以用 Model3DGroup 完成的所有事情也可以用 ModelVisual3D 完成。
那么为什么不总是使用 ModelVisual3D 呢?
在 Model3DGroup 上使用 ModelVisual3D有什么缺点吗?资源/性能影响可能有多大?
ModelVisual3D 给了我比 Model3DGroup 更多的东西,但 AFAIK 可以用 Model3DGroup 完成的所有事情也可以用 ModelVisual3D 完成。
那么为什么不总是使用 ModelVisual3D 呢?
答案是肯定的。拥有许多 ModelVisual3d 将比使用 Model3DGroup 慢几个数量级
我的理解是它ModelVisual3D
更类似于 a UIElement
,即更重的物体。MSDN 谈到ModelVisual3d:
“提供所有视觉对象共有的服务和属性,包括命中测试、坐标转换和边界框计算。”
因此,如果您想在场景中添加 100 个可点击的 3d 对象,则需要 100 个ModelVisual3d
元素。
Model3DGroup
GeometryModel3D
另一方面(与 一起)是 a Model3D
- 3d 模型的构建块。单个Model3D
可以作为多个内容出现ModelVisual3Ds
。Model3Ds
比 更轻巧ModelVisual3D
。
如果您想从积木(如乐高)构建 3d 模型,您可以定义几个GeometryModel3Ds
,然后使用Model3dGroup
.
是的,类命名非常混乱,我不认为 Daniel Lehenbauer 对普通人的主题有任何启发。