Page 1 of 3
1
2
3
LastLast
  1. #1
    Moderator Cilraaz's Avatar
    15+ Year Old Account
    Join Date
    Feb 2009
    Location
    PA, USA
    Posts
    10,139

    processAffinityMask Testing

    So, I saw a few times today where people were mentioning the possibility of gaining a good bit of framerate by setting your processAffinityMask to not use core 1. I thought it sounded insane, but decided to test it out anyway. Here are my results:

    Hardware Being Tested
    Intel Core i5 750 @ 3.8GHz (200MHz BCLK, 19x multiplier)
    4GB G.Skill DDR3 @ 1600MHz; 9-9-9-24-2T timings
    XFX Radeon HD 5770 @ stock

    Background Processes
    Chrome with 21 open tabs (my normal browser load)
    Notepad++ for note taking and config.wtf modifications
    MSPaint for screenshot management
    Task Manager for monitoring core utilization

    Test Process
    I decided not to go with anything overly scientific. If the framerate gain was going to be anything palpable, it would be noticeable simply by standing in front of the AH in Orgrimmar at peak time. The test was done on the US-Rexxar realm. Framerate averages were done over a 60 second period. My character was not moved during or between any test (nor was the camera angle changed). Obviously other characters moved, but again, if the framerate gain was enough to worry about, it should still be noticeable.

    Cores are noted as 1, 2, 3, and 4. Scientifically, they should be 0, 1, 2, and 3, but it's just easier to read this way. All "spikes" mentioned in the below notes were spikes in utilization percentage. The screenshot of CPU utilization was done while idling in game, rather than during any stressful part of the load.

    processAffinityMask "15" (Control, as it was already in my config.wtf, all cores enabled)
    Average Framerate - 55
    Notes: I noted a spike on core 1 after entering my username and password. While the character was loading into game, I noted a small spike on cores 1 and 4. As the character entered the game and became playable, I noted a large spike on core 1.
    CPU Utilization:


    No processAffinityMask Entry
    Average Framerate - 58 (+5.4%)
    Notes: I noted no real spike after entering my username and password. While loading into game, I noted a spike in cores 1 and 4. As the character entered the game and became playable, I noted a large spike on core 1. Overall, fairly similar to processAffinityMask "15".
    CPU Utilization:


    processAffinityMask "14" (cores 2, 3, and 4 enabled)
    Average Framerate - 57 (+3.6%)
    Notes: I noted a small spike on core 4 after entering my username and password. While loading into game, I noted a spike in cores 2, 3, and 4. As character entered game and became playable, I noted a large spike in core 4. I also noticed (subjectively) that the game loaded noticeably faster (more on this later).
    CPU Utilization:


    processAffinityMask "12" (cores 3 and 4 enabled)
    Average Framerate - 55 (+0%)
    Notes: I noted a small spike on cores 3 and 4 after entering my username and password. While loading into game, I noted a spike in cores 3 and 4. As character entered game and became playable, I noted a large spike in cores 3 and 4. I also noticed (subjectively) that the game loaded noticeably faster (more on this later). Once in game, core utilization was noticeably higher than when a total of 3 or 4 cores were available to the game.
    CPU Utilization:


    processAffinityMask "7" (cores 1, 2, and 3 enabled)
    Average Framerate - 58 (+5.4%)
    Notes: I noted a small spike on cores 1, 2, and 3 after entering my username and password. While loading into game, I noted a large spike in cores 1 and 3. As character entered game and became playable, I noted a large spike in cores 1, 2, and 3. I also noticed (subjectively) that the game loaded noticeably slower again, similar to processAffinityMask "15" or no entry (more on this later).
    CPU Utilization:


    processAffinityMask "6" (cores 2 and 3 enabled)
    Average Framerate - 56 (+1.8%)
    Notes: I noted a small spike on cores 2 and 3 after entering my username and password. While loading into game, I noted a large spike in cores 2 and 3. As character entered game and became playable, I noted a large spike in cores 2 and 3. I also noticed (subjectively) that the game loaded noticeably faster again, similar to processAffinityMask "14" and "12" (more on this later). Once in game, core utilization was noticeably higher than when a total of 3 or 4 cores were available to the game.
    CPU Utilization:


    Load Times
    After noting subjectively that the load times seemed faster when core 1 was not in use, I decided to time how long it took my character to load into game. I loaded with no processAffinityMask entry, a setting of 15 (all cores), and a setting of 14 (cores 2, 3, and 4). The timer was stopped when the game world was viewable, not when characters were fully loaded or high-res textures were fully loaded, as that would be testing I/O and not CPU. Each was done three times and the average value is shown below:
    • processAffinityMask "15": 15 seconds
    • No processAffinityMask Entry: 15 seconds (+/- 0%)
    • processAffinityMask "14": 11 seconds (-26.7%)

    Conclusions/Results
    Well, it seems like there is no real framerate gain to be had by doing this on a non-Hyperthreaded CPU. Removing the virtual cores from being used on a Hyperthreaded CPU may show some gain, but I have no way of testing that. The maximum framerate change was 3fps, or 5.4%, which is easily within margin of error, considering the lack of control I had over other characters in the game. The odd thing seems to be the load times. Logically, there's no reason that eliminating core 1 from being used should lower the game's load time, since that's mainly I/O based while addons are loaded. I'm also not certain if there's some odd caching going on in the OS that's letting it load faster at some times. The results seem pretty conclusive, though.

    Again, I have no way of knowing if framerate gains are to be had by changing processAffinityMask on a Hyperthreaded CPU. I simply don't have the hardware to test. If you'd like to test it, please feel free. Try to keep the test similar to mine, however, as that would give the most uniform results. Any feedback, thoughts, observations, or critiques are also welcome, if they're constructive.

  2. #2
    Interesting. I will probably try to conduct testing of this myself. I want to say tonight, but it's 3.30am, and I need my sleep, and my schedule is full tomorrow (arena, orgrimmar-raids, RL-stuff), and going away a week starting Monday.
    If my memory reminds me, I should want to start to try this as soon as possible.

    Your results intrigued me. I shall try to get a sample-size of ~4-8 per setting. I will also try it with VSync disabled, in a pre-designated area. Is there any way to monitor average framerates?
     

  3. #3
    Moderator Cilraaz's Avatar
    15+ Year Old Account
    Join Date
    Feb 2009
    Location
    PA, USA
    Posts
    10,139
    Quote Originally Posted by tetrisgoat View Post
    Is there any way to monitor average framerates?
    I used fraps to capture a 60 second timeslice and calculate the average for me.

  4. #4
    Deleted
    Quote Originally Posted by Cilraaz View Post
    I'm also not certain if there's some odd caching going on in the OS that's letting it load faster at some times.
    You did account for Superfetch I hope?

  5. #5
    Quote Originally Posted by Cilraaz View Post
    I used fraps to capture a 60 second timeslice and calculate the average for me.
    I figured as much. Regrettably, I don't have the money for that.
    I assume the 30second-trial is too short to be conclusive.
    I also have WoW on an SSD, so the differences in loadtimes when it's at 5-6 seconds already i quite indiscernable, I imagine. D:
    I'll poke around some tomorrow.
     

  6. #6
    Moderator Cilraaz's Avatar
    15+ Year Old Account
    Join Date
    Feb 2009
    Location
    PA, USA
    Posts
    10,139
    Quote Originally Posted by DarkXale View Post
    You did account for Superfetch I hope?
    Superfetch caching addon data? Doubtful. Superfetch caches the most commonly used executables, not data those executables access. Also, it wouldn't account for the increase in load time from processAffinityMask "12" to processAffinityMask "7". Tests were done in the order listed.

  7. #7
    Legendary! llDemonll's Avatar
    15+ Year Old Account
    Join Date
    Apr 2008
    Location
    Washington
    Posts
    6,582
    since i've never delved into it, how do i set process affinity masks? i have an i7 920 at stock clocks and would be happy to post results
    "I'm glad you play better than you read/post on forums." -Ninety
    BF3 Profile | Steam Profile | Assemble a Computer in 9.75 Steps! | Video Rendering Done Right

  8. #8
    Quote Originally Posted by llDemonll View Post
    since i've never delved into it, how do i set process affinity masks? i have an i7 920 at stock clocks and would be happy to post results
    There is a guide here http://www.mmo-champion.com/threads/...tweaks...Guide

  9. #9
    What setting would you recommend for an i7 sandy bridge laptop?
    [23:43:22] [P] [85:Bowsjob]: If its between 2 holy pallys its gonna be a gear fight most likely

  10. #10
    Dreadlord H3ll's Avatar
    15+ Year Old Account
    Join Date
    Apr 2009
    Location
    The Netherlands
    Posts
    817
    Quote Originally Posted by nwo View Post
    What setting would you recommend for an i7 sandy bridge laptop?
    Return it, sandy bridge cpu's have a huge problem, read: http://www.engadget.com/2011/01/31/i...ments-stopped/

  11. #11
    Hmm, this is quite interesting.

    I imagined that altering this setting would just give you a decrease in performance since you are essentially limiting Microsoft's scheduling algorithm to a specified number of cores. Seeing as how it has minimal effect, I imagine any performance gains solely relies on the OS's ability to multiplex the process to a proper core.

    I doubt Blizzard would be silly enough to purposely limit themselves to Core 0.

  12. #12
    Scarab Lord Wries's Avatar
    10+ Year Old Account
    Join Date
    Jul 2009
    Location
    Stockholm, Sweden
    Posts
    4,127
    Quote Originally Posted by H3ll View Post
    Return it, sandy bridge cpu's have a huge problem, read: http://www.engadget.com/2011/01/31/i...ments-stopped/
    The CPU's don't have any problem. The chipset controller for SATA 3Gbps is. Many laptops may not use this controller and are thus unaffected. Best thing to do is to wait for the manufacturer of the laptop to give a statement about what type of SATA ports were used when building it.

    Furthermore I can witness to that in W7, WoW does get way faster loading screens after you've recently closed the game and reopened. It probably doesn't get erased from the system ram.

    Think I will try this with my i7 tonight. I'm already fairly certain that either W7 or WoW itself places at least most of the computing on the physical cores without any manual processAffinity being set, but statistics are always juicy.

  13. #13
    Deleted
    Chrome with 21 open tabs (my normal browser load)
    ?

    Post requires 10 characters but i have nothing more to say.

  14. #14
    Quote Originally Posted by Reguilea View Post
    ?

    Post requires 10 characters but i have nothing more to say.
    What's wrong with that? I typically have at least 10 open myself. A few youtube songs/videos, a few forum tabs, e-mail, etc, it all adds up
    [23:43:22] [P] [85:Bowsjob]: If its between 2 holy pallys its gonna be a gear fight most likely

  15. #15
    The Lightbringer Asera's Avatar
    15+ Year Old Account
    Join Date
    Aug 2008
    Location
    This side of an imaginary line in the sand
    Posts
    3,741
    With tab stacking in Opera 11 I end up having 30 or 40 tabs open sometimes without realizing.. @_@
    red panda red panda red panda!

  16. #16
    Hey what would be the ProcessAffinityMask to make sure WoW do not use any ''HT Core'' on a i7 ??

  17. #17
    Deleted
    What's wrong with that? I typically have at least 10 open myself. A few youtube songs/videos, a few forum tabs, e-mail, etc, it all adds up
    How can you listen to many songs at once? I dont use Youtube for music anyway.
    Winamp.

    Anyway i cant even think of 22 websites that i visit..

  18. #18
    The Lightbringer Asera's Avatar
    15+ Year Old Account
    Join Date
    Aug 2008
    Location
    This side of an imaginary line in the sand
    Posts
    3,741
    *deep breath*

    mmo champion (2-3 tabs)
    Youtube (anywhere from 1-5 tabs, if people are linking me music to try, I leave them open instead of copying the band down cause I am bad!)
    Gmail (Temporarily due to my exchange server being down)
    wikipedia (usually 2 tabs, browse at work when bored to gets the infos)
    nhl.com
    battle.net (2 tabs, usually armoury and the forums)
    XKCD, C&H, VGCats... (usually not all at the same time)
    My friends file hosting page
    various things I've googled/binged and forgot about.
    Fedex.com tracking (work)
    Federal Standard Colour System page
    Pantone PMS Colour System page
    XDA Developers

    yeah...
    red panda red panda red panda!

  19. #19
    Deleted
    Quote Originally Posted by Asera View Post
    With tab stacking in Opera 11 I end up having 30 or 40 tabs open sometimes without realizing.. @_@
    Now where the fuck did I put...

    Oh.

    Kinda had to start using Session Saves after that. (And use the Speed dial with autorefresh active)

  20. #20
    I'm not very technical, but my brother put SET AffinityMask "80" into my Config after reading the guide what came up a week or so ago and my FPS went up slightly, something to do with running WoW from Core 2&3 but not 1(or something like that). If this makes any sense to you, hope it 'helped' in some way.

    *This was just stood in Hyjal my FPS went from about 39-46 to 42-50ish(just stood still out of combat - not got a great PC) with nothing changing but that line into config.

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •