Log in

View Full Version : [WoW] CPU core affinity



Ughmahedhurtz
08-28-2009, 12:57 AM
Just in case some of you use triple/quad core processors and don't use a software app that automagically distributes WoW's CPU affinity across your cores, here's a bit of into on setting up wow to do this for you.

http://forums.worldofwarcraft.com/thread.html?topicId=1778017311&ST=US-2827325-LXWTbKxu4bk0WfXlatDdUhFvjhwnNYFhfHk&rhtml=true

The TL;DR version:


Open C:\games\wow\WTF\Config.wtf file.
find "processAffinityMask"
Default is set to "3" which uses CPU cores 1 and 2
To change it to use cores 3 and 4, change value to "12"
To change it to use cores 2 and 3, change value to "6"
To change it to use cores 1 and 3, change value to "5"

See thread for other combinations and caveats.

TL;DR Part Dos, aka "No, I'm not wrong. And yes, you might think you're doing it right, but you're really Doing It Wrong(tm)."

You can use this to let WoW run on a specific core(s) but it only works up to two cores. If you set it on 15, you just let the game use 2 out of your 4 processors but you didn't tell it which ones.

Q u o t e:


So if I am understanding correctly, WoW still only uses two cores, while Windows will, instead of using the same two 'default' cores, be split into other, unused, cores?

Core 1-----Core 2------Core 3------Core 4
WoW--------WoW---------Windows etc.

I dont know much about this whole thing but bottom line, when will WoW itself use four-cores?World of Warcraft is capped to two cores because we set the default processaffinitymask to 2. There's actually quite a few threads that the game runs but mainly 2 or 3 decent-sized ones and a dozen little ones. Windows can distribute all of these among other cores if you tell it to but you can't specifically tell what thread will go where.
Note the part in bold/underline in that last sentence. It is a critical point. ;) I leave the why as an exercise to the reader.

jeffz0rz
08-28-2009, 07:27 AM
whoops... wish I could delete my posts.. asked a question before I read the link

disregard

Moorea
08-28-2009, 02:30 PM
basically use 255 and you're done for up to 8 cores (i7)

DrChaos
08-28-2009, 04:47 PM
is it possible to make it use more then 2 at a time?

Ughmahedhurtz
08-28-2009, 10:12 PM
basically use 255 and you're done for up to 8 cores (i7)
No. Unless something has changed that I haven't seen a blue post on, WoW will only use the first two cores that it is assigned affinity to. If you want it to use cores 3 and 4, you MUST assign affinity to cores 3 and 4 ONLY.

Tonuss
08-28-2009, 11:05 PM
basically use 255 and you're done for up to 8 cores (i7)
Is that what they use? God, I remember using 8-bit notation to design fonts for the Commodore 64. :o

Moorea
08-28-2009, 11:16 PM
No. Unless something has changed that I haven't seen a blue post on, WoW will only use the first two cores that it is assigned affinity to. If you want it to use cores 3 and 4, you MUST assign affinity to cores 3 and 4 ONLY.
I use 255 and it works fine - if you don't set anything it will be the first 2 cores (because the value in the config.wtf is 3) which is maybe what you remember

setting 255 assigns affinity to all 8 cores

warwizard
08-28-2009, 11:31 PM
You can also open up TaskMan win Vista and Windows 7 can re assign affinity on the fly

Ughmahedhurtz
08-28-2009, 11:57 PM
I use 255 and it works fine - if you don't set anything it will be the first 2 cores (because the value in the config.wtf is 3) which is maybe what you remember

setting 255 assigns affinity to all 8 cores
If you're saying it's OK because you look in task manager and see a checkbox next to all 4 cores and thinking that means it's actually using all 4 cores, I suspect you'd be mistaken. ;)

Ughmahedhurtz
08-29-2009, 12:17 AM
Well slap my ass and call me sally...I was wrong. Looks like they finally fixed it. 255 or 15 both seem to utilize 4 cores (albeit cores 1, 2 and 4 seem to be used and not much of 3 for some reason), though setting it to 255 causes wow to reset it to 0 when you exit the game the next run. Strange. Either way, this is good!

[edit] For normal Core2Quad Q-series CPUs and AMDs, any setting should work. For i7/nehalem CPUs, 255 affinityMask is bad. You do NOT want WoW using your HT cores--only your physical cores. See this thread for further info (http://forums.worldofwarcraft.com/thread.html?topicId=16904078381&sid=1) on how to set that. See original thread for Blue confirmation that using HT cores = bad.

Ughmahedhurtz
08-29-2009, 12:48 AM
Here's a blue post stating that WoW really doesn't do much with more than 2 cores (http://forums.worldofwarcraft.com/thread.html?topicId=3773499400&pageNo=1&sid=1#4), which I think I misunderstood to say that it was related to affinity. :P My bad! /drunk

[edit] Nope, not THAT /drunk. Original blue that prompted this post (also linked in the OP):

http://forums.worldofwarcraft.com/thread.html?topicId=1778017311&pageNo=1&sid=1#4


You can use this to let WoW run on a specific core(s) but it only works up to two cores. If you set it on 15, you just let the game use 2 out of your 4 processors but you didn't tell it which ones.

Q u o t e:


So if I am understanding correctly, WoW still only uses two cores, while Windows will, instead of using the same two 'default' cores, be split into other, unused, cores?

Core 1-----Core 2------Core 3------Core 4
WoW--------WoW---------Windows etc.

I dont know much about this whole thing but bottom line, when will WoW itself use four-cores?World of Warcraft is capped to two cores because we set the default processaffinitymask to 2. There's actually quite a few threads that the game runs but mainly 2 or 3 decent-sized ones and a dozen little ones. Windows can distribute all of these among other cores if you tell it to but you can't specifically tell what thread will go where.
Note the part in bold/underline in that last sentence. It is a critical point. ;) I leave the why as an exercise to the reader.