Quite simply, games require many things to be done *in order*. And getting an ordered output from a multi-threaded process is not always easy (could literally be impossible) and can actually end up being slower than a single-threaded strategy. Not everything can be parallelized.
And games will almost always have a singular “loop” running on one thread/core. This loop synchronizes everything, signals other threads, and likely does quite a bit of other miscellaneous work.
There’s always going to be serial work that needs done, no matter how parallel your software is.
Latest Answers