c#图表控制性能与大量的数据
本文关键字:数据 性能 控制 控制性 | 更新日期: 2023-09-27 18:08:22
我正在使用一个具有范围条形图的图表控件,基本上为许多人和许多项目制作一个甘特图,例如大约1000个总系列。
我遇到的问题是,一旦我将所有数据添加到图表中,这需要一些时间,但这是意料之中的,我向下滚动我的图表,它冻结了整个应用程序,需要一段时间才能解冻并向下滚动。
有什么方法可以提高它的性能吗?我尝试将图形添加到面板并动态地增加图形大小,然后从面板向下滚动,但这会导致大量其他问题。
有什么加快速度的建议吗?我不认为这是我的代码,因为它已经完成运行时,这个问题发生了。
谢谢。
你需要减少正在绘制的点的数量,这是没有办法的。你可以尝试设置图表/窗口的DoubleBuffered
属性,这可能会有所帮助,但潜在的问题不会消失。如果适合您的使用,该图表内置了向下钻取的功能,或者您可以编写自己的方法来缩小点的数量。我也遇到过同样的问题(尽管是散点图),并且发现当绘制超过25k个点时,性能开始显著下降(我从600k开始,然后按比例缩小)。即使这样,性能仍然缓慢。
也许您可以在高级别上给它更少的分数,比如每10分1分,一旦用户放大,或者给出更小的范围,就给它更细粒度的分数来显示。这就是谷歌财经的做法。