【LabVIEW】内存优化经验
一、前面板的控件会占用很大的内存,所以,在不需要打开前面板的时候尽量不操作,减少属性节点的使用。因为属
性节点关联到控件,会调用内存中,增加开销。
二、没有必要的时候不要设置VI的重入属性。重入会给VI执行时分配一个副本,增大开销。
三、使用内存管理函数,"请求释放内存 函数"。
四、使用移位寄存器,这样强制使用同一内存区域进行数据传递。
五、在任何情况下,将VI分解为子VI。当子VI不再被执行的时候,LabVIEW能够释放它的内存。
六、限制使用全局或者局部变量。使用全局和局部变量会造成LabVIEW为数据建立备份。
七、在需要时才在打开的前面板上显示大型数组和字符串。前面板的显示控件需要复制它们显示的数据。
八、属性节点会造成子VI的前面板滞留在内存中,这样会增加内存的使用。因此,如果子VI的前面板不被显示,不要
在子VI中使用属性节点。
九、当在数组中使用相同的数据类型,并在传输数据进入子VI时使用强制小数点位置。当LabVIEW改变数据类型,输出
需要一个新的缓存。
十、当设计流程图,要注意任何输入的大小与输出的大小不同的地方。举例,频繁的增加数组或者字符串的大小将造
成数据的多次复制。这将造成LabVIEW使用的内存大大增加,并造成内存碎片。
十一、数据处理中使用数组。由于采集的数据本来就很大,在循环中又使用创建数组函数,由于该函数没有指定大小,每次加入新的数据时,要不断调整增加数组大小,但是labview不能判断原来的数据是否还有其他用处,所以每次调整数组大小都会复制一份新数据,这样内存开销非常大。
https://blog.csdn.net/qq_37860271/article/details/108217209