Skip to content

Commit af556be

Browse files
authored
Added Read me (#13)
* Inital ReadMe.md * First iteration * Added read me.
1 parent 021c5bc commit af556be

1 file changed

Lines changed: 70 additions & 1 deletion

File tree

README.md

Lines changed: 70 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1,70 @@
1-
# Processes-Priority-Manager
1+
# Processes Priority Manager (PPM)
2+
![image](https://github.com/user-attachments/assets/a706f4c9-9a3e-45a1-8a0c-05dc832b4817) ![image](https://github.com/user-attachments/assets/3574d2df-ded9-4758-83f5-81df23708c4e)
3+
4+
5+
PPM is a tool that allows you to auto-apply two aspects related to process performance: priority in the system and processor affinity.
6+
7+
## Installation
8+
9+
You can use [GitHub releases](https://github.com/Taron-art/Processes-Priority-Manager/releases) to download the latest version of the tool.
10+
11+
## Usage
12+
Because of the nature of changes the application is doing, the application requires administrator rights.
13+
14+
You can start by adding a new profile (application name) to the list. To remove the process from the list, you need to set all settings to default, it will be removed on "Apply".
15+
### Prioirty
16+
You can select Cpu Priority (can be bigger or smaller than normal), IO and Memory priorities (can be only lower than normal).
17+
18+
_Why this useful?_
19+
* You can improve gaming (or productivity) performance by setting Cpu Priority to Above Normal;
20+
* You can reduce some background process's (that you need to run) footprint (and battery usage) by lowering its priority. For example, you can set a torrent client to the lowest priority to avoid spikes when someone start downloading from you.
21+
22+
_How this works_
23+
24+
Initial priorities can be set using Window Registry and Windows will set them on process start, so this part is just a User Interface to change _HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\<Appname.exe>\PerfOptions_. Nothing is running in background to support this feature. This should never trigger any Anti-Cheat response since the game itself is never touched.
25+
26+
### Affinity
27+
28+
You can select CPU cores assigned to a specific application.
29+
30+
_Why this useful?_
31+
* You can improve gaming by allowing the game to run only on performance cores (on Intel) or only on one CCD (on AMD, for example on one with 3D V-Cache™).
32+
* You can improve multitask performance by assigning different application with different cores. For example, Performance cores for Games, efficiency cores - On streaming.
33+
* You can improve battery live by making some background processes to run only on efficient cores.
34+
35+
_How this works_
36+
37+
Whil you can set affinity manually to a running process using Task Manager, these are not saved for the next run. Also, there is no known API\Registry keys in Windows that allows to do that. To support this functionality, a tiny service was written. It monitors all new running processes and apply the selected Affinity when it finds a match. The footprint of the process is very small (usually, less than 1 MB of RAM), so it won't affect you system. This may (but should not) trigger an Anti-Cheat response since since the service is changing it on the fly.
38+
39+
### Limitations
40+
41+
Some applications (usually, some computer games) may control their priority and\or affinity. PPM was not designed to fight with that:
42+
1. It usually means that authors of the application were trying to optimize this aspect and they probably know better. Priorities can be tweaked by the application itself, per thread to maximize performance.
43+
1. This battle will probably be lost by PPM, only harming performance in process.
44+
45+
For example, DOOM Eternal will reset its priority to Normal if you try to change it, it also sets it is own affinity. Another example, Alan Wake 2 will reset its priority but not affinity.
46+
47+
## Performance testing
48+
49+
### Games
50+
51+
This list contains examples that were tested and actually found some performance improvements. Settings were set to the lowest possible to avoid GPU bottlenecking.
52+
53+
| Game | CPU Priority | Affinity | Average FPS | 1 % Low | Notes |
54+
| --- | --- | --- | --- | --- | --- |
55+
| Counter-Strike 2 | Normal | Default | 614 | 200 | Game does not support affinity changes |
56+
| Counter-Strike 2 | High | Default | 634 (+3.2%) | 207 (+3.5%) | Settings are Very Low, 1920x1080 |
57+
58+
More games will be added in the future.
59+
60+
### Applications
61+
62+
Test will be added in future.
63+
64+
## License
65+
66+
See the license during the installer. It is a MIT license with an exception related to Russian Federation.
67+
68+
## 🇺🇦 Please support Ukrainian Forces 🇺🇦
69+
70+
Please consider supporting Ukrainian Forces. You can donate to [Come Back Alive (Private Charity Foundation)](https://savelife.in.ua/en/donate-en/#donate-army-card-once), [Serhiy Prytula Charity Foundation (Private Charity Foundation)](https://prytulafoundation.org/en/donation) or [United24 (State Charity Foundation)](https://u24.gov.ua/).

0 commit comments

Comments
 (0)