mayankleoboy1 :
If a thread is being scheduled to run on a core, but is locked out on another thread, will that make the OS count that core as 100% utilized ? If so, that can account for ssome games using 4 cores in task manager.
Nope. Task Manager %usage basically indicates how much time a core's idle thread is not running. What that means, in laymans terms, is if you have a core thats 75% utilized, its spending 25% of its time...doing absolutely nothing whatsoever [which implies there is no thread on the system that is able to be run.]
Kinda puts things in perspective: If running a game that scales like this:
Core0 :75%
Core1: 70%
Core 2: 45%
Core 3: 10%
Then HALF of the time, the OS believes there is no thread, anywhere on the OS, that is capable of being run at that point in time. Kinda puts things in perspective as far as performance goes, doesn't it? How can a program be expected to scale, if 50% of the time, it has nothing to run? [The time it takes to load from the L2, let alone the L3, is significant when looking at Utilization graphs.]