NI LabVIEW,CVI,数据采集等产品讨论区

取消
显示结果 
搜索替代 
您的意思是: 

程序运行时间会突变

我现在在做一个关于机器视觉的项目。在程序实际运行时候,发现一个比较奇怪的现象。处理一个对象一般花费40ms左右的时间,但是在连续运行过程中会突然变成130ms左右,有再次回到40ms. 这种现象是偶然发生,不是周期性的,但是发生频率也挺高的。

       请指教!

     后来,我感觉程序里面局部变量用的比较多,将一些局部变量进行了删除,发生的频率大幅度下降了。于是,我又添加了1G内存,没有改观。

     每次运行时间有突变的时候,CPU的占用率也会突变。

0 项奖励
1 条消息(共 6 条)
4,906 次查看

请问,处理的对象是常量还是变量?

 

使用LabVIEW编程并不推荐过度使用local variables,一般都可通过property node替代。您可以先使用Tools>>Profile>> Performance and Memory工具观察下您的程序的内存使用情况。

Regards
MY
0 项奖励
2 条消息(共 6 条)
4,880 次查看

你的程序可能比较乱不是太合理,所以程序运行会很慢

有些地方加些延时,并遵从数据流格式

这样CPU会节省很多

0 项奖励
3 条消息(共 6 条)
4,849 次查看
局部变量是数组 (array or cluster) 的还是单个的标量(scalar variable),如果是数组的话,使用太多对程序是有影响的,如果是 scalar variable 的话,不需要太考虑内存的占用。但是如果局部变量使用太多会产生 race condition, 或许会造成你所经历的境况。也有可能是因为你的处理程序可能对有的输入有不同的反应。
0 项奖励
4 条消息(共 6 条)
4,817 次查看

您好,我目前也遇到了同样的问题,想请问一下您当时是什么原因导致的这种情况,是如何解决的,谢谢

0 项奖励
5 条消息(共 6 条)
1,414 次查看

您好,我目前也遇到了同样的问题,想请问一下您当时是什么原因导致的这种情况,是如何解决的,谢谢

0 项奖励
6 条消息(共 6 条)
1,413 次查看