LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

How to display a lot of data fast

I am doing a Protocol Host Simulator and I need to display a lot of data fast.  I need to do updates in a few milliseconds and it seems that the listbox controls are slooooooooooow.  Is there a better way to display the data using LabVIEW? 
 
I know I can reduce my updates and maybe update when I have multiple samples instead of every sample.  Seems inefficient the way the listbox controls works by having to write all the data everytime.  I would be happy with 1,000 deep on the display.
 
Matt
 
Attached VI is LV 8.01
Performance data on a P4 @ 3.4 GHz (Screaming Fast PC)
 
Samples    Time Per (mSec)     Total Time (sec)
10              14.1                           0.141
100            14.7                           1.47
1000          15.6                          15.55
10000        18.5                           185.31
Matthew Fitzsimons

Certified LabVIEW Architect
LabVIEW 6.1 ... 2013, LVOOP, GOOP, TestStand, DAQ, and Vison
0 Kudos
Message 1 of 6
(3,109 Views)

I am getting good at answering my own questions.  I have taken it down from 185 seconds to update 10,000 items to 13.5 seconds.  Just using a good old indicatior.  Not as nice looking as a listbox but has the speed I need.

 

Matthew Fitzsimons

Certified LabVIEW Architect
LabVIEW 6.1 ... 2013, LVOOP, GOOP, TestStand, DAQ, and Vison
0 Kudos
Message 2 of 6
(3,100 Views)
And if you initialize the array first and use "Replace Array Subset", you get even better times.

Ed


Ed Dickens - Certified LabVIEW Architect
Lockheed Martin Space
Using the Abort button to stop your VI is like using a tree to stop your car. It works, but there may be consequences.
Message 3 of 6
(3,097 Views)
And if you move the indicator outside the For loop and connect it to the right hand shift register.......


Ed Dickens - Certified LabVIEW Architect
Lockheed Martin Space
Using the Abort button to stop your VI is like using a tree to stop your car. It works, but there may be consequences.
Message 4 of 6
(3,093 Views)
Thanks.  Needs to be inside of For Loop so I can update as information is available.
Matthew Fitzsimons

Certified LabVIEW Architect
LabVIEW 6.1 ... 2013, LVOOP, GOOP, TestStand, DAQ, and Vison
0 Kudos
Message 5 of 6
(3,090 Views)

There seem to be some misconceptions floating around.

First of all, there is no conceivable justification to update faster than the refresh rate of your monitor. Typically any display refresh above about 20-30/second is a complete waste of resources. LabVIEW knows that and will actually update the indicator much less than you think (I bet you did not notice! :)). That is why the second and third examples are so much faster. (My guess is that example 1 is particulary slow because the property node forces synchrony (is that even a word? 🐵 and we have the extra overhead of the property node).

Why don't you right-click on the string array indicator of the last example and select "advanced...syncronous display" to force a display update with each iteration. Now it is only 4x faster than example 1 and much slower than it was with asynchronous display updates.

Message 6 of 6
(3,079 Views)