3 ms·
It probably has to do with the desire to keep gameplay very consistent across all users' hardware. They don't want to give a huge advantage to the enthusiast wi
by marshray 14y ago
It probably has to do with the desire to keep gameplay very consistent across all users' hardware. They don't want to give a huge advantage to the enthusiast with a dozen cores over the person playing on their laptop.
But making the graphics better is something that doesn't seem to help your score much. More realistic fog may even make the game a little harder. So it's probably no coincidence that GPUs are leading the way in parallelism.
- stephengillie 14y agoSorry, if I realized you were replying, I wouldn't have deleted :p While videogames have been one of the main economic forces pushing processor technology, I've heard that few games can actually use more than 1 CPU core. Is this because of a difference in the way games are programmed? Is it because single-core programming is (I've heard) so much easier, and games are more often written by aspiring novices than professional drones?
- maximilianburke 14y agoThat's not true, at least for AAA games. Most modern AAA games make good use of all available processors. This is especially important for games that ship on the Xbox 360 and PS3 because these devices only start delivering impressive results when you go parallel. It's difficult to come up with a good multicore game engine design and even more difficult to do it on the first try. What I've observed over the years is that these AAA games are steadily becoming more and more parallelizable as they are iterated on. An architectural pattern that seems to be working well these days is a job/task-based one where the program is expressed as a graph with the tasks (well defined units of work) are connected via a network of dependencies. This model works well because it doesn't force you into requiring certain hardware configurations, it scales well from single core phones up to 32+ core workstations. Now, whether or not your content can scale as well is another question :)
- stephengillie 14y agoThat's one confusing part - videogames are supposed to be very difficult to parallelize on CPU but MUST be parallelized on GPU. Is this because the CPU is usually running more complex code with lots of multiple branches and (multiplayer) coordinating through network layers, while the GPU is basically just transforming arrays of numbers into arrays of other numbers? (Arrays which monitors convert to photons for us to see)
- marshray 14y agoYep. Really nice-looking graphics can be done with computations that parallelize nicely over individual triangle vertices and individual pixels. The gameplay logic and networking code for most games could probably be optimized for many cores than it usually is. But again, the primary consideration is that it plays well for everybody.