03-11-2009 06:00 PM
I have an application that sits in a loop and dynamically loads and runs some VIs.
Depending on a initialization paramete, after the VI finishes I can either close the reference or keep it around.
If I have the program set to close the reference I would expect that V, associated subVIs, and memory associated with it to disappear.
However, I have on such VI (containing same Labview vision code and images) where the mere act of closing the reference causes the memory requirements to increase (in this case by about 25/30 Mbytes) and thus the application doesn't last long after that.
This all under development not in a built executable (not sure what happens there).
If before I dynamically load that VI I open it from Labview and run it, the VI stays in memory, obviously, and the same increase in memory requirements happen when I click the VI by clicking on the close window x icon.
This is really weird, how can closing a whole VI hierarchy increase the memory requirements of Labview, while keeping it in memory doesn't?
This is LV 7.1 Vision 7.1
03-12-2009 04:34 AM
Hey,
You can try adding "IMAQ Dispose" with a TRUE wired to the "All Images" input to deallocate the image buffers. Maybe this is the cause.
Christian
03-12-2009 05:10 AM