Making Doom3 multi-threaded for smoother monster-shooting
November 2011 finally saw the release of the Doom3 game engine "idTech4" as GPL. The engine is over eight years old now, but is still held in high regard in the gaming community. Immediately, people started studying the source code to figure out how John Carmack et al. implemented all the special features.
The Eindhoven Startup Vector Fabrics took the game engine as a case study for their Pareon parallelization tool. While Carmack's team has written efficient code, they could improve the source code to run better on modern multicore systems and achieve a higher frame rate.
In this talk, Maurice will first show how to use the open-source 'perf' profiling tool and the 'flame-graph' extension to analyze and visualize where the program spends most of the time.
Then he will show how to use the Vector Fabrics 'Pareon' tool to do a more in-depth analysis of parallelization opportunities. In particular, he will show how Pareon helps to find interesting loops to parallelize and how it can help to create a parallel implementation of the now open source game, resulting in higher frame rates.
Maurice is strongly against animal cruelty in real life, but vows that dozens of monsters shall die during the demonstration of the improved game engine.
The slides of his presentation can be downloaded here: [slides]