回复 8楼mingcedar的帖子
- LineAreaOptions.SetOptimizationRadius(c1chart, 20);
- LineAreaOptions.SetOptimizationRadiusScope(c1chart, OptimizationRadiusScope.Lines);
- c1chart.EndUpdate();
复制代码
在你demo基础上,我添加了2行代码,性能问题有所好转。
但不治本(如果按照类似策略添加超过200万数据呢?):
根源问题是C1Chart添加了150万数据点,而Chart如实的把这些点缓存到其内了,造成了数据量大,UI延迟响应的“问题”。
有两个解决方案可供您参考:
1 如果采集的数据是实时的,可以每5分钟添加新数据,把旧数据清空 (如,让Chart保存的数据不超过5万个)
2 如果采集的数据不是实时的,可以设置页面数据呈现300个采样点--每个line, 当滚动条滚动下一页后,再添加新数据、删除旧数据。
这2个解决办法均需要写逻辑代码来处理,依据具体的场景,且需要结合需求进行测试调整参数。 |