Nirilus, its obvious that you really don't understand what a CPU bottleneck is.
A CPU bottleneck doesn't mean that your CPU gets loaded to 100%, and the hardware can't physically execute anymore instructions, of any sort. I means that the software has loaded up as many cores as it can, to the maximum of its parallelization, and those cores cannot execute anymore instructions, because, and this is the part you don't seem to understand, the game is waiting for existing instructions to be processed. This will not necessarily show up at 100% load, although it will show up in the Windows task manager as all cores being roughly even.
There are plenty of games that will bottleneck on a quad core CPU and still only load up that CPU to 25%. All that's required is a single core game. Supreme Commander was a big culprit for this a few years back, because it was single-threaded and massively CPU intensive for the Conroe CPUs of the era. How did it show up while bottlenecking on the CPU? With all four cores of a quad core at 25% (if you had a dual core, both would load to 50%, while a single core CPU would load to close to 100%). Why didn't it take advantage of the leftover CPU power? Because there is a limit to parallelization in software, as described by
Amdahl's Law. On an octathreaded CPU, a game with very non-parallelized code would show all 8 core at 12.5% (give or take, of course). Note that there are limitations to that; you can see poor threading to an extent. Your own CPU graphs show unequal CPU loading (just like Barbaric's above, though his CPU shows it far more than my own 8 threaded CPU in the other machine, oddly enough).
MWO is not single threaded, so it does a much better job with this. It makes very good use of dual core CPUs, and a fair bit of use of quad core CPUs, and then it just stops being able to use anymore resources from your CPU, even though they're free, because it hits the limits of its software parallelization. Put in laymans terms, the software
can't give the CPU anymore instructions until the CPU finishes the instructions it's already carrying out, so adding more cores does no good, because the only way to speed up game execution is to speed up each instruction, which means per-core performance, because ultimately, there is a serial nature to much of how the game is processed (the CPU can't start on instruction
B until
A is done, or
C until
B is done; even if your chip has free resources to execute
B and
C it can't because the game is still waiting on
A).
Right now, there is no CPU, anywhere, that is capable of executing MWO's instructions quickly enough to keep up with the demand of the program fast enough to enable 60fps.
That is the definition of a CPU bottleneck. It doesn't matter what Taskmgr shows; all that matters is that there is no CPU, in existence, that enabled 60fps at stock clocks (at around 4.4ish the 3570k pretty much gets there, from what I've seen with my CPU). THAT is the bottleneck.
So when you say
Nirilus, on 30 January 2013 - 03:13 PM, said:
The majority of cpus out there have more than enough power to handle the CPU dependant portions of the game.
you are patently incorrect. Right now, there is
no CPU,
anywhere that can execute this game smoothly, let alone any CPU with "more than enough" power to execute the game smoothly, let alone a
majorityof CPUs that can execute this game smoothly. The 3750k is the only chip that even comes close, and even it can't maintain 60fps with any amount of action, regardless of GPU, and regardless of setting. That's the CPU bottleneck. My 7970 can render the game at max settings at 90+fps, and does regularly, until anything starts happening, and then the CPU holds it back to 45-50, hence the CPU is bottleneck that GPU. If I turn the game down to its lowest settings, those minimum framerates do not change, demonstrating that the CPU is, in fact, the bottleneck.
The telltale sign of any CPU bottleneck in a game is the same minimum framerate at all graphical settings, showing that the GPU is rendering the same amount regardless of how hard it's worked. This is exactly what we see in MWO so please, unless you have some actual evidence to the contrary, that's it.
This concept is really nothing new to any gamer who's even been around for the last decade, back when we were having the single core vs dual core, and later dual core vs quad core debate. Back that few short years ago, people easily understood that a game could max out its ability to run on a CPU, and be bottleneck without actually loading up that CPU to anything close to 100%. Maybe you just aren't old enough to remember, but that was at the
core of the multithreading debates. It was widely understood that just because the task manager didn't report 100% CPU load, didn't mean the game wasn't bottlenecking; it just meant it was bottlenecking because it was poorly threaded. This is why, for several years, people stuck with higher clocked dual cores over lower clocked quad core iterations of the same architecture, because we knew the game wanted per-core performance, not multicore performance.
I'm sorry that was has been an obvious and ubiquitously understood concept is going over your head. I really don't know how many more ways I can explain what's been obvious to PC gamers for a decade.
Edited by Catamount, 02 February 2013 - 03:21 PM.