It is common for modern video games to be badly optimised due to, partly, inefficient usage of multiple cores on a CPUs.
I’d assume that developers know this, but don’t have the time to rectify this.
So, therefore, what are the difficulties in utilising various cores of a CPU effectively? Why does it require so much focus, money, or perhaps time to implement?
In: Other
Concurrency issues, sometimes game logic breaks if some things don’t happen in a certain order, and sometimes coordinating different threads is even harder than just running things linearly.
The example from an old programming book is that you’re making a model plane. You need to make each wing by gluing on flaps and landing gear, so you can make it a bit faster if you ask your friend to do one wing while you do the other. Then it comes to gluing the wings one at a time to the fuselage, well only one part of that can happen at a time, more people can’t help. Also if I brought in 100 people into your lounge, the plane-making effort would not go 100x faster.
Latest Answers