J jwei119 Unregistered / Unconfirmed GUEST, unregistred user! 2007-01-08 #1 每秒向Tee Chart 的曲线Series1添加点数1万个点,开始Tee Chart还可以,后来当添加到Series1.Count>一百万点时,Tee Chart添加速度变慢,最后用于显示时间的定时器都被阻死了!如何解决?请兄弟们给出个主意,还有能用数据库关联Series1吗?
每秒向Tee Chart 的曲线Series1添加点数1万个点,开始Tee Chart还可以,后来当添加到Series1.Count>一百万点时,Tee Chart添加速度变慢,最后用于显示时间的定时器都被阻死了!如何解决?请兄弟们给出个主意,还有能用数据库关联Series1吗?
J jwei119 Unregistered / Unconfirmed GUEST, unregistred user! 2007-01-08 #3 一直在线等,高手终于出现的确是做工控的,如何采用采用动态数据?请郭兄给出个主意!
郭 郭玉梁 Unregistered / Unconfirmed GUEST, unregistred user! 2007-01-08 #4 老大,这个需要你自己来写了,不要用teechart保存大量的数据呀 我门做两个tchart,一个显示及时数据,一个查询历史数据 或者自己做一个画图的程序,具体要看你那客户的需求,根据需求定制方案
C cqwty Unregistered / Unconfirmed GUEST, unregistred user! 2007-01-08 #5 这么多数据内存扛的住嘛?不是tchart死,是你的内存不够了,要是有10G以上的内存,没有问题。
A anyway Unregistered / Unconfirmed GUEST, unregistred user! 2007-01-08 #6 你就是有一千万个点,屏幕也显示不下 建议根据分辨率和图象大小,抽取关键点显示,随变随显。 google maps不也是这样的吗? 另外,建议使用多线程来显示
J jwei119 Unregistered / Unconfirmed GUEST, unregistred user! 2007-01-08 #7 郭兄办法不错,但点数多了以后,两个tchart恐怕也扛不住?
M moolleychean Unregistered / Unconfirmed GUEST, unregistred user! 2007-01-08 #8 郭兄的意思我想是一个显示最近的一段数据,另一个则根据用户的输入条件显示相应的数据,而不是把剩下的所有数据都放在另一个TChart里。其实最关键的是所有的数据都保存在数据库中,而显示的数据则根据需要来显示。
郭兄的意思我想是一个显示最近的一段数据,另一个则根据用户的输入条件显示相应的数据,而不是把剩下的所有数据都放在另一个TChart里。其实最关键的是所有的数据都保存在数据库中,而显示的数据则根据需要来显示。
C cqwty Unregistered / Unconfirmed GUEST, unregistred user! 2007-01-08 #9 我是觉得如果抽样的数据样本过多,那么可以采取一定的算法,从这些样本中再抽取有用的,反应实际情况的点来画,同样,也可以采用gis里面的思想,那就是有些点在小于或者等于某一种值的时候,就不要显示了。这样可以提高显示的速度。
我是觉得如果抽样的数据样本过多,那么可以采取一定的算法,从这些样本中再抽取有用的,反应实际情况的点来画,同样,也可以采用gis里面的思想,那就是有些点在小于或者等于某一种值的时候,就不要显示了。这样可以提高显示的速度。
J jwei119 Unregistered / Unconfirmed GUEST, unregistred user! 2007-01-08 #10 我发现兄弟们说的挺在行的,有点启示,希望看贴、回贴的高手继续。。。
郭 郭玉梁 Unregistered / Unconfirmed GUEST, unregistred user! 2007-01-08 #11 就是你读取那么多的数据库也是要死的(可能假死),看看insql保存数据原理,他数据的保存数据也是够牛的。工业数据库都处理好了这些问题,你的不是个问题
Q QSmile Unregistered / Unconfirmed GUEST, unregistred user! 2007-01-08 #12 以前做成声卡的数据采集. 我自己做的 Chart 也很麻烦 显示时根据显示比例来画,有点些不用画出来的. 不过从速度上而言, TChart 的确非常的快. 但它不能满足我的要求. 总之,这事还得自己做
Z zywcd Unregistered / Unconfirmed GUEST, unregistred user! 2007-01-08 #13 1千万个点,既是现实出来也没有意思。看你的应用了。如果只是显示当前数据,你可以分段显示,把前面的数据删除。每次只是显示一段。如果需要显示历史数据,你可以使用两个chart,一个显示当前数据段,不失真的显示所有数据,另外一个chart按照一定比例显示,比如1000:1,或者更大的比例显示历史数据,这样可以让用户看到历史数据的趋势,也可以看当前段的详细数据(放大等操作都可以不失真)。而且,你可以让用户通过在显示历史数据的chart上选择数据回放 。
1千万个点,既是现实出来也没有意思。看你的应用了。如果只是显示当前数据,你可以分段显示,把前面的数据删除。每次只是显示一段。如果需要显示历史数据,你可以使用两个chart,一个显示当前数据段,不失真的显示所有数据,另外一个chart按照一定比例显示,比如1000:1,或者更大的比例显示历史数据,这样可以让用户看到历史数据的趋势,也可以看当前段的详细数据(放大等操作都可以不失真)。而且,你可以让用户通过在显示历史数据的chart上选择数据回放 。
J jwei119 Unregistered / Unconfirmed GUEST, unregistred user! 2007-01-09 #14 Tee Chart 的曲线Series1一次能装载多少个点?客户需要将最近半小时(当然时间越长越好)的采集点缩小到一屏上,停止采集后,发现有正负异常采集点时,点击该区域就放大观察......,其实客户的所有功能要求都已完成,就是Tee Chart 的曲线Series1点数〉一百万以后,很容易阻死程序?我估计应该有个技巧?
Tee Chart 的曲线Series1一次能装载多少个点?客户需要将最近半小时(当然时间越长越好)的采集点缩小到一屏上,停止采集后,发现有正负异常采集点时,点击该区域就放大观察......,其实客户的所有功能要求都已完成,就是Tee Chart 的曲线Series1点数〉一百万以后,很容易阻死程序?我估计应该有个技巧?
W willyu Unregistered / Unconfirmed GUEST, unregistred user! 2007-01-09 #15 放大可以直接拖住鼠标从左上角往右下角拉就可以了,还原反方向就可以啊
J jwei119 Unregistered / Unconfirmed GUEST, unregistred user! 2007-01-09 #16 To willyu兄: 放大可以直接拖住鼠标从左上角往右下角拉就可以了,还原反方向就可以啊 这个我知道,主要是Tee Chart 的曲线Series1点数〉一百万以后,很容易阻死程序?Series1点数到底能加载多少个点(不影响缩放速度),我一次性能否加载1万个点,或其他技巧?
To willyu兄: 放大可以直接拖住鼠标从左上角往右下角拉就可以了,还原反方向就可以啊 这个我知道,主要是Tee Chart 的曲线Series1点数〉一百万以后,很容易阻死程序?Series1点数到底能加载多少个点(不影响缩放速度),我一次性能否加载1万个点,或其他技巧?
Z zywcd Unregistered / Unconfirmed GUEST, unregistred user! 2007-01-09 #17 一条chart曲线显示你说的1百万以上的数据,会很慢,不推荐这样的处理。你可以分段显示给用户。使用两个chart ,一个显示抽样的曲线,下面一个显示详细的数据,抽样的曲线,只是让用户选择要仔细分析的时间段 ,用户选择了相应时间段后再把详细数据显示给用户。
一条chart曲线显示你说的1百万以上的数据,会很慢,不推荐这样的处理。你可以分段显示给用户。使用两个chart ,一个显示抽样的曲线,下面一个显示详细的数据,抽样的曲线,只是让用户选择要仔细分析的时间段 ,用户选择了相应时间段后再把详细数据显示给用户。
J jwei119 Unregistered / Unconfirmed GUEST, unregistred user! 2007-01-12 #19 自己解决了,不过还是要感谢各位兄弟的帖子,特别是 郭玉梁 和 zywcd兄弟,我会结铁送分的