> I do use autoscaling for some of the data.
>
> However, I am having problem with the graph updating speed. It is
> slowing down my program.
>
....
> How can I achieve fast updating to an XY graph without adding further
> delay time on my overall program timing?
>
My first comment is a shot in the dark, but worth mentioning. Are you
using local variables or property nodes. You don't mention how you are
updating the graph, but graphs generally update somewhere in the 10 to
20ms range if you simply write to the terminal or local variable. It
sounds like you might be doing an incremental update in a loop, and the
good way of doing this is to use a shift register to take the previously
plotted data, append new data, then send the data to the terminal. The
not-so-good way is to use the value property or local to read from the
graph, append and write to back to the graph. Basicaly, property nodes
update the screen after each time set. Terminal and local writes
amortize the screen updates to no more than about 50ms. Reading back
from a graph results in extra buffer copies and more memory management
than using a shift register.
Independent from the above. A graph update is governed by a few things.
The time for erasing the drawing area and drawing the grid if necessary.
The time per wired point to do floating point math to map and decimate
the data. The time bounded by the size of both data and width for
drawing the lines. Large graphs take longer to update than small ones.
Graphs with a reasonable amount of data update faster than graphs with
millions of points, and graphs with simple drawing style update faster
than those with grids, thick or dashed lines, or point markers. Grids
also take longer.
Finally, don't forget that overlapped controls update more slowly. Many
people take the graph plot legend and place it on top of the graph and
are surprised that this slows down the updates.
If doing benchmarks to see how long the graph updates actually take and
how much these changes affect it, be sure to turn on
Advanced>>Synchronous display, and be aware as to whether or not you are
including the time to produce the data to plot. Also keep in mind that
there is more jitter in measuring how long it takes to draw random data
-- the lines tend to be all different lengths, and until they get
statistically valid, they have more jitter.
If you still have questions, please be more specific as to the times you
are trying to achieve on what class of machine, or include a VI that
shows your timings.
Greg McKaskle