LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

graphics performance

Hi,

I using LV7 and I have an application that acquires data each 5 seconds from four probes, then I update the four graphics. The graphics are charts with a history length of 86400 because I want to view the data corresponding to 24 hours, then If I acquire them each 5 seconds I need a history length of that length. The problem is that (I suppose) first the vectors of data are not big but finally the vectors increase with time and my application consumes a high amount of memory and the system gets very slow. I suppose is because LV have problems to manage vectors of data too big. How can I solve this problem?

Thanks,

ToNi.
0 Kudos
Message 1 of 5
(3,418 Views)
One of the ways that you can speed things up is to turn on Defer Panel Updates before you add your data to the charts. Then turn off Defer Panel Updates (this is done by opening a reference to the VI, using a property node to get the panel reference and then another property node for Defer Panel Updates).

This will make the screen update only once instead of 4 times (as you add each piece of data).

With a history that long, this still may not be as fast as you would like to see, but it will certainly help quite a bit.

     Rob
0 Kudos
Message 2 of 5
(3,408 Views)

Hi,

 

Teorically if you create the cahrt and set the history length to the number of samples u want to see that is enough.

 

Labview is able to manage those vectors and as much as u want so that should not be a problem.

 

If you ar using a chart that would be the best way (just introducing the histroy length). If you are using arrays you should create and initialize an array of that size and just change the values you want to. Otherwise you can get into memory problems due to the fact that the array size is not reserved and everytime you add a new position a new array should be created.

 

Then...

1. Using charts just define the history length.

2. Using arrays use the initilize array function to determine the size of your data array.

Hope that helps,

Regards,

Jaime Cabrera

NI Applications Engineering Spain
0 Kudos
Message 3 of 5
(3,379 Views)

First of all, you can reduce the amount of memory needed by setting the chart history length to 17,280. That's because you are only writing every 5 seconds, so that would be the number of points you need to cover the last 24 hours. Set the Multiplier property to 5 and the chart will know that you are adding data every 5 seconds.

Second, your 4 charts put together should take less than 3 MB of memory. That should not hurt your computer that much.

My guess would be that you are trying to display too much data. You can't really display 17,000 or 86,000 on your screen because the display is usually only 1000 to 2000 pixels wide. You can either set the display itself to show only X points and use the scrollbar or only plot data once a minute or something similar and then set the history length to be even shorter.


___________________
Try to take over the world!
0 Kudos
Message 4 of 5
(3,373 Views)
Duplicate post.

<EDIT> Errr... this was actually supposed to go into the new thread rather than this one.


Message Edited by smercurio_fc on 04-30-2007 11:01 AM

0 Kudos
Message 5 of 5
(3,357 Views)