You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: README.md
+33-73Lines changed: 33 additions & 73 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -13,79 +13,32 @@ Make your games and apps run on the right CPU cores — for smoother perform
13
13
# What it does
14
14
Windows tries its best to schedule tasks automatically, but it may often not be optimal. CPU Set Setter gives you control: you decide which cores your games and apps can use. This tool brings quick and easy access to **CPU Sets**— almost the same as Affinity, but better — for free.
15
15
16
-
### Experimentation is key
17
-
To quickly find out which core configuration works best for a certain game, CPU Set Setter provides Hotkey support to change/clear CPU Sets on the fly, so you can experiment quickly without having to leave your game.
18
-
19
-
## AMD Dual-CCD CPUs
20
-
Dual CCD CPUs like the 3900X, 3950X, 5900X, 5950X, 7900X, 7950X, 9900X, 9950X and their -X3D variants can achieve better gaming performance when a game only runs on a single CCD. Dual-CCD X3D CPUs especially:
21
-
-**Cache cores (CCD0)**: More cache, great for gaming.
22
-
-**Frequency cores (CCD1)**: Higher clock speeds, better for productivity and background tasks.
23
-
24
-
By default, Windows and AMD's driver try to achieve better gaming performance by **turning off** the CCD1/Frequency cores (called parking) - but this can sometimes hurt performance, especially when gaming and multitasking simultaneously. Because a parked core can't be used by background processes either.
25
-
26
-
## Intel Hybrid CPUs (12th-15th Gen)
27
-
Intel Hybrid processors like the 12900K, 13900K, 14900K, and Core Ultra 285K have two types of cores:
28
-
-**Performance cores (P-cores)**: High-performance cores with Hyper-Threading (12th-14th gen), optimized for gaming and demanding workloads.
29
-
-**Efficiency cores (E-cores)**: Power-efficient cores without Hyper-Threading, ideal for background tasks and multi-threaded workloads.
30
-
31
-
Windows tries its best to schedule tasks automatically, but manual control can improve performance in specific scenarios, especially for gaming while multitasking.
32
-
33
-
# Use cases
34
-
## AMD Dual-CCD
35
-
- Keep your game locked to one CCD to prevent cross-CCD latency, for maximum FPS.
36
-
- Let background apps (OBS, video editors, browsers) use the other CCD.
37
-
- Avoid FPS drops caused by background processes running on the same cores as the game.
38
-
- Almost always better than core parking!
39
-
40
-
**Results will be even better for Dual-CCD X3D CPUs**
41
-
42
-
## Intel Hybrid
43
-
- Lock games to P-cores for consistent high performance.
44
-
- Assign background tasks (streaming, encoding, downloads) to E-cores.
45
-
- Prevent Windows from migrating game threads to E-cores during intense scenes.
46
-
47
-
## Universal
48
-
- Soft-disabling Hyper Threading/SMT for individual games, without rebooting.
49
-
- Hotkeys let you assign Core Masks to the current foreground process, allowing you to quickly test what performs best while staying in-game.
50
-
51
-
# Quick start
52
-
53
-
## AMD Dual-CCD Setup
54
-
**Prerequisite (not technically required, but HIGHLY recommended)**
55
-
- Global C-State Control (in BIOS): **Enabled**
56
-
- Game Mode (Windows Settings > Gaming > Game Mode): **Off**
57
-
58
-
**Dual-CCD X3D CPUs only (in addition to the above):**
59
-
- X3D Gaming/Turbo Mode (in BIOS): **Disabled**
60
-
- CPPC Preferred Cores (in BIOS): **Driver** or **Frequency**
61
-
> [!CAUTION]
62
-
> **IMPORTANT!** When using this on games, **always** disable Windows Game Mode. Even if CPPC Preferred Cores is set to Frequency instead of Driver. Windows Game Mode's optimisations may conflict with CPU Set Setter, causing performance reductions or even game crashes when left enabled.
63
-
64
-
## Intel Hybrid Setup
65
-
**Recommended settings**
66
-
- Game Mode (Windows Settings > Gaming > Game Mode): **Off**, but feel free to experiment
If you're on a supported CPU (AMD Dual-CCD | Intel Hybrid CPU), CPU Set Setter will auto-create some default Core Masks for you to start with:
71
-
-**AMD Dual-CCD**: "CCD0" and "CCD1", or "Cache" and "Freq" for X3D.
72
-
-**Intel Hybrid**: "P-Cores" and "E-Cores"
73
-
74
-
Just:
75
-
1. Download the [latest Release](https://github.com/SimonvBez/CPUSetSetter/releases/latest), extract and run.
76
-
2. If prompted, install the .NET 10 Runtime (the app will guide you).
77
-
3. Open the **Processes tab**.
78
-
4. Apply the appropriate CPU Set to your open game:
79
-
-**AMD**: Apply "Cache" or "CCD0" for gaming (for some, CCD1 was better for gaming. Try both!)
80
-
-**Intel**: Apply "P-Cores" for gaming
81
-
5. (Optional) Apply the other CPU Set to heavy background apps:
82
-
-**AMD**: Apply "Freq" or "CCD1" to OBS, browsers, etc.
83
-
-**Intel**: Apply "E-Cores" to OBS, browsers, etc.
84
-
6. Done - your choices are saved and auto-applied next time, as long as CPU Set Setter is running.
85
-
7. (Optional) Go to the Settings tab and enable "Start with Windows" to make CPU Set Setter start automatically when your computer starts.
86
-
87
-
If you're on another CPU or want to otherwise tweak which cores can be used, you can create/modify your own Core Masks in the **Masks tab**:
88
-
- Click Create..., pick the CPU cores and give your Mask a name.
16
+
# Common use cases / why you'd use this
17
+
18
+
## CCD locking; it's like parking, but better! (AMD Ryzen 9)
19
+
On dual-CCD CPUs, games can see big performance improvements when they are locked to the cores on a single CCD, especially on Ryzen 9 X3D CPUs. AMD and Windows usually accomplish this by **turning off** the other CCD (called parking), but this means background processes will now also be forced onto the same CCD as the game, leading to lower and less consistent framerates.
20
+
21
+
Ryzen 9 CPUs will see the largest benefit with CPU Set Setter! Especially when gaming and multitasking (streaming/rendering/etc) simutaniously.
22
+
23
+
## P-core locking (Intel 12th gen and up)
24
+
Windows does its best to schedule processes automatically, but manual control over which cores a game and background processes can use will improve performance in some scenarios.
25
+
26
+
## Soft-disabling SMT/HyperThreading (almost all CPUs, both Intel and AMD)
27
+
By restricting a program to only use the even (or uneven) cores you can soft-disable SMT/HT. Some games and programs (like Far Cry 6) may see an increase in performance by doing this.
28
+
29
+
This can be done in combination with the uses cases above.
30
+
<br>
31
+
For 5800X3D, 7800X3D and 9800X3D CPUs, this is probably the most/only useful tweak you can use.
32
+
33
+
# Experimentation is key
34
+
To quickly find out which core configuration works best for a certain game, CPU Set Setter provides Hotkey support to change/clear a program's Core Mask on the fly, so you can experiment quickly without having to even tab-out of your game.
35
+
36
+
# Setup/Installation (IMPORTANT, FOLLOW THIS)
37
+
To most optimally use CPU Set Setter, you may have to first follow some prerequisites depending on your CPU. See:
38
+
<br>
39
+
[AMD CPU setup](docs/setup/AMD.md)
40
+
<br>
41
+
[Intel CPU setup](docs/setup/Intel.md)
89
42
90
43
# Screenshots
91
44

@@ -110,3 +63,10 @@ CPU Sets achieve the same results as Affinities; restricting which cores a proce
110
63
- Bonus: CPU Sets require fewer process privileges to set, allowing them to work in games with anti-cheats too
111
64
112
65
This makes them better fit in almost every scenario.
66
+
67
+
# Donations
68
+
If you like CPU Set Setter, my goal is already fulfilled!
69
+
<br>
70
+
But if you like it so much that you'd like to donate to me, you now can by either becoming a [GitHub sponsor](https://github.com/sponsors/SimonvBez), or donate directly with [PayPal](https://paypal.me/SimonvBez). It'd be infinitely appreciated and will help me to maintain and expand CPU Set Setter in the future.
71
+
72
+
Doing so is completely optional, as CPU Set Setter does not and will not have any form of pay-only features, advertisements or nagging. It will always remain fully free and open-source.
Only follow this if you have a Ryzen 9 X3D CPU, like the 9950X3D, 9900X3D, 7950X3D, 7900X3D.
5
+
<br>
6
+
If you have another type of AMD CPU, like a Ryzen 7, skip this.
7
+
8
+
While not technically required, it is **strongly recommended** to follow these settings:
9
+
10
+
- Global C-State Control (in BIOS): **Enabled**
11
+
- X3D Gaming/Turbo Mode (in BIOS): **Disabled**
12
+
- This will ensure all your cores are available for use.
13
+
- CPPC Preferred Cores (in BIOS): **Driver** (or Frequency)
14
+
- This will make Windows prefer to use the Frequency cores, so your Cache cores remain available for games you configure with CPU Set Setter.
15
+
- Game Mode (Windows Settings > Gaming > Game Mode): **OFF**
16
+
> [!CAUTION]
17
+
> **IMPORTANT!** On Ryzen 9 X3D CPUs, **always** disable Windows Game Mode when using CPU Set Setter on a game! Even if CPPC Preferred Cores is set to Frequency instead of Driver. Windows Game Mode's optimisations may conflict with CPU Set Setter, causing performance reductions or even game crashes when left enabled.
18
+
19
+
## Installing and using CPU Set Setter
20
+
1. Download the .exe installer or .zip file of the [latest Release](https://github.com/SimonvBez/CPUSetSetter/releases/latest), install/extract and run it.
21
+
2. If prompted, install the .NET 10 Runtime (the app will guide you) and run CPU Set Setter again.
22
+
3. Open the **Processes tab**.
23
+
4. Apply the "Cache" or "CCD0" Core Mask to your open game. (for some, CCD1 was better for gaming. Try both!)
24
+
5. (Optional) Allocate your other CCD ("Freq" or "CCD1") to heavy background apps like OBS, iCue, webbrowsers, etc.
25
+
6. Done - your choices are saved and auto-applied next time, as long as CPU Set Setter is running.
26
+
7. (Optional) Set a hotkey combination in the Masks tab for some of the Core Mask to change/clear a program's Core Mask on the fly, so you can experiment quickly without having to even tab-out of your game.
27
+
8. (Optional) Go to the Settings tab and enable "Start with Windows" to make CPU Set Setter start automatically when your computer starts.
28
+
29
+
> [!NOTE]
30
+
> CPU Set Setter will auto-create some default Core Masks to start with, relevant to your CPU, for example: `CCD0`, `CCD1`, `Cache`, `Cache no SMT`, `Freq`, `Freq no SMT` and `All no SMT`.
31
+
>
32
+
> On **Windows 10, automatic CCD detection is not possible**, so you will have to create those Core Masks for yourself in the Masks tab; Click `Create...`, pick the CPU cores and give your Mask a name. Also, you should probably upgrade to Windows 11, even if it's just for the [better performance](https://www.youtube.com/watch?v=32lBRYknKgA)
1. Download the .exe installer or .zip file of the [latest Release](https://github.com/SimonvBez/CPUSetSetter/releases/latest), install/extract and run it.
5
+
2. If prompted, install the .NET 10 Runtime (the app will guide you) and run CPU Set Setter again.
6
+
3. Open the **Processes tab**.
7
+
4. Apply the "P-Cores" Core Mask to your open game.
8
+
5. (Optional) Allocate your E-Cores to heavy background apps like OBS, iCue, webbrowsers, etc.
9
+
6. Done - your choices are saved and auto-applied next time, as long as CPU Set Setter is running.
10
+
7. (Optional) Set a hotkey combination in the Masks tab for some of the Core Mask to change/clear a program's Core Mask on the fly, so you can experiment quickly without having to even tab-out of your game.
11
+
8. (Optional) Go to the Settings tab and enable "Start with Windows" to make CPU Set Setter start automatically when your computer starts.
12
+
13
+
> [!NOTE]
14
+
> CPU Set Setter will auto-create some default Core Masks to start with, relevant to your CPU, for example: `P-Cores`, `P-Cores no HT`, `E-Cores` and `All no HT`.
15
+
>
16
+
> If your Intel CPU does not have P- and E-cores, only the `All no HT` Mask will be automatically created.
0 commit comments