The answer is Yes. Having many ModelVisual3ds will be orders of magnitude slower than using a Model3DGroup
My understanding is that ModelVisual3D
is more akin to a UIElement
, i.e. more of a heavy weight object. MSDN says about ModelVisual3d:
"Provides services and properties that are common to all visual objects, including hit-testing, coordinate transformation, and bounding-box calculations."
So if you wanted to 100 clickable 3d objects in your scene you would need 100 ModelVisual3d
elements.
Model3DGroup
(along with GeometryModel3D
) on the other hand is a Model3D
- the building blocks of 3d models. A single Model3D
can appear as the content for several ModelVisual3Ds
. Model3Ds
are more lightweight than ModelVisual3D
.
If you wanted to construct 3d models from building blocks (like Lego), you could define several GeometryModel3Ds
, then combine them together using a Model3dGroup
.
Yes, the class naming is horribly confusing, and I don't think the Daniel Lehenbauer sheds any light on the subject for the average human.