Multi Threading Model in Paradox Games: Past, Present and Future
summary
Paradox moves from per-entity parallel_for (Intel TBB) in older titles (EU4/HoI4/Stellaris) to a pre-update/post-update stashes model in Crusader Kings 3 that lets many systems run concurrently and keeps rendering unlocked; vTune shows CK3 using ~5 of 16 cores on average and far better UI responsiveness. Victoria 3’s task-graph prototype failed when scheduling was single-threaded. Future experiments target a task graph with data-dependency declarations so a scheduler can auto-parallelize reads vs writes, trading designer freedom for provable concurrency.
AI-written summary · about
chapters (10)
- 0:00Multi-threading in Paradox games
- 3:53Why multi-threading matters
- 12:21Paradox timeline and engine
- 21:10Early multi-threading attempts
- 29:54Game loop and simulation
- 38:43Parallelizing game systems
- 46:06Present multi-threading models
- 53:13CK3's new approach
- 1:02:21Future models and challenges
- 1:17:28Key takeaways & Q&A
related talks
01h 04mParallel Game Engine Design
01h 01mGame engine using STD C++ 11
01h 04mAtomics, Locks, and Tasks (part 2 of 2)
59mAn Introduction to Multithreading in C++20
46mInvestigating Multithreaded PostgreSQL
01h 41mThreads Considered Harmful
01h 14mMultithreading in UI application: When some threads are more equal than others
39mA revolution is coming! Writing performant and safe multi threaded code in Unity
