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
Because it is really really difficult. In a game you are basically dealing with the state of the world and things changing that. Now if you have more then one CPU doing things you get situations like this.
CPU1: Reads the world state
CPU2: Reads the world state
CPU1: Changes how the world is based on the state that it read.
CPU2: Changes how the world is based on the state that it read.
Now because CPU2 didn’t see the changes that CPU1 did its own changes to the word state will be wrong. This is called a race condition. Minecraft makes use of a multithreaded system for example and quite a few of the glitches Minecraft has is by exploting the ways threads updarte.
Latest Answers