DevExpress ChartControl大数据加载时有哪些性能优化方法

2024年11月05日 11:27
有2个网友回答
网友(1):

因为WaitForSingleObject函数会将主线程挂起(任何消息都得不到处理),而子线程ThreadFunc正在设置进度条,一直在等待主线程将刷新消息处理完毕返回才会检测通知事件。这样两个线程都在互相等待,死锁发生了,编程时应注意避免。

网友(2):

myDataBindingSource.Clear();
chartControl1.DataSource = null; // 撤除DataSource关联
List ls = new List();
double se = r.NextDouble();
for (int i = 1; i < 100000; i++)
{
ls.Add(new MyData() { Index = i, Val = se * Math.Sqrt(i) });
}
ls.ForEach(x => this.myDataBindingSource.Add(x)); // 内存中组织数据源数据
chartControl1.DataSource = this.myDataBindingSource; // 重新关联数据源
经过测试,极大量数据刷新仍能保持非常快的速度。