tian__xiaa 发表于 2015-9-28 17:32:00

c1 chart Live的问题


运行chart Live的时候,我修改了dt = new DispatcherTimer()       { Interval = TimeSpan.FromSeconds(0.1) };   ,设定为0.1,然后把int nAddPoints = 10;理论上每秒应该添加100个数据,但是实际上添加的数据远小于每秒100,而且会卡顿。把Interval时间缩短,比如0.01,卡顿更明显。

chart Live性能每秒支持的最大刷新点数是多少?我的需求是实时显示100Hz的数据,如何实现?

Alice 发表于 2015-9-29 09:42:00

回复 1楼tian__xiaa的帖子

谢谢反馈。
按照你的提示,我将aAddPoints属性设置为10,将FromSeconds方法传入0.01,并未重现你的问题。在我的电脑展示依然顺畅。
使用版本:2015V2。
VS2013&Win8.1

tian__xiaa 发表于 2015-9-29 10:15:00

回复 2楼Alice的帖子

我用的是同样的VS和系统版本,再把automax取消,max设定为1000或2000,计数正常么?理论上是每秒100点,但是会缺失

Alice 发表于 2015-9-29 11:32:00

回复 3楼tian__xiaa的帖子

谢谢反馈。
我不太理解如何设置max=1000,因为示例的max本来就是1000,能够将你的代码发给我看看。

tian__xiaa 发表于 2015-9-29 13:12:00

回复 4楼Alice的帖子

我修改过几次。。已经忘记初始版本了。我现在用的版本是
chart.View.AxisY.Min = -1000;
         chart.View.AxisY.Max = 1000;
       // chart.View.AxisX.
         chart.View.AxisX.AutoMax = true;
chart.View.AxisX.Max = 1000;
      //chart.View.AxisX.AutoMax = true;
       dt = new DispatcherTimer()
      { Interval = TimeSpan.FromSeconds(0.1) };
      dt.Tick += (s, e) => Update();   
      dt.Start();

这里还有另外一个问题,就是如果我在设置了AutoMax之后,定义Max,那么AutoMax就失效了。是不是如果想要设定X周的初始范围,就不能使用AutoMax功能?

我录了一段视频,可以看到情况。见附件。有卡顿,而且主要问题是,显示的数据流不够。

gw0506 发表于 2015-9-29 14:34:00

AutoMax之后,Max肯定失效了,这是策略。就好像AutoSize设置后,Size就失效了一样。

关于性能问题,考虑两个方面因素:
1. 机器硬件性能。我用的i7 16G内存。
2. 你使用的demo是ControlExplorer,有可能其他地方会导致整体刷新慢。可以更换为 C:\Users\warrenguo.GRAPECITY\Documents\ComponentOne Samples\WPF\C1.WPF.Chart\CS\ChartSamples   然后再尝试一下性能。

你提到1秒钟理论值点数是多少,这个没有数据。根据不同的情况,算法和硬件,按照肉眼可识别为标准会有起伏。如果在你必须的硬件条件下仍然卡顿,建议对数据进行抽样。
页: [1]
查看完整版本: c1 chart Live的问题