chemical_life 发表于 2011-8-22 21:13:59

Labview/C语言 急!!求救。 同时采集16个传感器的信号,并绘制成16条曲线(动态读取数据刷

我现在想在graph控件上绘制16条曲线,用plotline函数,每秒钟绘制一段。程序运行时间一长就会很卡,大概只能坚持3分钟左右。
原因是产生的绘图句柄量太大了,但是曲线又必须保留,想请教大虾们有么有什么好的解决办法,保证程序能至少运行30分钟不卡。。。有了解的提个建议帮小弟开拓一下思路也行,谢谢了~
ps:把数据点以文件的形式存在硬盘上,定时将绘图句柄擦去重绘,这个方法我也试过了,还是会卡,而且绘图的线会闪烁。。。

怎么解决内存的问题呢??????

sevenchrist 发表于 2011-8-22 21:19:45

内存映射文件

chemical_life 发表于 2011-8-22 22:16:30

回复【1楼】sevenchrist
-----------------------------------------------------------------------

什么意思???

tfdsensor 发表于 2011-8-22 22:42:01

每次画多少个点?间隔多长时间画一次?
每次多画些,间隔 长一些,画过的就别画了,肉眼看不见的就别画了

weichy 发表于 2011-8-22 22:47:33

改用Char,设置好历史长度,每多写一次就多画一段;
改用Graph,自己建一个动态数组,不断把新数组同步到Graph上。
如果用graph控件(不是graph)为画XY的话,就用XY Graph控件,自己建一个动态二维数组,不断把新数组同步到XY Graph上。
在LabVIEW中,选错控件是一个悲剧。

chemical_life 发表于 2011-8-23 09:44:20

回复【3楼】tfdsensor毛毛虫
-----------------------------------------------------------------------

回复【4楼】weichyApollo
-----------------------------------------------------------------------

我绘的线在测试的过程中要可以让用户选择查看哪个线以及线的颜色等属性,所以之前的线要重绘,我是采用的将数据同步到控件上的方法,但是只要数据量大了以后,句柄量也就大了,所以,占内存会涨。因为graph控件封装的函数本身就要开辟内存。有人提出用画布控件,但我不知道那个绘图怎么绘。。。
页: [1]
查看完整版本: Labview/C语言 急!!求救。 同时采集16个传感器的信号,并绘制成16条曲线(动态读取数据刷