Never, due to data-dependency reasons. If you have two threads touch the same object in memory, one of them has to wait. This limits scalability. Hence why you still see games which have two threads going most of the work (the main program thread and the primary render thread), and 2-3 threads that do slightly less work (generally, graphical worker threads). You simply are not going to see games scale to 8 cores, ever.