ModelVisual3D против Model3DGroup - PullRequest
       35

ModelVisual3D против Model3DGroup

5 голосов
/ 25 февраля 2010

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

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

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

1 Ответ

5 голосов
/ 23 января 2011

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

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

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

Так что, если вы хотите, чтобы на вашей сцене было 100 интерактивных трехмерных объектов, вам понадобится 100 ModelVisual3d элементов.

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

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

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

...