如何使用HelixViewport提高渲染3D场景的性能

时间:2019-01-29 21:12:28

标签: c# helix-3d-toolkit

我在C#和WPF中处理3D项目,我使用Helix-Toolkit来显示不同的3D对象。我经常使用Sphere,而且场景中也有3D文字。 问题是性能,例如,我在每次mousemove上都计算场景中每个文本的位置,但是随着文本数量的增加,性能会降低。 我还具有一个Slider控件,可以在用户移动滑块时更改每个滑块值的球体半径,这也是性能问题。 我不知道该如何更改所有视觉对象的值而呈现场景,因为我认为现在的问题是3D场景对于每个更改的文本位置都会自动呈现其内容。

1 个答案:

答案 0 :(得分:0)

首先,Helixtoolkit.Wpf使用WPF内部3D引擎,所有广告牌/点/线均使用CPU绘制。如果您有很多广告牌,您将很快遇到性能下降的情况。如果可能,请尝试使用Helixtoolkit.Wpf.SharpDX。

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

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