【发布时间】:2011-04-24 07:12:23
【问题描述】:
有没有人能够从实时运行的内置 c# 图表中获得良好的性能?
我制作了一个包含 3 个图表区域和 9 个系列的图表,它们都是快速线型。我会实时更新系列的时间点,并在绘制 7 秒的数据后移动图表。所有这一切都很好,但是我的图表更新速度非常慢。有时,输入的数据可能需要将近一秒钟的时间才能显示在图表中(很多时候我想知道它是否用我的数据准确地更新了我的图表,因为它太慢而且数据变化太快了)。
我已尝试使用 mychart.Series.SuspendUpdates()、Series.ResumeUpdates() 和 Series.Invalidate(),正如我在不同的帖子中看到的那样,没有明显的结果。
如果有人能分享一些关于优化方法的见解,我会非常感激。(减少数据点的数量不是有效的优化)
提前致谢 开路电压
【问题讨论】:
-
就像任何性能问题一样,您知道哪种方法成本最高吗?您是否尝试过探查器?
-
这一切都是在一个线程中进行的,还是你有一个数据处理程序和一个绘图线程?
-
如果我收到客户对图表性能的任何投诉,我正计划编写一个分析器并测试瓶颈在哪里。我很确定我的大部分时间都花在了绘图调用期间,我已经让代码的数据部分在使用 3d 图形表示数据的程序中工作,并且我得到了 200fps+ 的帧速率,所以我知道数据正在获取计算并以合理的速度进入。
-
至于线程,这一切都发生在一个线程上,但是我正在考虑添加一个线程。我想知道这是否会首先增加很多性能。
标签: c# performance optimization charts