gpt4 book ai didi

c# - 使用 Helix Toolkit 提高 WPF 渲染性能

转载 作者:行者123 更新时间:2023-12-05 06:43:25 59 4
gpt4 key购买 nike

我正在渲染大量加载为 STL 的网格,然后将其添加到作为 HelixViewport3D 对象的视口(viewport)中。所有网格在环境中都是静态的。

// in MainWindow.xaml
<HelixToolkit:HelixViewport3D x:Name ="viewPort" ZoomExtentsWhenLoaded="True" Margin="250,-15,0,15">

// in MainWindow.cs Constructor
this.viewPort = new HelixViewport3D();
foreach(string path in meshPaths){
ModelVisual3D meshModel = loadMesh(path);
viewport.Children.Add(meshModel);
}

由于网格数高,渲染性能很低(旋转时会卡住,放大很难...)。如何让我的场景更容易旋转和操作?

最佳答案

关于 ModelVisual3D's remarks ,它在渲染、 HitTest 等方面带来了很大的开销。

因此,减少视觉效果的数量并将它们组合在一起可能对您有帮助:

this.viewPort = new HelixViewport3D();
var meshes = new Model3DGroup();
foreach (string path in meshPaths)
{
// just take the model of the loaded 3d object
meshes.Children.Add(loadMesh(path).Content);
}
viewport.Children.Add(new ModelVisual3D() { Content = meshes });

如果您不打算更改模型,您可以简单地freeze他们倾向于添加到 HelixViewport3D:

meshes.Freeze();

关于c# - 使用 Helix Toolkit 提高 WPF 渲染性能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33374434/

59 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com