【发布时间】:2010-02-25 10:13:43
【问题描述】:
与 Model3DGroup 相比,使用 ModelVisual3D 是否有任何缺点。资源/性能影响可能有多大?
ModelVisual3D 比 Model3DGroup 给了我更多,但 AFAIK 可以用 Model3DGroup 完成的所有事情也可以用 ModelVisual3D 完成。
那么为什么不总是使用 ModelVisual3D 呢?
【问题讨论】:
标签: wpf modelvisual3d
与 Model3DGroup 相比,使用 ModelVisual3D 是否有任何缺点。资源/性能影响可能有多大?
ModelVisual3D 比 Model3DGroup 给了我更多,但 AFAIK 可以用 Model3DGroup 完成的所有事情也可以用 ModelVisual3D 完成。
那么为什么不总是使用 ModelVisual3D 呢?
【问题讨论】:
标签: wpf modelvisual3d
答案是肯定的。拥有许多 ModelVisual3d 会比使用 Model3DGroup 慢几个数量级
我的理解是ModelVisual3D 更类似于UIElement,即更重的对象。 MSDN 说关于ModelVisual3d:
“提供所有视觉对象共有的服务和属性,包括命中测试、坐标变换和边界框计算。”
因此,如果您想在场景中添加 100 个可点击的 3d 对象,则需要 100 个 ModelVisual3d 元素。
另一方面,Model3DGroup(连同GeometryModel3D)是Model3D - 3d 模型的构建块。单个Model3D 可以作为多个ModelVisual3Ds 的内容出现。 Model3Ds 比 ModelVisual3D 更轻量级。
如果您想用积木(如乐高)构建 3d 模型,您可以定义多个 GeometryModel3Ds,然后使用 Model3dGroup 将它们组合在一起。
是的,类命名非常混乱,我认为 Daniel Lehenbauer 并没有为普通人提供任何关于这个主题的信息。
【讨论】: