繁体   English   中英

使用 Helix Toolkit 提高 WPF 渲染性能

[英]Improve WPF rendering performance using Helix Toolkit

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

// 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的评论,它在渲染、命中测试等方面带来了很大的开销。

因此,可能会帮助您减少视觉效果并将它们粘在一起的方法:

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 });

如果您不打算更改模型,您可以在添加到HelixViewport3D简单地冻结它们:

meshes.Freeze();

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM