LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

Using of Big Arrays

Hi,

I'll use a big 2D- Array (like 1000x9000) and I tried to draw this with the waveform functions. My problem is that Labview is than very slow, to slow to do my measurements. I write this array in a binary file and here labview is also very slow. Can anybody show me another solution?

Thank you for help.

Bye Torsten
0 Kudos
Message 1 of 4
(2,903 Views)
Hi Torsten

To boost LabVIEW with big arrays, you have to "allocate" the memory space by initializing your 2D array (vi : initialize array), before you do anything with the array.

Each time you make the 2D array bigger, LV will give it a new memory allocation ... and soon you are out of "real" memory and windows uses virtual memory (i.e. disk access). As soon as windows uses virtual memory, you get a very slow process. So you really must avoid this and have to initialize your array with a size greater than the one it will have.

Also, avoid sub-VIs as you create new entries in memory for each subVI.

Doc-Doc.
Doc-Doc
http://www.machinevision.ch
http://visionindustrielle.ch
Please take time to rate this answer
0 Kudos
Message 2 of 4
(2,903 Views)
Ok I tried do initalize the array before and its a little bit faster but not really good.
Maybe a buffer or something like that?
May anybody can give me an example for a buffering a array with 1000X9000 elements.

greetings

torsten
0 Kudos
Message 3 of 4
(2,903 Views)
In fact you have to optimise the data lux of your VI.

Many details can make great difference in LV (you do not know easily when data is replicated)

If you send me your code I can have a look and tell you a few hints
Doc-Doc
Doc-Doc
http://www.machinevision.ch
http://visionindustrielle.ch
Please take time to rate this answer
0 Kudos
Message 4 of 4
(2,903 Views)