C# 如何提高使用HelixViewport渲染三维场景的性能

C# 如何提高使用HelixViewport渲染三维场景的性能,c#,helix-3d-toolkit,C#,Helix 3d Toolkit,我在C#和WPF中处理3D项目,我使用Helix工具箱来显示不同的3D对象。我经常使用球体,场景中也有3D文本。 问题在于性能,例如,我在每个mousemove上计算每个文本在场景中的位置,但随着文本数量的增加,性能会下降。 我还有一个滑块控件,可以在用户移动滑块时更改每个滑块值的球体半径,这也是性能问题。 我不知道该怎么办当所有可视对象的值都改变时,是否有任何方法来渲染场景,因为我认为现在的问题是,对于每个改变的文本位置,3D场景都会自动渲染其内容。首先,Helixtoolkit。Wpf使用W

我在C#和WPF中处理3D项目,我使用Helix工具箱来显示不同的3D对象。我经常使用球体,场景中也有3D文本。 问题在于性能,例如,我在每个mousemove上计算每个文本在场景中的位置,但随着文本数量的增加,性能会下降。 我还有一个滑块控件,可以在用户移动滑块时更改每个滑块值的球体半径,这也是性能问题。
我不知道该怎么办当所有可视对象的值都改变时,是否有任何方法来渲染场景,因为我认为现在的问题是,对于每个改变的文本位置,3D场景都会自动渲染其内容。

首先,Helixtoolkit。Wpf使用Wpf内部3D引擎,所有广告牌/点/线都使用CPU绘制。如果你有很多广告牌,你会很快体验到性能的打击。如果可能,尝试使用Helixtoolkit.Wpf.SharpDX

鼠标移动在WPF中的频率为100Hz,您可以尝试每2次移动事件或3次移动事件仅计算位置,以降低更新速率


我不确定如何更新球体大小,通常只需更新变换以缩放球体,而不是每次创建新的球体网格。

谢谢。不幸的是,Helixtoolkit.Wpf.SharpDX没有良好的文档。如果你有文件来源,这将有助于我