Suppress graph update after nested function terminates / slow graph autoscale for very large traces with markers
fabrizio
Two questions:
- I use a 'host' function which in turn calls another nested function in a loop. It seems that windows are updated everytime the nested function terminates, which significantly slows down the 'host' function (I end up closing all graphs prior to executing this function). Is there a way to suppress this updates (like pauseupdate for macros)?
- For very large traces (~ 10 million points), the graph autoscale operation is extremely slow (minutes) when the trace style is 'markers and lines' (with 'line between points' or 'dots' style, the same autoscale takes seconds). Is there anything I can do to speed up autoscale with the 'line and markers' style?
Igor 6.2.0.0, Windows XP SP3
Thanks!
Fabrizio
Graphs, tables, etc. aren't updated while user functions are executing, except when the DoUpdate command is called. So look through your code for DoUpdate, and if you see it try commenting it out and see if that improves performance. If that doesn't seem to be the case, please provide a code example here so we can take a look (or you can send it to support@wavemetrics.com if it's confidential or something).
That's a lot of markers to draw, so I would expect it to be relatively slow. If you double click on the trace to bring up the Modify Trace dialog, when you select Lines and Markers mode, there's a Sparse Markers checkbox. Check that and have it draw only every nth marker. Note that if you make this value too large, it will appear that you have fewer data points than you actually have.
October 1, 2010 at 04:12 pm - Permalink
because you aren't complaining about the fit progress window. Change that to
This adds a bit to V_fitOptions that will suppress the screen update at the end of fitting.
John Weeks
WaveMetrics, Inc.
support@wavemetrics.com If your inner function calls CurveFit or FuncFit it can cause an update. To completely suppress any possible update, first upgrade to the latest version (6.20). Then use the /N flag withe CurveFit or FuncFit. /N suppresses updates during fitting, but it may still update at the end of fitting. If you are doing a curve fit, then you probably already have
October 1, 2010 at 04:43 pm - Permalink
- Fabrizio
October 5, 2010 at 04:33 pm - Permalink