完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
扫一扫,分享给好友
|
labview的程序中采集部分产生的数据很大
在连续采集3次以后 labview因为缓存过大内存不够卡死了…… 新手小妹现在求助各位大神 有不有一种方法可以不用停止labview程序的运行 就能释放缓存的?? 或者缓存可以重复利用这个能实现不?? 跪求各位大神的解答!!! |
|
相关推荐
17个回答
|
|
|
是报内存不足吧?
|
|
|
|
|
|
|
|
|
|
|
|
主动丢弃过时数据
|
|
|
|
|
|
|
|
|
|
|
|
先搞清楚你是否需要一直continue进行采集? 如果需要建议用数据型的生产者与消费者结构,把采集的数据先丢到队列里面,然后消费者循环从队列里面取出数据进行操作。
|
|
|
|
|
|
是内存不足的话,说明你可能一直申请新的内存,而没用使用旧有的内存空间。你可以看看你的数组,方面是不是建了好多,特别要注意循环里面,如果有程序图可能比较能说明问题。,
|
|
|
|
|
|
|
|
|
|
|
|
嗯这个方法可以,就是说你建立一个固定长度的数组当数据超过这个长度就把旧的数据覆盖掉,这个方法性能上还行,也可以建立一个固定长度的队列,使用“有损耗入队列”函数添加数据,这样就可以自动丢弃旧数据,但是性能上略低! |
|
|
|
|
|
高性能的缓存重用要怎么设计??可惜labview中没有缓存释放的语句啊…… |
|
|
|
|
|
覆盖数组就可以了!或者队列也行。电脑编程不能追求完美,性能有时候是必须牺牲的。 |
|
|
|
|
|
数据需要计时处理掉,可以放在硬盘里,不要一直放在内存,那样内存开销太大
|
|
|
|
|
|
可以使用生产者和消费者模型,用数据队列来实现,采集队列事件不停地在采集数据将数据压入数据队列, 和记录队列事件,不停地从数据队列中取出。这样采集足够久都不会爆掉。 如果您想将采集的数据放到波形图中显示,也不要一次性全部放入,这样也会爆内存不足的,可以抽样(比如1000点取1个点)给一个预览波形图,再使用预览波形中中的游标或者使用滚动条,来截取预览波形图中某一段数据,根据X索引值,来读取文件中一段的数据到真实波形图中显示
|
|
|
|
|
|
|
|
|
|
|
|
面板:应用程序控制-内存控制-请求释放内存
|
|
|
|
|
|
请问你解决了吗
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
831 浏览 0 评论
625 浏览 0 评论
【团购】独家全套珍藏!龙哥LabVIEW视觉深度学习实战课(11大系列课程,共5000+分钟)
1763 浏览 0 评论
1417 浏览 1 评论
577 浏览 1 评论
/9
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2025-12-11 14:13 , Processed in 1.012448 second(s), Total 106, Slave 88 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191

淘帖
3606