Skip to content

Add the Power Plan option to the Rules. - #3

Open
Meyaki2k8 wants to merge 1 commit into
jadenpeek:mainfrom
Meyaki2k8:main
Open

Add the Power Plan option to the Rules.#3
Meyaki2k8 wants to merge 1 commit into
jadenpeek:mainfrom
Meyaki2k8:main

Conversation

@Meyaki2k8

Copy link
Copy Markdown

Feature Request: Per-Process Power Plan Rules

Hi! First of all, thank you for making ProcessX. I really like the idea of keeping ProcessX lightweight while still providing useful per-process controls such as CPU priority, I/O priority, and CPU Sets.

While using ProcessX, I noticed that one feature that could make it even more useful is per-process Power Plan rules.

Proposed feature

Allow users to assign a Windows Power Plan to an .exe rule, similar to the existing CPU Priority / I/O Priority / CPU Sets settings.

For example:

Process CPU Priority CPU Sets Power Plan
game.exe High P-Cores Ultimate Performance
discord.exe Normal All CPUs Follow Current

The Power Plan selector could be added to the existing rule editor.

Example:

Power Plan:
[ Follow Current ▼ ]

The dropdown could automatically detect the Power Plans currently installed on Windows using:
powercfg /list

The selected Power Plan could be stored by its GUID rather than its display name.
Important Windows limitation
I understand that Windows Power Plans are system-wide rather than truly per-process.
So I don't mean that the Power Plan itself should somehow become isolated to a single process.

Instead, the behavior could be:
Process starts
    ↓
ProcessX detects its Power Plan rule
    ↓
Activate the configured system-wide Power Plan
    ↓
Process exits
    ↓
Restore the previous Power Plan if no other managed process requires a different plan

Multiple processes
It would also be useful to handle multiple processes safely.
For example:
GameA.exe → Ultimate Performance
GameB.exe → High Performance
If GameA starts:
Ultimate Performance
If GameB starts afterward:
High Performance
If GameB exits while GameA is still running:
Ultimate Performance
And when GameA exits:
Restore the Power Plan that was active before ProcessX started managing it.

This would prevent ProcessX from restoring the wrong Power Plan while another managed process is still running.
Why I think this would be useful
ProcessX already works very well as a lightweight alternative to heavier process-management tools. Per-process Power Plan rules would make it particularly useful for gaming PCs where users may want different power profiles for different applications.
For example:
Competitive games → High Performance / custom gaming plan
CPU-heavy workloads → Ultimate Performance
Normal applications → Follow Current
Battery-sensitive applications → Power Saver
It could also work nicely alongside the existing CPU Priority and CPU Sets rules.
I actually prototyped this feature
I created a small fork/prototype to see how this could work in practice.
The prototype adds:
Dynamic Power Plan detection
Power Plan selection in the existing rule editor
Power Plan GUID storage
Automatic powercfg /setactive handling
Restoration of the previous Power Plan
Basic handling for multiple processes
A "Follow Current" option
I'm not necessarily suggesting that my implementation should be merged as-is. I mainly wanted to demonstrate the feature and show that it seems to fit naturally into ProcessX.
If you're interested in the feature, I'd be happy to provide the prototype/fork or a PR for review.
Thanks again for ProcessX!
```text

https://github.com/Meyaki2k8/ProcessX

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant