Hi to all,
this is more a general issue I want to discuss in the forum, than a
dedicated problem report.
We have developed some CVI applications over the years and I think I can say
I'm a really experienced CVI user. As complexity and data throughput of the
applications grows, there becomes one issue more and more a bottle neck, and
this is performance. Especially, when independent CVI applications are
running on a single machine (means more instances of CVIRTE are active) the
performance decreases significantly. To perform a meaningful test, I made an
easy CVI (6.0) application that shows a panel with a single numeric
indicator on it. The value of that indicator is incremented 10 times per
second controlled by a timer (see attachment). Running
a single instance of
this application gives me a system load of 10% on my Pentium 3 / 550 MHz,
Win2k. Running 9 instances of the application increases the system load to
90%. Can this be true? I don't think, I made any easy mistake, the
application is built in release mode and sleep policy is set to "sleep more"
..
Doing the same with MSVC results in 0% (!) system load when 20 (!) instances
of the application are active (see attachment).
For what reason the CVIRTE needs so much CPU time? For time consuming
algorithms we use an external optimizing compiler, but the event handling of
the CVIRTE is out of my control. In cases like these, the lack of a
profiling tool becomes a real problem.
What are your experiences?
Any suggestions from other users?
What are the comments from the NI specialists? Any plans for the future?
Best Regards
Torsten