Pedro J. Estébanez
Veteran generalist Godot contributor (since 2017), known as RandomShaper.
Ex freelance Godot consultant. Ex Prehensile Tales.
Nowadays, tech lead of the console middleware division at W4 Games🍀.
Sessions
Godot leverages the multi-processing capabilities of modern CPUs by using OS threads (a.k.a., subprocesses) extensively. There is a number of different approaches that the engine uses internally and also exposes to userland in some cases, such as a global pool of worker threads and synchronization primitives. In addition, certain key elements of the engine must have a notion of multi-threaded processing so that operations are coordinated and synchronized properly. This is especially tricky in features such as resource loading and interaction with the scene tree.
This talk will go over all these topics, explaining where each fits in the global picture, how the engine and user projects can benefit from them as well as certain interesting implementation details. Despite the most natural audience seems to be engine contributors, this talk is also meant to be enjoyed by curious users of the engine that want to understand how stuff works and also those that want to learn how to make a good usage of multi-threading in their games.