0

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

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

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

4

1 回答 1

2

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

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

最后但同样重要的是,用于 .NET 的 TeeChart 附带一个 Direct2D 渲染引擎。这是 DSP 实时应用所需的高速数据吞吐量的理想选择。请参阅白皮书《提升 Windows 窗体中的图形渲染性能》,了解详细信息。

于 2012-08-16T07:05:12.247 回答