11-26-2009 06:40 AM
11-26-2009 07:42 AM
Panel move are high impact events, in that they effectively block the system from attending other events. This is -unfortunately- the expected behavior and you can do nothing to alter it, at least remaining in a single-threaded application.
Regarding timer events, you could move to the asyncronous timers, which are executed in a separate thread and are not affected by UI events like dragging the panel. This is the easiest way to swich to multithreading, in that the async timer callback has the same structure of UI timer callback so the switch is easy torealize. You can look at \samples\toolbox\asyncdem demo program shipped with CVI for an example of async timer usage and performance.
The other alternative you can consider is to develop a multithreaded application by scratch without the use of async timers. Multithreading in CVI is described in an application note that you can find in <bin> directory in your CVI installation directory. I suggest you to read carefully that document since moving to a multithreaded environment requires some precautions to prevent problems in accessing resources from different threads. This applies also to async timer.