edwilson :
it is my understanding that the OS has as much to do with core usage as the application, such as offloading os stuff like background apps ans services and antivirus / firewall to other cores so that a "primary" core could be used better by the app loaded. does anyone have any more info on this? I hope by now somebody is writing code that takes advantage of all four cores. the question is it on the OS side or the app / game side or both?
The answer is that it's all THREE: hardware, app, and operating system. The OS facilitates the full usage of however many cores are available on the hardware, by anything which may be running on your system. But it can NOT magically transform single threaded apps into multi threaded ones. Further, even when you have multiple apps running at once, if not all of them require full power then you won't see such usage. More typically, your
(game) will pin one core at/near 100%, some side processes from your game may present a smaller load on a second, and the rest of the activity will be incidental background processes consuming only a few %.
I hope by now somebody is writing code that takes advantage of all four cores. the question is it on the OS side or the app / game side or both?
Understand that this is *really* hard to do, and for many/most applications the added complexity does not translate into an
"Improved User Experience". This is corporate software speak for:
If a single threaded app performs X function in (1/10th) of a second, and a multi threaded app performs the same function in (4/100th) of a second... and it isn't possible for the human beings using the machine to detect the difference... Why kill ourselves writing it when we can do it more cheaply and more reliably the 'regular' way?"
There *are* multi threaded programs available now - Typically Encoding and graphics programs, and some games
(including World of Warcraft, believe it or not) which can and do use multiple cores when they're available. But at this time it's still more the exception rather than the rule. This will change over time, as programmers learn how to write the code and as programming tools automate the processes. For the time being, though, the chief benefit for most (home) users will be giving their single threaded apps their own cores and running other processes elsewhere.