Why aren’t more video games optimised for multi-core CPUs?

1.33K viewsOther

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

18 Answers

Anonymous 0 Comments

There are many reasons. CPU cores are much more complex and powerful than GPU cores (you also generally have much fewer of them, I.e. 4-8 vs the 100s or 1000s in a gpu). CPU cores are generally used for complicated calculations, such as math for physics systems in games. Multicore programming can be very complicated. There are some calculations that cannot be done in parallel, and some that benefit greatly from parallel processing. It’s up to the developer to decide if/when to parallelize, which can be very challenging and time consuming. Another challenge is making sure your parallel code runs on many different types of processor cores. 

  To add to this, many devs use engines such as unreal, godot, unity, etc. These engines abstract away much of the low level complexity of the application itself. Many devs who use these tools literally never think of parallel processing, memory management, and what the processor is physically doing. This can lead to a game that “works” but is very poorly optimized. It’s kind of like building a house with duct tape, then having to go back and replace the duct tape with nails, screws, and other proper fasteners once you start running into issues.  

I’m not saying devs who use these engines are bad developers, but prebuilt game engines do make games very easy to make, even for an inexperienced developer. Modern PCs are extremely fast, and most of the time, inefficient code will run just fine and nobody will notice unless it’s a high-spec game or other critical app

You are viewing 1 out of 18 answers, click here to view all answers.