C#MS图表对大量实时数据的处理速度较慢
我使用MS Chart control作为快速折线图来绘制模拟器生成的实时数据。每个图表最多有10个系列,最多可以有10个这样的单独图表。数据是以每50-60毫秒50-100个数据点的速率生成的,我必须在所有图表中绘制这些数据点。数据几乎在短时间内到达图表控件,但当涉及到C#MS图表对大量实时数据的处理速度较慢,c#,winforms,mschart,C#,Winforms,Mschart,我使用MS Chart control作为快速折线图来绘制模拟器生成的实时数据。每个图表最多有10个系列,最多可以有10个这样的单独图表。数据是以每50-60毫秒50-100个数据点的速率生成的,我必须在所有图表中绘制这些数据点。数据几乎在短时间内到达图表控件,但当涉及到chart.Series.Points.AddXY()时,问题就从这里开始 我读过SO和MSDN的讨论,每次添加新的点后,MS Chart都会失效。因此,我包含了以下代码: _chart.Series[index].Po
chart.Series.Points.AddXY()
时,问题就从这里开始
我读过SO和MSDN的讨论,每次添加新的点后,MS Chart都会失效。因此,我包含了以下代码:
_chart.Series[index].Points.AddXY(simTime, YValue);
// delete more than max. points.
if (_chart.Series[index].Points.Count > MaxTrendPoints)
_chart.Series[index].Points.RemoveAt(0);
// Repaint only after adding so many points
if (_chartUpdateCounter >= 50)
{
_chartUpdateCounter = 0;
_chart.Series.ResumeUpdates();
_chart.Series.Invalidate();
_chart.Series.SuspendUpdates();
}
阻止图表控件频繁重新绘制。这对我来说没有任何改善
如果您能为我的问题提供任何建议,我们将不胜感激 seriechartType.FastLine或FastPoint?请尝试将
抗锯齿设置为“无”。@andrei.ciprian,我正在使用seriechartType.FastLine。