microsoft / microsoft/PowerToys
Reduce idle memory usage from utility helper processes
- Dominant language
- C
- Stars
- 139k
- Forks
- 8.6k
- PR merge metrics
- PR metrics pending
Description
### Description of the new feature / enhancement
Some PowerToys utilities keep a helper or UI process running in the background so they can open quickly. That is useful, but it also means PowerToys can use memory for utilities that are enabled but only used occasionally.
It would be useful to have an optional low memory mode for utilities where this makes sense. When enabled, the utility could close its helper/UI process while idle and launch it again on demand through the normal hotkey or activation path.
Possible behavior:
- Keep the current warm background process behavior as the default.
- Let users opt into lower idle memory usage.
- Allow this either globally or per supported utility.
- Only apply it to utilities where closing and relaunching the helper process is safe.
### Scenario when this would be used?
A user has several utilities enabled, but only uses some of them from time to time. They would rather save memory while idle, even if that means the first launch of that utility is a little slower.
### Supporting information
This is related to #10357, which asks for this behavior specifically for Color Picker. The same general tradeoff can apply to other utilities that keep helper/UI processes warm while idle.
Contributor guide
Research direction
No files, tests, or entry points are named. Start by reviewing how utility helper and UI processes are kept alive and relaunched, then compare the related Color Picker request in #10357; done would require a defined opt-in global or per-utility mode with safe on-demand relaunch behavior.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- c
- Domain
- desktop, operating-systems
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Quiet
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100