我正在渲染大量的网格作为stl加载,然后添加到视口,这是一个HelixViewport3D对象。所有网格在环境中都是静态的。
using(dbContext context = new dbContext())
{
context.tbl_persons.RemoveRange(context.tbl_persons.Where(x => ListOfIdThatNeedToBeRemoved.Contains(x.id)));
context.SaveChanges();
}
由于网格数量很高,渲染性能非常低(在旋转过程中会冻结,难以放大......)。如何让场景更容易旋转和操作?
答案 0 :(得分:0)
关于ModelVisual3D
's remarks,它涉及渲染,命中测试等方面的大量开销。
因此,可能会帮助您减少视觉效果并将其粘在一起的东西:
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();