我正在开发一个诊断工具,每25毫秒接收一次数据。我需要使用lineSeries在我的图表中绘制此数据。我正在使用一个带有lineSeries的wpf图表,它是我在xaml中绑定到一个ObservebleCollection的。
问题是,在开始从前端删除数据点之前,我需要集合至少包含1600个数据点。
我知道25毫秒是一个很短的时间,然后它涉及到在wpf中绘图。有人有什么办法解决我的问题吗?
问候
发布于 2012-03-29 21:16:53
你应该看看SciChart,它可以以1ms的速度处理数据更新。它呈现得像一个游戏循环,所以只有当新数据被追加并且UI线程空闲时才会绘制。在www.scichart.com/wpf-chart-features上有更多的信息,它展示了特性并讨论了性能。
披露:这是我自己的组件,所以如果你有任何问题可以提出来!
发布于 2010-10-25 21:18:50
我建议你使用自定义的绘图例程,利用WritebleBitmap而不是形状,在一个固定的区域中绘制线条,一次绘制一段,而不需要任何滚动。当您到达绘图区右侧的1600点时,重新开始。也许一些视觉指示器(如垂直线或其他东西)会有助于感知。
我不认为有任何图表库的目标是每25ms更新1600条点线。
发布于 2011-07-18 01:55:14
我有一个.NET应用程序,它以33ms为间隔绘制许多测量值。我测试了许多图表解决方案来完成此任务,但我找到的唯一实际可行的选项是Arction LightningChart (http://www.arction.com)。Lightning Chart可以很容易地做你想做的事情,而且我认为你可以免费获得基本版本。缺点是对DirectX和SlimDX库的依赖。您可以从该站点下载的试用版将为您提供如何在WPF和Windows窗体中使用此控件的非常好的示例。
https://stackoverflow.com/questions/4012999
复制相似问题