Avant de rentrer dans les détails de la science informatique, un petit rappel sur ce qu’est le multithreading. Il s’agit de la capacité d’un programme à effectuer des calculs en parallèle sur les différents cœurs (core en anglais) du processeur. Quand l’idée est apparue dans les années 2000, tout le monde a trouvé ça merveilleux. Y compris les joueurs de jeu vidéo. Imaginez plutôt : il n’y aurait plus une seule unité de calcul dans le CPU, mais deux, quatre, six, voire huit, capables de cravacher simultanément. À l’époque, on nous expliquait qu’un cœur s’occuperait de la logique du jeu, un autre ferait tourner les algorithmes d’intelligence artificielle, un troisième gérerait le son, un quatrième le pathfinding, etc. Et puis... ça ne s’est pas du tout passé comme ça. Presque deux décennies après la démocratisation des processeurs multi-cœurs, les développeurs de jeu vidéo peinent encore à les exploiter. Prenez Factorio, Skyrim, Rimworld, Dwarf Fortress, Kerbal Space Program, Prison Architect, Banished : ces grands jeux n’utilisent qu’un seul cœur, et c’est exactement pour cela que vous les verrez ramer péniblement dans certaines situations. Leurs créateurs seraient-il d’énormes feignasses incapables de coder correctement ? Pas vraiment. Car le multithreading est en fait une épouvantable prise de tête.