-
-
Notifications
You must be signed in to change notification settings - Fork 147
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
Identify and reduce background CPU usage #273
Comments
Maybe, implementing a separate process could solve this? (Windows-Auto-Night-Mode)[https://github.com/AutoDarkMode/Windows-Auto-Night-Mode/tree/master] seems to do it that way. I have no experience with Windows app development, so I am unsure if that really would help (maybe with the ram consumption in #248 ?). Obviously, rewriting the app takes some considerable effort, which might not be worth it. |
It could help, but first need to figure out what's even contributing to the CPU usage in the first place, to understand which areas need optimization. |
From some quick profiling, it looks like the vast majority of the background CPU usage comes from Avalonia's main render loop, with no traceable path to any code LightBulb seems to be calling. LightBulb's internal modules only have 2% of the total CPU usage compared to Avalonia's >80%. In terms of memory usage, I'm seeing about 150-200mb on my machine, the vast majority of which is Avalonia components: I agree with @seapat, I think the solution here is to split off the backend into a separate process and only run the frontend when requested. I think that'll solve 99% of the memory and CPU issues. |
Hello, I hope this helps to improve this great tool. EDIT: forgot the version is 2.6.0, the OS is W11 and the GPU driver is AMD |
@EdoaLive do you have gamma polling enabled by any chance? Was this measured during an active transition (when the temperature/brightness is in the process of change)? |
Nope. Also tried enabling this or disabling gamma smoothing, nothing changes.
Nope, at idle. I also re-checked: actually GPU usage goes up (to 6% from 1-2% baseline) only when the GUI is open, while it goes down when reduced to systray. |
@EdoaLive I don't know how you are measuring the GPU usage but two things are very important:
|
It seems that detaching the UI rendering loop from the gamma manipulation loop is the way forward. I have created a separate issue to focus specifically on that goal: #328. Closing this one, as it has served its investigative purpose (thanks everyone). |
Version
v2.4.7 / v2.5*
Platform
Windows 11
Steps to reproduce
Start LightBulb and hide it to the tray.
Details
Observe passive CPU usage of 0.1-1%, depending on the environment.
Need to identify the largest contributors to CPU usage and come up with a strategy to reduce it. Open for external contributions.
Related to #248, but split out into a separate issue to focus only on the CPU aspect because the relatively high RAM usage (50-70mb) is a byproduct of running on the .NET runtime and can't easily be resolved.
Checklist
The text was updated successfully, but these errors were encountered: