TChart的性能问题

时间:2012-08-15 21:14:24

标签: .net c#-4.0 teechart

我在我的应用程序中使用Steema TChart。我使用此组件绘制折线图,​​通常包含1,000到2,000个数据点,实时数据点可用。典型的生产线大约需要30秒才能完成。

在生成第2行或第3行之后,TChart组件到达处理器被挂钩的点。即使图表正在更新,其他UI更新也会受到每次添加新数据点时图表必须执行的重绘的严重影响。我已经进行了实验,发现如果我在绘制线条时没有显示图表(图表位于窗口的单独选项卡上;但是当前没有显示)我的性能要好得多,处理器的使用率也会提高显着下降。

有没有人找到使用此组件的方法并获得更好的性能?

1 个答案:

答案 0 :(得分:2)

在这种情况下,可能使用this thread中建议的AutoRepaint属性的异步绘制技术将有助于提高系统的性能。基本上,您需要将Autorepaint设置为false以防止在添加点后重新绘制图表并将其重新设置为true并在数据添加完成时调用刷新。

实时图表文章here也可能有助于提高您的TeeChart应用程序的性能。这是一篇Delphi文章,但其中大部分也可以应用于TeeChart的.NET版本。

最后但并非最不重要的是,TeeChart for .NET附带了Direct2D渲染引擎。这是DSP实时应用所需的高速数据吞吐量的理想选择。有关详细信息,请参阅白皮书Boosting graphics-rendering performance in Windows Forms