【问题标题】:How to reuse WPF 3D models?如何重用 WPF 3D 模型?
【发布时间】:2014-04-08 14:47:45
【问题描述】:

我正在尝试在 VS2013+C#+WPF 中构建一个用于 3D 交通模拟的应用程序。我的问题是性能。只需 1500 辆非常简单的丑车,该应用程序就无法使用。

我猜原因是我为每辆车生成了一个新的 3D 模型:

Auto newAuto = new Auto();
newAuto.model = new ModelBase("car1");

其中 ModelBase 是函数:

public ModelBase(string resourceKey)
        {
            this.Visual3DModel = Application.Current.Resources[resourceKey] as Model3DGroup; 
            this.Visual3DModel.Freeze(); //does not affect on performance for some reason 
        }

car1.xaml 是使用 zam3d 软件从 3DS 转换而来的汽车模型。转换后,我努力减少其中三角形的数量。这就是汽车丑陋的原因:)

问题是:如何将 3D 模型一次加载到显存中,然后重复使用?还是我做错了什么?

请帮忙!我花了这么多时间!!!

【问题讨论】:

  • 所有汽车都同时可见吗?
  • 唯一的限制是相机距离。否则,是的,我一直在画它们。
  • 也许一种方法是在更多汽车可见时使用简化模型,而在您看起来关闭时使用详细模型。
  • 这是个好主意,但我从未尝试过替换场景中的模型。我想我必须尝试一下。而且我真的相信我的场景对于这样的表演来说并没有那么复杂。

标签: c# wpf 3d


【解决方案1】:

WPF不适合复杂场景,需要切换到OpenGL或者DirectX

【讨论】:

  • 我需要这个评论才能敢切换到 opengl。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2012-12-27
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-02-23
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多