Hi Cleat,
You can help us help you by posting code that we can look at and modify.
The waveform chart is really pretty efficient when it comes to CPU demands. It is smart enough to know when the data needs rescaled and provided it do not need re-scaling, it can simply shift a line a pixels and and a new set for the new data.
Provided you are not re-scaling, it is hard to beat the chart.
If you right click on a chart and select "create property node" you can then configure it as read and to return the history data.
Attached is a zip of some LV 7.1 code that includes a jpg of the block diagram (in the event you do not have LV 7.1).
It the example (which is a mod of Matt's code) I,
1) Clear the chart by writting an empty array of waveforms
2) Use a while loop to update the chart once a second
3) When the data collection is stopped, the history is read from the chart and displayed to illustrate that there is more than one update in the chart.
4) Transpose the history data (becuase it simplifies the rest of the code).
5) Index off the first row of the transposed array (this is all of the update for one channel) and pass it to a "delete from array"
6) The delete from array is used to init a shift register with the first update for that channel.
7) The remaining array returned from the "delete from array" is passed to a tunnel with auto-indexing enabled. This controls the number of time the inner for loop iterates and lets me walk through each of the updates for the channel.
😎 These updates are slapped on the back side of the previous waveform (for this channel) and the new "enlarged" waveform is saved in a the same shift regisiter we inititalized when we started this channel.
9) After all of the updates for a channel have been hooked together they pile up in an output tunnel.
10) The results are displayed in a Graph that you have already figured out to work with.
I hope this helps,
Ben