我第一次向图表插入100点,并且需要大约25000毫秒来完成所有点的加载, 但是,下一次从101到200的点数需要71000毫升。我不知道为什么不同的时间在0到100和101到200之间。为了减缓下一个100点,请帮助我知道问题
我尝试了很多方法,但它们看起来都一样,这个问题对我来说太难了,这是我的项目。请帮忙 https://drive.google.com/#folders/0B8uAsRdEr19GUXA4OFhvN21WZDQ
var dt = new DispatcherTimer();
dt.Interval = TimeSpan.FromMilliseconds(10);
dt.Tick += dt_Tick;
dt.Start();
void dt_Tick(object sender, EventArgs e)
{
chart1.Series[0].Points.Add(new SeriesPoint(i, rd.Next(40, 50)));
chart2.Series[0].Points.Add(new SeriesPoint(i, rd.Next(40, 50)));
chart3.Series[0].Points.Add(new SeriesPoint(i, rd.Next(40, 50)));
chart1.Series[1].Points.Add(new SeriesPoint(i, rd.Next(60, 70)));
chart2.Series[1].Points.Add(new SeriesPoint(i, rd.Next(60, 70)));
chart3.Series[1].Points.Add(new SeriesPoint(i, rd.Next(60, 70)));
chart1.Series[2].Points.Add(new SeriesPoint(i, rd.Next(70, 80)));
chart2.Series[2].Points.Add(new SeriesPoint(i, rd.Next(70, 80)));
chart3.Series[2].Points.Add(new SeriesPoint(i, rd.Next(70, 80)));
i++;
}
答案 0 :(得分:0)
如果您只想运行一次代码而不是每隔10 ms运行代码,因为上面的代码看起来为什么不是jsut使用Dispatcher.Invoke
方法:
Dispatcher.Invoke(() =>
{
chart1.Series[0].Points.Add(new SeriesPoint(i, rd.Next(40, 50)));
chart2.Series[0].Points.Add(new SeriesPoint(i, rd.Next(40, 50)));
chart3.Series[0].Points.Add(new SeriesPoint(i, rd.Next(40, 50)));
chart1.Series[1].Points.Add(new SeriesPoint(i, rd.Next(60, 70)));
chart2.Series[1].Points.Add(new SeriesPoint(i, rd.Next(60, 70)));
chart3.Series[1].Points.Add(new SeriesPoint(i, rd.Next(60, 70)));
chart1.Series[2].Points.Add(new SeriesPoint(i, rd.Next(70, 80)));
chart2.Series[2].Points.Add(new SeriesPoint(i, rd.Next(70, 80)));
chart3.Series[2].Points.Add(new SeriesPoint(i, rd.Next(70, 80)));
i++;
});
如果没有,那么你需要更好地解释这个问题......