-
Notifications
You must be signed in to change notification settings - Fork 78
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Constant CPU load #92
Comments
I don't see any CPU load when the application is minimized. I think a good AnimationTimerInterval is 100ms. For all other things I have no idea at the moment. |
Did you check with Process Explorer as described? (don't use the Task Manager as it might not be accurate enough if you have many powerful cores) |
I changed something, can you test it? |
I deactivated it again for now, too many side effects. Somebody has to take a closer look. |
I wasn't able to test it yet, because I cannot install any "nightly" builds on the productive dev system. I was going to set up an additional test dev system for this, but apparently you have already found problems. But you have been able to reproduce the constant CPU load that I described, right? |
yes i was able to reproduce it. But there are problems with my patch when the tab is on a panel. you can check agains this commit |
This component creates a constant CPU load of 1-2% on one core, even if it isn't doing anything and even if it isn't visible at all (idle minimized application). Just run the demo together with Sysinternals Process Explorer and observe the CPU load. Note, that more cores result in a lowed value, because it represents the usage based on all available cores in total.
Apparently, the reason for this is the constantly running
TThreadTimer
inTTimerThread
. Disabling the timer, stops this CPU load.This timer seems to be used for animations, but if the application is in an idle state and there are no animations, then there should be no CPU load.
You might say that 1-2% CPU load on one core isn't much. Imagine, more components or other applications would do the same. Just 10 applications with this issue would cause 10-20% constant CPU load, draining a laptop battery and blowing fans.
Either the timer should be able to perform its idle tasks without any CPU load or the timer needs to be stopped and started when it is actually needed.
The text was updated successfully, but these errors were encountered: