Udo Weik
04-04-2005, 09:35 AM
Hello,
hope that's the correct group - maybe someone could me advice other
newsgroups for that problem.-
Since some months I have a problem with an application written with Delphi/
C++Builder and my Notebook, OS WIN2000 (German). It's really a nightmare.
During runtime, I'm creating on a form a 3-party component, a so called
"ButtonEdit". The creation of 9 such components lasts on my WIN XP-Desktop
about 125ms, but on the mentioned WIN2000 notebook more than 10 seconds.
Everybody interested can get a small video (190 KB) from me via e-mail.
The creation of 9 TEdits lasts only some 10ms and works on both PCs.
Profiling with AQTime clearly shows that the problem is the constructor of
that "ButtonEdit", in more detail TTimer and there AllocatedHWind. A small
picture of the call tree (172 KB) can be obtained from me via e-mail.
I'm using ZoneAlarm and its "TrueVector Internet Monitor" VSMON.EXE consumes
a lot of the CPU bandwidth (up to 50%, I'm using the eXtended Task Manager for
determining) when the 9 "ButtonEdits" are created. But when I create the TEdits
VSMON.EXE doesn't matter. When I now switch off ZoneAlarm, the creation of the 9
components lasts half the time, but still about 5 seconds. And VSMON.EXE is really
not active then. Meanwhile I have again carefully uninstalled ZoneAlarm and looked
that really ALL parts of the program (especially DLLs) have been deleted). But even
after that the problem still existed (as mentioned appr. half the time then).
Because the problem seems to be TTimer, I examined a form on which I generate
TTimers. Results:
Number of WIN XP WIN2000
TTimers ZoneAlarm ZoneAlarm
running not run.
10 0s 1,3s 280ms
25 0s 3,5s 0,8s
50 0s 7,2s 1,7s
100 0s 15s 3,8s
250 16ms 40s 12s (12s = 750 times slower...)
^
Milli !!!
Remember: ZoneAlarm is uninstalled meanwhile, comparable results like "not running".
Of course there must be a "bigger" problem when ZoneAlarm is running.
Awarenesses so far:
- Not depending of the used compiler, e. g. C++Builder 5 or Delphi 6.
I have written the sample app with Delphi and C++Builder. Both versions same
problem.
- Must be an OS related problem (maybe API timer functions SetTimer and KillTimer).
On other WIN2000-PCs the app is working.
- Strange is that I have a new harddisk since some months. First the problem
disappeared
(one motivation for the new disk), but suddenly occured again, maybe to an OS
bugfix or
installing something. But I can't see anything (process...) working at the
background.
Any idea/hint, especially for a tool for further investigations?
Many thanks for your efforts and greetings
Udo
hope that's the correct group - maybe someone could me advice other
newsgroups for that problem.-
Since some months I have a problem with an application written with Delphi/
C++Builder and my Notebook, OS WIN2000 (German). It's really a nightmare.
During runtime, I'm creating on a form a 3-party component, a so called
"ButtonEdit". The creation of 9 such components lasts on my WIN XP-Desktop
about 125ms, but on the mentioned WIN2000 notebook more than 10 seconds.
Everybody interested can get a small video (190 KB) from me via e-mail.
The creation of 9 TEdits lasts only some 10ms and works on both PCs.
Profiling with AQTime clearly shows that the problem is the constructor of
that "ButtonEdit", in more detail TTimer and there AllocatedHWind. A small
picture of the call tree (172 KB) can be obtained from me via e-mail.
I'm using ZoneAlarm and its "TrueVector Internet Monitor" VSMON.EXE consumes
a lot of the CPU bandwidth (up to 50%, I'm using the eXtended Task Manager for
determining) when the 9 "ButtonEdits" are created. But when I create the TEdits
VSMON.EXE doesn't matter. When I now switch off ZoneAlarm, the creation of the 9
components lasts half the time, but still about 5 seconds. And VSMON.EXE is really
not active then. Meanwhile I have again carefully uninstalled ZoneAlarm and looked
that really ALL parts of the program (especially DLLs) have been deleted). But even
after that the problem still existed (as mentioned appr. half the time then).
Because the problem seems to be TTimer, I examined a form on which I generate
TTimers. Results:
Number of WIN XP WIN2000
TTimers ZoneAlarm ZoneAlarm
running not run.
10 0s 1,3s 280ms
25 0s 3,5s 0,8s
50 0s 7,2s 1,7s
100 0s 15s 3,8s
250 16ms 40s 12s (12s = 750 times slower...)
^
Milli !!!
Remember: ZoneAlarm is uninstalled meanwhile, comparable results like "not running".
Of course there must be a "bigger" problem when ZoneAlarm is running.
Awarenesses so far:
- Not depending of the used compiler, e. g. C++Builder 5 or Delphi 6.
I have written the sample app with Delphi and C++Builder. Both versions same
problem.
- Must be an OS related problem (maybe API timer functions SetTimer and KillTimer).
On other WIN2000-PCs the app is working.
- Strange is that I have a new harddisk since some months. First the problem
disappeared
(one motivation for the new disk), but suddenly occured again, maybe to an OS
bugfix or
installing something. But I can't see anything (process...) working at the
background.
Any idea/hint, especially for a tool for further investigations?
Many thanks for your efforts and greetings
Udo