当前位置:   article > 正文

LabVIEW性能和内存管理 8_labview内存空间已满怎么清理

labview内存空间已满怎么清理

LabVIEW性能和内存管理 8

本文介绍LabVIEW性能和内存管理的几个建议8。

MemoryFragmentation内存碎片

内存管理器分配和释放内存需要时间,这会降低执行速度。在某些情况下,即使假设有足够的可用内存,也会发生内存不足错误。

上图显示了实际内存布局和报告的聚合值之间的差异。在本例中,尽管报告有0.4 GB的内存可用,但可用内存实际上并不是相邻的,如图所示。相反,可用内存被分割,如Actual图所示。最大的可用连续内存实际上是0.16 GB。内存碎片越多,内存管理器分配和释放内存的难度就越大,重复的分配会降低执行速度。

GeneralBenchmarking tips

•  Disable debugging

•  Save all

•  Close allunnecessary front panels

在进行测试时,有几件重要的事情需要记住,这样才能得到有意义的结果。首先,在正在测试的Vis上关闭调试,除非特别想在测试时打开调试。其次,在开始测试之前保存所有的Vis。如果一个VI有未保存的更改,那么它的前面板和框图可能无法留下内存,这可能导致VI做额外的不必要的工作来更新前面板。记住,即使一个前面板不可见,如果VI有未保存的更改,它可能仍然在内存中。一旦所有的Vis已经保存,应该关闭所有不必要的前面板窗口。任何打开的前面板都将导致执行代码花费额外的时间更新前面板,这将对性能产生非常显著的影响。

Defer PanelUpdates

–    Defer panelupdates when performing multiple control property changes

–    Avoid wiring errorin on a node that enables panel updates in order to avoid a UI  hang if error occurs before the node

 

默认情况下,某些属性更改会触发重绘。可以使用“延迟面板更新属性节点”来延迟这种重绘,因为重复重绘前面板非常耗时。当一次进行多个更新时,请推迟面板更新,直到完成所有更改。当将此属性设置为TRUE时,LabVIEW将重绘任何带有挂起更改的前面板对象,然后延迟所有前面板更新的新请求。

例如,当控件和指示器的属性或值发生变化时,它们不会被重绘。如果操作系统请求重绘,比如当窗口不再位于另一个窗口的后面时,LabVIEW使用当前属性而不是原始属性重绘前面板。如果为FALSE, LabVIEW立即重绘前面板的更改元素。

需要说明的是,上述的例程和文档,都是可以下载的,双击即可打开,其中压缩文件是可以采用粘贴复制的方式,拷贝到硬盘上。这不是图片,各位小伙伴看到后尝试一下,这个问题就不用加微信咨询了。有关LabVIEW编程、LabVIEW开发等相关项目,可联系们。

 

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小蓝xlanll/article/detail/724081
推荐阅读
  

闽ICP备14008679号