ModelVisual3D против Model3DGroup

Есть ли недостаток использования ModelVisual3D по сравнению с Model3DGroup. Какое влияние может оказать ресурс / производительность?

ModelVisual3D дает мне гораздо больше, чем Model3DGroup, но AFAIK все, что можно сделать с Model3DGroup, можно сделать с помощью ModelVisual3D.

Так почему бы просто не всегда использовать ModelVisual3D?

1 ответ

Ответ - да. Наличие множества ModelVisual3ds будет на несколько порядков медленнее, чем использование Model3DGroup.

Я понимаю, что ModelVisual3D больше похоже на UIElement, т.е. более тяжелый вес объекта. MSDN говорит о ModelVisual3d:

"Предоставляет сервисы и свойства, которые являются общими для всех визуальных объектов, включая тестирование попаданий, преобразование координат и вычисления ограничительных рамок".

Так что, если вы хотите 100 кликабельных 3d объектов в вашей сцене, вам нужно 100 ModelVisual3d элементы.

Model3DGroup (вместе с GeometryModel3D с другой стороны, это Model3D - строительные блоки 3d моделей. Один Model3D может отображаться как контент для нескольких ModelVisual3Ds, Model3Ds более легкие, чем ModelVisual3D,

Если вы хотите построить 3d-модели из строительных блоков (например, Lego), вы можете определить несколько GeometryModel3Ds затем объедините их вместе, используя Model3dGroup,

Да, названия классов ужасно сбивают с толку, и я не думаю, что Даниэль Лехенбауэр проливает свет на эту тему для среднего человека.

Другие вопросы по тегам