Your original stance is 2 cores are all you will ever need. Now its 2 cores + worker threads. Lets see where it goes in 6 months.
My stance was that you won't get nearly as much scaling beyond two cores. DX11 does change the equation a little due to multithreaded rendering, but most implementations I've seen only use 1-2 worker threads for significant amounts of work. And the two primary threads still do about 75% of the total workload, so the two cores they get assigned to are the primary performance drivers.
Physics is the X-factor though; I'm assuming that process intensive physics implementations will be pushed to the GPU, as the GPU is a more efficent processor for such computations. If those calculations are done on the CPU, I could see scaling up to maybe 4-6 cores. But the trend has been toward GPU physics.
for your argument of the ps3 and 360, both did not use many thread because they weren't required, most parallel threads were light because: 1) ps3 could not run all the SPEs loaded because memory constraints so you would get 2-3 decently threaded things to run in parallel. The platform just didn't work out. They got more tricks later on for the sony exclusives but those are never ported to PC and likely won't be good ports anyways 2) 360 supported 6 threads but nobody wants to multithread when they don't need to, thus most games goes down to 3 threads because why use SMT when you can optimize the single thread for the cpu resources, but 360's cpu also required audio processing which could take up an entire CPU on its own. Thus we were left with 2+ bit of large threads running the game on there. 3)Developers are lazy and when porting to PC, they want to target the lowest common denominator, which is dual cores. throwing all the threads into 2 main cpu cores ends up with a port that will run on any system without the need to optimize for the high end.
No, I argue the opposite. The PS360 almost always used 6 threads, which you could do because everything is always finely controlled by the developer. You can NOT do this on PCs, because of the OS. That's the penalty of abstraction, and why the PS360 can still pump out very good looking visuals at times.
And your technical analysis is WAY off. The 6 SPE's could be loaded quite easily, on the provision the data they needed was ready in the systems ESRAM. That was the primary coding challenge of the PS3: Getting the data into ESRAM to keep the SPE's fed (and why Sony's approach on the PS4 is superior overall). Secondly, audio processing takes like 1% CPU time on a single core; its trivial to do. Even a game that handles 128 voices in SW [CoH is the only title I know that does this, most use 64 to stay in EAX2 compliance] doesn't add much to processing.
So yeah, I guess your always right when you make up facts.
We will see what developers can do with 6 symmetrical cores that are completely used for the game. You can keep slowly changing your stance all you want. Of course 2 cores can run the threads, that why minimal requirements of a lot of games are still 1-2 cores. But to get proper performance for the game, its likely 6 cores will destroy 2, 3 and 4 cores.
1: Adding more cores doesn't add performance, even if they are used, if fewer cores already gets the work finished before the GPU finishes its processing.
2: As I've explained: On a PC, you have to worry a lot about data consistency because
YOU CAN NOT GUARANTEE WHEN YOUR THREADS RUN, WHAT DATA IS IN MEMORY, OR WHAT RESOURCES YOU HAVE ACCESS TO. Threads that touch the same object MUST be synchronized, meaning
THEY CAN NOT RUN AT THE SAME TIME. And in the worst case, your threads may end up locking eachother out for extended periods of time, sending performance off the cliff. Since you have different parts of the game engine touching the same structures, you end up tanking performance as you try and evenly split the workload up between different threads.
Games already use dozens of threads; up to the 80's in some cases. But most do very little processing, operating on chunks of data that the developers know will not be locked at the duration these threads are run. You end up with two heavy threads that handle almost all the processing (Main/Render threads), and the rest handle processing that can be offloaded, but finish so quickly they don't even show up in Task manager.
At the end of the day, you can't thread if the threads need to touch the same data at the same time. Its that simple.
In the coming years, I predict you will say 4 cores is all you will ever need. Then 6 cores is all you will ever need. Maybe some day you will see what the whole semiconductor industry is moving towards.
You apparently weren't here in 2008, when I boldly proclaimed (to JDJ I think) the "Duo's are dead".
I know better now. Quads will offer advantages, as I don't think you can squeeze too many more IPC improvements out of X86 in general, but Duo's will remain more then sufficient for a very long time.