As you might have read in our previous article, Planetary Annihilation and TITANS are being revived by a new team made up of some of the original developers. One of their developers has given an update on adding more multithreading.
The post is written by Mike “Sorian” Robbins, who previously worked on the game (as well as the Supreme Commander series) and they go on to explain how they're back working from where they left off after the performance update back in 2016.
Two years ago I was given the opportunity to continue work on my baby, Planetary Annihilation, for the 99337 Performance Update. My primary focus was attempting to improve performance by multithreading parts of the simulation. My initial focus was on areas of the simulation where I thought it would be easiest to do things in parallel. The most natural separation was based around planets.
Since navigation and physics are typically the worst performance offenders, separating updates by planet seemed like a good plan. Their updates tend to only act on a single entity. Initial testing blew up spectacularly, as I expected it would. Fortunately, there were not many areas of contention between threads and a performance win was born.
So, now that I am back, you may be wondering what I am working on now. I’ll be continuing right where I left off!
They're currently looking to expand the multithreading capabilities of PA, to hopefully improve the performance for everyone. They're working on quite a number of different systems for this like: a physics update, an AI update including a "much needed performance pass", the Coherent GT user interface system needs an update and plenty more. See the full post here.
I'm really happy PA is continuing to be developed and improved, there's hardly anything like this available on Linux (outside of Spring RTS games like Zero-K).