WoW:CVar processAffinityMask

From AddOn Studio
Jump to navigation Jump to search

Console variables < processAffinityMask

Controls which processor cores or logical-cores are used by WoW. Changing this setting requires a restart to make the change effective. Use is deprecated since patch 3.3.2, and the default of '0' is now recommended. See also CVar maxAnimThreads.

SET processAffinityMask "0"
/console processAffinityMask 0

Possible settings[edit]

A number from 0 to 4294967295 as a bit-mask, with a bit for each logical CPU core and up to 32 cores total. Bit set to 1 enables a core for WoW, and set to 0 disable a core for WoW.

  • 0 - (default) threads get automatically placed on cores by normal OS controlled process
  • 1 - Logical core 1 only (bits 0001)
  • 2 - Logical core 2 only (bits 0010)
  • 3 - Logical core 1 and 2 only (bits 0011)
  • 4 - Logical core 3 only (bits 0100)
  • 5 - Logical core 1 and 3 only (bits 0101)
  • 6 - Logical core 2 and 3 only (bits 0110)
  • 7 - Logical core 1, 2, and 3 only (bits 0111)
  • .... and so on

Details[edit]

Note: Manually adjusting this CVar is no longer needed as of 3.3.2, unless you're trying to run the game on specific cores. As of 3.3.2 the default setting will now already be uncapped, so it will run on whatever core your OS deems as fit. If however, you want to specify which cores wow runs on, continue reading.
Note: Mask bits are documented here Win32 SetProcessAffinityMask (MSDN) as well.

Each bit corresponds to one logical CPU core. The least significant bit corresponds to the first logical core, with the ability to control up to 32 logical cores. Logical cores on the same physical core will typically be grouped together for the mask, so that logical cores 1 and 2 are on the same HT core 0, positions 3 and 4 (bits 001100) would be for HT core 1.

Customizing your settings for multi-core processors[edit]

To customize which cores WoW uses place SET processAffinityMask "x" in your Config.wtf where 'x' is replaced with the corresponding value in the following table.

Value Core 1 Core 2 Core 3 Core 4 Core 5 Core 6 Core 7 Core 8
0 Allows the Operating System to choose cores to run on
1 Yes No No No No No No No
2 No Yes No No No No No No
3 Yes Yes No No No No No No
4 No No Yes No No No No No
5 Yes No Yes No No No No No
6 No Yes Yes No No No No No
7 Yes Yes Yes No No No No No
8 No No No Yes No No No No
9 Yes No No Yes No No No No
10 No Yes No Yes No No No No
11 Yes Yes No Yes No No No No
12 No No Yes Yes No No No No
13 Yes No Yes Yes No No No No
14 No Yes Yes Yes No No No No
15 Yes Yes Yes Yes No No No No
16 No No No No Yes No No No
17 Yes No No No Yes No No No
18 No Yes No No Yes No No No
19 Yes Yes No No Yes No No No
20 No No Yes No Yes No No No
21 Yes No Yes No Yes No No No
22 No Yes Yes No Yes No No No
23 Yes Yes Yes No Yes No No No
24 No No No Yes Yes No No No
25 Yes No No Yes Yes No No No
26 No Yes No Yes Yes No No No
27 Yes Yes No Yes Yes No No No
28 No No Yes Yes Yes No No No
29 Yes No Yes Yes Yes No No No
30 No Yes Yes Yes Yes No No No
31 Yes Yes Yes Yes Yes No No No
32 No No No No No Yes No No
33 Yes No No No No Yes No No
34 No Yes No No No Yes No No
35 Yes Yes No No No Yes No No
36 No No Yes No No Yes No No
37 Yes No Yes No No Yes No No
38 No Yes Yes No No Yes No No
39 Yes Yes Yes No No Yes No No
40 No No No Yes No Yes No No
41 Yes No No Yes No Yes No No
42 No Yes No Yes No Yes No No
43 Yes Yes No Yes No Yes No No
44 No No Yes Yes No Yes No No
45 Yes No Yes Yes No Yes No No
46 No Yes Yes Yes No Yes No No
47 Yes Yes Yes Yes No Yes No No
48 No No No No Yes Yes No No
49 Yes No No No Yes Yes No No
50 No Yes No No Yes Yes No No
51 Yes Yes No No Yes Yes No No
52 No No Yes No Yes Yes No No
53 Yes No Yes No Yes Yes No No
54 No Yes Yes No Yes Yes No No
55 Yes Yes Yes No Yes Yes No No
56 No No No Yes Yes Yes No No
57 Yes No No Yes Yes Yes No No
58 No Yes No Yes Yes Yes No No
59 Yes Yes No Yes Yes Yes No No
60 No No Yes Yes Yes Yes No No
61 Yes No Yes Yes Yes Yes No No
62 No Yes Yes Yes Yes Yes No No
63 Yes Yes Yes Yes Yes Yes No No
64 No No No No No No Yes No
65 Yes No No No No No Yes No
66 No Yes No No No No Yes No
67 Yes Yes No No No No Yes No
68 No No Yes No No No Yes No
69 Yes No Yes No No No Yes No
70 No Yes Yes No No No Yes No
71 Yes Yes Yes No No No Yes No
72 No No No Yes No No Yes No
73 Yes No No Yes No No Yes No
74 No Yes No Yes No No Yes No
75 Yes Yes No Yes No No Yes No
76 No No Yes Yes No No Yes No
77 Yes No Yes Yes No No Yes No
78 No Yes Yes Yes No No Yes No
79 Yes Yes Yes Yes No No Yes No
80 No No No No Yes No Yes No
81 Yes No No No Yes No Yes No
82 No Yes No No Yes No Yes No
83 Yes Yes No No Yes No Yes No
84 No No Yes No Yes No Yes No
85 Yes No Yes No Yes No Yes No
86 No Yes Yes No Yes No Yes No
87 Yes Yes Yes No Yes No Yes No
88 No No No Yes Yes No Yes No
89 Yes No No Yes Yes No Yes No
90 No Yes No Yes Yes No Yes No
91 Yes Yes No Yes Yes No Yes No
92 No No Yes Yes Yes No Yes No
93 Yes No Yes Yes Yes No Yes No
94 No Yes Yes Yes Yes No Yes No
95 Yes Yes Yes Yes Yes No Yes No
96 No No No No No Yes Yes No
97 Yes No No No No Yes Yes No
98 No Yes No No No Yes Yes No
99 Yes Yes No No No Yes Yes No
100 No No Yes No No Yes Yes No
101 Yes No Yes No No Yes Yes No
102 No Yes Yes No No Yes Yes No
103 Yes Yes Yes No No Yes Yes No
104 No No No Yes No Yes Yes No
105 Yes No No Yes No Yes Yes No
106 No Yes No Yes No Yes Yes No
107 Yes Yes No Yes No Yes Yes No
108 No No Yes Yes No Yes Yes No
109 Yes No Yes Yes No Yes Yes No
110 No Yes Yes Yes No Yes Yes No
111 Yes Yes Yes Yes No Yes Yes No
112 No No No No Yes Yes Yes No
113 Yes No No No Yes Yes Yes No
114 No Yes No No Yes Yes Yes No
115 Yes Yes No No Yes Yes Yes No
116 No No Yes No Yes Yes Yes No
117 Yes No Yes No Yes Yes Yes No
118 No Yes Yes No Yes Yes Yes No
119 Yes Yes Yes No Yes Yes Yes No
120 No No No Yes Yes Yes Yes No
121 Yes No No Yes Yes Yes Yes No
122 No Yes No Yes Yes Yes Yes No
123 Yes Yes No Yes Yes Yes Yes No
124 No No Yes Yes Yes Yes Yes No
125 Yes No Yes Yes Yes Yes Yes No
126 No Yes Yes Yes Yes Yes Yes No
127 Yes Yes Yes Yes Yes Yes Yes No
128 No No No No No No No Yes
129 Yes No No No No No No Yes
130 No Yes No No No No No Yes
131 Yes Yes No No No No No Yes
132 No No Yes No No No No Yes
133 Yes No Yes No No No No Yes
134 No Yes Yes No No No No Yes
135 Yes Yes Yes No No No No Yes
136 No No No Yes No No No Yes
137 Yes No No Yes No No No Yes
138 No Yes No Yes No No No Yes
139 Yes Yes No Yes No No No Yes
140 No No Yes Yes No No No Yes
141 Yes No Yes Yes No No No Yes
142 No Yes Yes Yes No No No Yes
143 Yes Yes Yes Yes No No No Yes
144 No No No No Yes No No Yes
145 Yes No No No Yes No No Yes
146 No Yes No No Yes No No Yes
147 Yes Yes No No Yes No No Yes
148 No No Yes No Yes No No Yes
149 Yes No Yes No Yes No No Yes
150 No Yes Yes No Yes No No Yes
151 Yes Yes Yes No Yes No No Yes
152 No No No Yes Yes No No Yes
153 Yes No No Yes Yes No No Yes
154 No Yes No Yes Yes No No Yes
155 Yes Yes No Yes Yes No No Yes
156 No No Yes Yes Yes No No Yes
157 Yes No Yes Yes Yes No No Yes
158 No Yes Yes Yes Yes No No Yes
159 Yes Yes Yes Yes Yes No No Yes
160 No No No No No Yes No Yes
161 Yes No No No No Yes No Yes
162 No Yes No No No Yes No Yes
163 Yes Yes No No No Yes No Yes
164 No No Yes No No Yes No Yes
165 Yes No Yes No No Yes No Yes
166 No Yes Yes No No Yes No Yes
167 Yes Yes Yes No No Yes No Yes
168 No No No Yes No Yes No Yes
169 Yes No No Yes No Yes No Yes
170 No Yes No Yes No Yes No Yes
171 Yes Yes No Yes No Yes No Yes
172 No No Yes Yes No Yes No Yes
173 Yes No Yes Yes No Yes No Yes
174 No Yes Yes Yes No Yes No Yes
175 Yes Yes Yes Yes No Yes No Yes
176 No No No No Yes Yes No Yes
177 Yes No No No Yes Yes No Yes
178 No Yes No No Yes Yes No Yes
179 Yes Yes No No Yes Yes No Yes
180 No No Yes No Yes Yes No Yes
181 Yes No Yes No Yes Yes No Yes
182 No Yes Yes No Yes Yes No Yes
183 Yes Yes Yes No Yes Yes No Yes
184 No No No Yes Yes Yes No Yes
185 Yes No No Yes Yes Yes No Yes
186 No Yes No Yes Yes Yes No Yes
187 Yes Yes No Yes Yes Yes No Yes
188 No No Yes Yes Yes Yes No Yes
189 Yes No Yes Yes Yes Yes No Yes
190 No Yes Yes Yes Yes Yes No Yes
191 Yes Yes Yes Yes Yes Yes No Yes
192 No No No No No No Yes Yes
193 Yes No No No No No Yes Yes
194 No Yes No No No No Yes Yes
195 Yes Yes No No No No Yes Yes
196 No No Yes No No No Yes Yes
197 Yes No Yes No No No Yes Yes
198 No Yes Yes No No No Yes Yes
199 Yes Yes Yes No No No Yes Yes
200 No No No Yes No No Yes Yes
201 Yes No No Yes No No Yes Yes
202 No Yes No Yes No No Yes Yes
203 Yes Yes No Yes No No Yes Yes
204 No No Yes Yes No No Yes Yes
205 Yes No Yes Yes No No Yes Yes
206 No Yes Yes Yes No No Yes Yes
207 Yes Yes Yes Yes No No Yes Yes
208 No No No No Yes No Yes Yes
209 Yes No No No Yes No Yes Yes
210 No Yes No No Yes No Yes Yes
211 Yes Yes No No Yes No Yes Yes
212 No No Yes No Yes No Yes Yes
213 Yes No Yes No Yes No Yes Yes
214 No Yes Yes No Yes No Yes Yes
215 Yes Yes Yes No Yes No Yes Yes
216 No No No Yes Yes No Yes Yes
217 Yes No No Yes Yes No Yes Yes
218 No Yes No Yes Yes No Yes Yes
219 Yes Yes No Yes Yes No Yes Yes
220 No No Yes Yes Yes No Yes Yes
221 Yes No Yes Yes Yes No Yes Yes
222 No Yes Yes Yes Yes No Yes Yes
223 Yes Yes Yes Yes Yes No Yes Yes
224 No No No No No Yes Yes Yes
225 Yes No No No No Yes Yes Yes
226 No Yes No No No Yes Yes Yes
227 Yes Yes No No No Yes Yes Yes
228 No No Yes No No Yes Yes Yes
229 Yes No Yes No No Yes Yes Yes
230 No Yes Yes No No Yes Yes Yes
231 Yes Yes Yes No No Yes Yes Yes
232 No No No Yes No Yes Yes Yes
233 Yes No No Yes No Yes Yes Yes
234 No Yes No Yes No Yes Yes Yes
235 Yes Yes No Yes No Yes Yes Yes
236 No No Yes Yes No Yes Yes Yes
237 Yes No Yes Yes No Yes Yes Yes
238 No Yes Yes Yes No Yes Yes Yes
239 Yes Yes Yes Yes No Yes Yes Yes
240 No No No No Yes Yes Yes Yes
241 Yes No No No Yes Yes Yes Yes
242 No Yes No No Yes Yes Yes Yes
243 Yes Yes No No Yes Yes Yes Yes
244 No No Yes No Yes Yes Yes Yes
245 Yes No Yes No Yes Yes Yes Yes
246 No Yes Yes No Yes Yes Yes Yes
247 Yes Yes Yes No Yes Yes Yes Yes
248 No No No Yes Yes Yes Yes Yes
249 Yes No No Yes Yes Yes Yes Yes
250 No Yes No Yes Yes Yes Yes Yes
251 Yes Yes No Yes Yes Yes Yes Yes
252 No No Yes Yes Yes Yes Yes Yes
253 Yes No Yes Yes Yes Yes Yes Yes
254 No Yes Yes Yes Yes Yes Yes Yes
255 Yes Yes Yes Yes Yes Yes Yes Yes

Note: The table lists values for up to 8 cores, but the cvar supports up to 32 cores with a max value of 4294967295.

Setting WoW to run on all cores[edit]

Important: Intel and AMD have both recently in last few years dramatically changed which processor models support HT, especially in lower model processors. As of 2017, nearly all new major brand processors will have something similar to HT, or more than one logical processor per core. Also, cores and HT can be disabled for the system, even if you know the maximum your processor model supports.

Firstly, knowing how many actual logical core you have is important to knowing which mask to use. The easiest way on a PC to tell how many system logical cores are running, is to open Task Manager and switch to the Performance tab (and then "CPU" on win 8 and 10) and read the number logical processors value. As an aside, setting a mask for a larger value than the number of logical cores you have, should produce the same result. So setting value to "7" would limit WoW to first 4 logical cores available, would still be safe and produce the same result of up to 4 cores as available on any CPU.

  • Dual-cores without HT, Core 2 Duos, most older Pentiums, i3s, and i5s, some i7s (2c):
   SET processAffinityMask "3"
  • Tri-cores without HT, many older AMD (3c):
   SET processAffinityMask "7"
  • Quads without HT, some older i5s and i7s (4c):
   SET processAffinityMask "15"
  • Quads with HT, many older i7s (4c/8t):
   SET processAffinityMask "255"
  • Hex-Core with HT (6c/12t)
   SET processAffinityMask "1344"
  • 16-core / Generic 8-core hyper-threaded (8c/16t):
   SET processAffinityMask "65535"

Optimal settings for multi-core processors (pre-3.3.2)[edit]

Originally pre-2010, the general idea was to not only enable wow for all cores, but to also limit each physical core to one logical core, in an attempt to avoid letting WoW use HT or Hyper-Threading. Even though the original issues no longer exist post-3.3.2, the affinity mask itself is well documented, and still a hot topic in general inside and outside of WoW. Limiting the number of wow cores can still be a useful tool as a form of throttling WoW, or dealing with WoW specific performance/cooling, animation, or GPU issues, or for running VMs, or can even help in running multiple games at the same time.

Here are the original pre-2010 optimal settings for reference:

  • Dual-cores (both of the 2 logical):
   SET processAffinityMask "3"
  • Tri-cores & i5s (all 3 logical):
   SET processAffinityMask "7"
  • Quad-cores no HT (all 4 logical):
   SET processAffinityMask "15"
  • I7s with HT enabled (primary logical of every physical core, 4 total, bits 01010101):
   SET processAffinityMask "85"
  • 16-core/8-core hyper-threaded (primary logical of every physical core, 8 total, bits 0101010101010101):
   SET processAffinityMask "21845"

AMD Ryzen[edit]

Summit Ridge and Pinnacle Ridge[edit]

Processors based on AMD Zen microarchitecture are internally divided into two core complexes (CCX) with separate cache. Running WoW on a single CCX can improve performance by reducing cache latency. FPS improvement is around 10% in CPU-bound areas.

  • 4-core/4-thread (all Ryzen 3):
   SET processAffinityMask "12"
  • 4-core/8-thread (Ryzen 5 1400/1500/2500):
   SET processAffinityMask "240"
  • 6-core/12-thread (Ryzen 5 1600/2600):
   SET processAffinityMask "4032"
  • 8-core/16-thread (all Ryzen 7):
   SET processAffinityMask "65280"

Raven Ridge and Threadripper[edit]

Ryzen processors with integrated graphics (with a "G" in the model number) have a single CCX so no mask should be set. Threadripper processors contain more CCX.

Patch changes[edit]