|
It's well known that SC2 is a very CPU-hungry game. But until now I never had any solid data to prove how much CPU affected it. I did a couple of simple benchmarks tonight, showing how much impact a CPU overclock had on SC2 performance.
All benchmarks were taken using 1680 x 1050, Intel Core i5 2500K, 4 GB DDR3-1600 and a NVIDIA GTX 560 Ti, custom graphics settings (mostly High) running Windows 7 64 bit with Aero disabled.
+ Show Spoiler [Old Results] +All benchmarks were taken using the Unit Preloader map. XSplit was running in the background with an empty scene. Benchmarks results were taken from the first 40 real seconds of the Unit Preloader map sequence running at "Faster" speed, measured by FRAPS. The first two runs of the map were discarded to ensure everything had preloaded.
Stock (3300 MHz): Avg: 96.325 - Min: 55 - Max: 152
Stock Max Turbo (3700 MHz): Avg: 100.450 - Min: 59 - Max: 157
Overclocked (4000 MHz): Avg: 99.975 - Min: 50 - Max: 164
Overclocked (4400 MHz): Avg: 114.025 - Min: 69 - Max: 179
I'm going to call the 4000 MHz result an outlier as I only ran each test once and it's possible something in the background competed for CPU time as it doesn't make sense why the average FPS would be lower at 4000 vs 3700. An overclock of 4400 MHz gives 14 more minimum FPS and an average increase of almost 20 FPS. Not as big of a difference as I expected to be honest, but then again the Unit Preloader map may rely more on the GPU as there are no pathfinding algorithms or other calculations going on that stress the CPU. Since it's hard to re-create playing conditions accurately, this will have to do for now.
UPDATE: I repeated the experiment with a late game ZvZ replay with maxed armies:
3300 MHz: Avg: 41.925 - Min: 27 - Max: 58
3700 MHz: Avg: 46.625 - Min: 32 - Max: 63
4400 MHz: Avg: 56.025 - Min: 39 - Max: 77
If you have an i5 / i7 series CPU and haven't overclocked, a cheap $30 CPU cooler and a mild overclock could get you a rather nice FPS boost for relatively little effort. In addition to increasing SC2 FPS, overclocking will help with streaming too which is also very CPU hungry. As always, overclock at your own risk - if you aren't sure what you're doing, find a friend who does.
As part of this experiment, I was also investigating how many threads SC2 is able to take advantage of. It's clear that two cores is a huge improvement, but three cores also offered a very small (5 FPS) increase over just two cores. Also of note, it appears SC2 has its own logic that disables use of hyperthreaded CPU cores so that two threads won't get scheduled to the same physical CPU.
In combination with xsplit or other CPU intensive programs running on an i7, you could achieve better core throughput by making sure that nothing else is using the same physical CPU cores as SC2 (eg assign Core 0 and Core 2 to SC2 and make sure xsplit isn't using Core 0,1,2,3). Manually setting affinity only seems to provide a performance boost when hyperthreading is enabled, I was unable to measure any difference on my i5.
Another thing I found interesting (diverging into an xsplit blog here...) is that disabling the virtual camera in xsplit settings resulted in 5-10 FPS increase at idle, even if no application was using the virtual camera. Disabling Aero gave 5 FPS increase at idle, presumably because the GPU isn't having to render Windows elements.
I'd like to test how memory bandwidth affects SC2 performance too, especially when streaming. Unfortunately since this requires a reboot after each change, I don't have the patience to benchmark this . I'd recommend downloading CPU-z and checking the Memory tab just to be sure you're running Dual Channel if you have two or more sticks of RAM. Depending on where the memory is physically installed, you could actually be running Single Channel by accident - I encountered this today while trying to figure out an FPS issue. Consult your motherboard manual to find out which slots you should use for dual channel to work correctly.
   
|
|
From personal experience, a .3mhz overclock on an AMD phenom II BE yielded 8-12fps in "heavy load" situations, although that was a thoroughly non scientific survey of it.
|
R1CH, oh god of everything techy... is there a way to automatically set core affinity? Its a bitch manually doing it every time you load up SC2. In the name of Starcraft we pray, Amen.
|
yay rich posts! Actually your findings are kind of neat, how we can salvage that extra fps. Not sure if this will work, but have you tried using a replay? Doesn't the game just take the list of commands and run them again like its a real game?
|
On August 17 2012 12:32 emythrel wrote: R1CH, oh god of everything techy... is there a way to automatically set core affinity? Its a bitch manually doing it every time you load up SC2. In the name of Starcraft we pray, Amen. There are several programs that can set affinity for you on a per-program basis such as Microsoft's own psexec. Keep in mind that although this is recommended often, it only has benefits when using hyperthreading. The Windows scheduler is usually smart enough when it comes to core dispatch that setting affinities for SC2 might be hurting performance of something else (eg xsplit).
|
r1ch,i have a 2500k running at 3.8gz with the stock cooler, if i wanted to go higher would i 'need' an aftermarket cooler to ensure stability? and is it possible to stream in 1080p with a 2500k?
i could probably answer these myself but its 5am and i dont want to get up
|
I dont really understand anything but I read it anyway for some reason. Very interesting probably!
+ Show Spoiler +I like R1CH - he just seems so lifelike.
|
Yeah, RAM differences were kind of bland, for something so CPU dependent.
|
I'm more interested in the RAM bandwidth and it's effect on streaming as moving full HD @ 30fps around has to be pretty bandwidth intensive.
|
On August 17 2012 13:15 R1CH wrote: I'm more interested in the RAM bandwidth and it's effect on streaming as moving full HD @ 30fps around has to be pretty bandwidth intensive.
Ah, fair enough. Yeah, I actually found a fairly easy way to manage it, with an SSD for booting, was to just save multiple BIOS profiles, and just ran through them in order.
It's frustrating, though, on tasks like that, since you have to either have a clean benching install of your OS, or you have to make sure you manually configure processes for each run to be as identical as possible. Margin of error is so damn narrow on RAM testing.
|
I really dig your test, for the following reasons: I have an i5 I have a gtx560ti I have 8gb ram@1600 My cpu is overclocked at 4.4 GHz.
Can't complain when the man is telling me my computer is good for starcraft. Nope.
|
I know very little about tech, but from the very general implications, I can only assume that this is one of the main reasons I can't run SC2 on my laptop on any settings. Core 2 Duo 1.67 GHz but 8600M GT lol...woohoo. Still an interesting read~
|
I have the same specs as you just 8GB ram, never overclocked before but might give it a shot once my warranty runs out and PC is getting a little outdated. Don't really have the need for it atm, although the 15 FPS boost to min FPS does sound pretty huge.
|
Core2Duo ~3.6GHz > QuadCore ~3GHz? Most games don't use 4 cores really good, SC2 the same?
|
On August 17 2012 19:14 Unibrow88 wrote: Core2Duo ~3.6GHz > QuadCore ~3GHz? Most games don't use 4 cores really good, SC2 the same?
Yes, Starcraft II is the same.
|
On August 17 2012 19:35 skyR wrote:Show nested quote +On August 17 2012 19:14 Unibrow88 wrote: Core2Duo ~3.6GHz > QuadCore ~3GHz? Most games don't use 4 cores really good, SC2 the same? Yes, Starcraft II is the same.
It becomes a different issue when streaming though, I'm pretty sure those extra cores come in handy then.
|
On August 17 2012 19:35 skyR wrote:Show nested quote +On August 17 2012 19:14 Unibrow88 wrote: Core2Duo ~3.6GHz > QuadCore ~3GHz? Most games don't use 4 cores really good, SC2 the same? Yes, Starcraft II is the same.
Thats why I'm really happy with my Core2Duo E8400 :D
|
On August 17 2012 19:14 Unibrow88 wrote: Core2Duo ~3.6GHz > QuadCore ~3GHz? Most games don't use 4 cores really good, SC2 the same? All of the processors mentioned in the article are way more efficient than an actual core2duo, skry assumed you were comparing it to a core2quad with similar cache sizes and the same IPC. A 3 gHz sandy or ivy bridge will demolish a 3.6 gHz core2duo in single threaded benchmarks, the days of clockspeed being the only factor were about 15 years ago.
|
On August 17 2012 12:25 R1CH wrote: Disabling Aero gave 5 FPS increase at idle, presumably because the GPU isn't having to render Windows elements.
Only because of windowed mode. Aero unloads if you run a fullscreen app and no fps is lost. Really only matters to people struggling where 5fps makes the difference between playable or not, should never run in windowed mode.
On August 17 2012 12:45 turdburgler wrote: r1ch,i have a 2500k running at 3.8gz with the stock cooler, if i wanted to go higher would i 'need' an aftermarket cooler to ensure stability? and is it possible to stream in 1080p with a 2500k?
i could probably answer these myself but its 5am and i dont want to get up
You'd have to monitor temps as they are now and predict a 10~c increase at least, at anywhere near 4ghz, right r1ch? Can't afford my own i5 setup to do this myself
|
First time I ran the preloader I thought "this would be good for benchmarking" :D Glad to see someone do it and nice to see the results (I'll definitely be focusing on the cpu for my next upgrade).
|
On August 17 2012 20:55 Unibrow88 wrote:Show nested quote +On August 17 2012 19:35 skyR wrote:On August 17 2012 19:14 Unibrow88 wrote: Core2Duo ~3.6GHz > QuadCore ~3GHz? Most games don't use 4 cores really good, SC2 the same? Yes, Starcraft II is the same. Thats why I'm really happy with my Core2Duo E8400 :D
You're still bottlenecked by that CPU, especially when there's lots of units in game.
|
Could the fps increase from running 3 cores be due to background processes utilizing the third, thus saving CPU time on the two for sc2?
|
On August 18 2012 00:40 caradoc wrote: Could the fps increase from running 3 cores be due to background processes utilizing the third, thus saving CPU time on the two for sc2? I'm sure background processes will still use all cores unless affinity is specified.
|
thats a really good benchmark map ( unit preloader ) didnt came to my mind to use it that way, will try some things out to find out what works best for my pc!
|
Rich how are you able to control how many cores SC2 uses?
|
On August 17 2012 19:14 Unibrow88 wrote: Core2Duo ~3.6GHz > QuadCore ~3GHz? Most games don't use 4 cores really good, SC2 the same? where did you get that crap from? that was 3 years ago, no matter how many cores are used, a quadcore is much faster than shitty old e8400.
the majority of games nowadays use quadcore
|
I'm hoping some of this advice is bad so we can see the return of R1CH's stamp 
Some of it is contradictory so maybe...?
|
I repeated the experiment with a late game ZvZ replay with maxed armies:
3300 MHz: Avg: 41.925 - Min: 27 - Max: 58
3700 MHz: Avg: 46.625 - Min: 32 - Max: 63
4400 MHz: Avg: 56.025 - Min: 39 - Max: 77
|
Very interesting read, R1CH. I tested the very same setups on my rig:
Intel i7 2600k, cooled by a Corsair H80 Motherboard MSI Z68A-GD55 (G3) 8GB RAM XFX Radeon HD 7850 2GB x2 @ Crossfire
Got nearly the same results as you. Selecting cores for each process (Cores 0 and 1 for SC2 and 4-7 for XSplit) gets a slight improvement, at around 3-5FPS each. The only issue will be the temperature in the CPU under those loads, haven't tested that... It will be interesting to see the diferences. Very, very good read.
|
How would tri-channel ram (i7 920 ftw?) effect things, any ideas?
Is there an easy way to set my memory to be dual to test?
(experienced OC'er but too lazy too look that up )
I can confirm the results (at least support them),
My setup:
i7 920 c0 stepping 12 gigs of 1600mhz ram (gskill sniper) (3 sticks) SSD on Sata 3 Nvidia GTX 560
In order to max out my 120 fps I have to adjust some settings in sc2 down and have a min clock of 3.6ghz. If I am below 3.6ghz it doesnt matter what settings I use, I will hit below 120 fps when max armies in a 1v1 occur.
Wish I had my notebook where I tested it all cuz I did just that last xmas when I got my monitor.
|
On August 18 2012 14:58 vaderseven wrote:How would tri-channel ram (i7 920 ftw?) effect things, any ideas? Is there an easy way to set my memory to be dual to test? (experienced OC'er but too lazy too look that up  ) I can confirm the results (at least support them), My setup: i7 920 c0 stepping 12 gigs of 1600mhz ram (gskill sniper) (3 sticks) SSD on Sata 3 Nvidia GTX 560 In order to max out my 120 fps I have to adjust some settings in sc2 down and have a min clock of 3.6ghz. If I am below 3.6ghz it doesnt matter what settings I use, I will hit below 120 fps when max armies in a 1v1 occur. Wish I had my notebook where I tested it all cuz I did just that last xmas when I got my monitor.
The x58 Chipset is tri channel memory, most motherboards are setup so that the RAM should be installed in every other slot, starting with the furthest slot from the CPU socket. If you pull up CPU-Z you should be able to see if you're running in triple channel mode or not.
I would also look into getting an after market cooler like the Corsair H70 or 120, as that should allow you to push past 4.0Ghz pretty easily, I'm stable at 4.4Ghz on an H70 (however I have a D0 chip).
Edit: I think I misunderstood your question, if you're asking how much of a performance gain you get by utilizing tri channel RAM as opposed to single or dual channel, then the answer is not much. Unless you're streaming there isn't a whole lot of texture loading and unloading to be done in SC2 (as far as I know), which would mean memory bandwidth is unlikely to ever bottleneck your performance. Streaming, however, is a different story, and most likely would be significantly impacted if memory bandwidth were limited.
|
SC2 doesnt actively seek to disable hyperthreading.
Its just that SC2 threads arent half sized so the entire physical core gets used. Hyperthreading is merely putting two instructions on the same CPU if they both can fit.
On August 18 2012 00:40 caradoc wrote: Could the fps increase from running 3 cores be due to background processes utilizing the third, thus saving CPU time on the two for sc2?
Yes thats exactly correct. Sc2 only uses 2 threads. So one core for everything else on the system will yield a measurable performance gain. In fact so will a 4th core but the impact is 5 percent of that previous 5 percent. And then a fifth core would be 5 percent of 5 percent of 5 percent and so on.
So for AMD octo cores. That 8th core is giving you a fraction of a fraction of a fraction of a fraction of a fraction of a fraction of an amount of performance increase.
|
This is blogs not the suppy fanclub
|
I never understand anything of your post, but I read them none the less because its you.
On a side note: Maybe you could get the TL Knowhow section going?
|
Hello!
I think to complete this experiment it would be great to test stability of overclocked CPU as well. Maybe use prime or similar program to confirm overclocked CPU stability.
|
On August 17 2012 12:25 R1CH wrote: As part of this experiment, I was also investigating how many threads SC2 is able to take advantage of. It's clear that two cores is a huge improvement, but three cores also offered a very small (5 FPS) increase over just two cores. Also of note, it appears SC2 has its own logic that disables use of hyperthreaded CPU cores so that two threads won't get scheduled to the same physical CPU.
In combination with xsplit or other CPU intensive programs running on an i7, you could achieve better core throughput by making sure that nothing else is using the same physical CPU cores as SC2 (eg assign Core 0 and Core 2 to SC2 and make sure xsplit isn't using Core 0,1,2,3). Manually setting affinity only seems to provide a performance boost when hyperthreading is enabled, I was unable to measure any difference on my i5.
So: what are the recommended affinity settings on an i7 for streamers? Let SC2 do what it wants (which on startup for mis to always have affinity on 0,2,4,6) and give XSplit affinity for cores 4-7?
EDIT: and should I do the same thing with VHMultiWriter.exe (one of XSplit's child processses)?
|
as a player who plays most of the times 4v4 with friends i am curious about the fps increases in 4v4 maxed out scenarios. as your results show, the more load is on the cpu, the more it benefits from the oc. so in 4v4 lategames with even less fps the difference should be the biggest. while you're at it it would be nice if you could test this too... plsss...;-)
|
On August 20 2012 07:22 cari-kira wrote: as a player who plays most of the times 4v4 with friends i am curious about the fps increases in 4v4 maxed out scenarios. as your results show, the more load is on the cpu, the more it benefits from the oc. so in 4v4 lategames with even less fps the difference should be the biggest. while you're at it it would be nice if you could test this too... plsss...;-) i don't think so tbh. Why? because the framerate is quite low already, the higher you go (maxed out settings at 4vs4) the less frames you get, and it's harder to compare for example 24 vs 25 frames than 52 to 66 frames per second
|
Can I ask why Rich specifically mentions Aero being disabled for these tests? Does Aero have any impact on SC2 performance?
|
On August 20 2012 18:10 Gandalf wrote: Can I ask why Rich specifically mentions Aero being disabled for these tests? Does Aero have any impact on SC2 performance?
Short answer, yes. It reduces performance on almost all things, albeit slightly
Although i think only with windowed mode (?)
|
I honestly see no reason what so ever to overclock your cpu to play 1v1 starcraft. higher numbers are nice but heat at this time of year is not. 40 min fps is plenty.
|
On August 20 2012 18:10 Gandalf wrote: Can I ask why Rich specifically mentions Aero being disabled for these tests? Does Aero have any impact on SC2 performance?
Yes, it does (at least when playing windowed or windowed fullscreen. Not sure about fullscreen).
|
On August 21 2012 01:10 ZeroTalent wrote:Show nested quote +On August 20 2012 18:10 Gandalf wrote: Can I ask why Rich specifically mentions Aero being disabled for these tests? Does Aero have any impact on SC2 performance? Yes, it does (at least when playing windowed or windowed fullscreen. Not sure about fullscreen).
R1CH tested a streaming scenario (xsplit was running). Since you have to use sc2 in windowed mode when streaming, it makes sense to disable aero. Having aero on should have no effect on sc2 performance in fullscreen (when only one screen is in use that is).
On August 20 2012 23:20 SaWse wrote: I honestly see no reason what so ever to overclock your cpu to play 1v1 starcraft. higher numbers are nice but heat at this time of year is not. 40 min fps is plenty.
It might not make sense with R1CH's setup, but it surely does when you have trouble running the game with decent fps. Also, and I might be a little sensitive about things like that, I can easily tell the difference between 40 and 50 fps (let alone huge fps drops for a second).
|
United States17042 Posts
On August 17 2012 13:00 Bibbit wrote:+ Show Spoiler +I like R1CH - he just seems so lifelike.
he's pretty lifelike in real life as well. I think.
|
You ask why overclock if you have high min fps already, but I ask, why not? I have a i5-2500k and I just use a 24/7 overclock to 4.4ghz- especially since I have a pretty decent chip and it's stable at 1.22v, there is really no reason not to have it overclocked, since it's not like I'm "shortening the lifespan" of the chip at that voltage, and I get low temperatures with a simple $20 (after rebate) air cooler. Maybe it draws more power, but that's probably very negligible.
|
On August 23 2012 02:39 fritfrat wrote: You ask why overclock if you have high min fps already, but I ask, why not? I have a i5-2500k and I just use a 24/7 overclock to 4.4ghz- especially since I have a pretty decent chip and it's stable at 1.22v, there is really no reason not to have it overclocked, since it's not like I'm "shortening the lifespan" of the chip at that voltage, and I get low temperatures with a simple $20 (after rebate) air cooler. Maybe it draws more power, but that's probably very negligible.
there is a very big reason to not do thi and its the energy waste.
|
|
|
|
|