Rolf Kalbermatter wrote:
> What speeds up things is, that for time critical or subroutine
> priority VIs, LabVIEW not only disables front panel updates (done
> anyway if the panel is
> not open), but even the code necessary to buffer the data for front
> panel display. A bitch to debug such a VI, (you really can't ;-) but

This can't be all there is to it though. Execution times (ms) for
consecutive tests of a sub-VI;

29.6,     29.3        Normal priority, not reentrant, panel open.
25.9,     26.4        Normal priority, not reentrant, panel closed.
9.6,     9.6    Normal priority, reentrant, panel closed.

Going from non-reentrant to reentrant more than doubles the performance.
Simply closing the panel to disable GUI code gives a comparitively slight
improvement. Note that all VIs were saved to disk before running the tests.

Is the data copied to the front panel even if the front panel is not open,
and the update code to copy from the buffers to the screen is the only thing
disabled when a VI is closed? It does not seem likely, since if you open a
subVI after it has executed, the front panel does not contain the data
loaded in to it during execution.

-- 
Dr. Craig Graham, Software Engineer
Advanced Analysis and Integration Limited, UK. http://www.aail.co.uk/




Reply via email to