An analysis of recent multithreading improvements for a smoother game
a year ago
- #Arma 3
- #Performance Optimization
- #Multithreading
- Arma 3 update 2.20 introduces multithreading optimizations for smoother gameplay, focusing on reducing lag spikes and improving minimum FPS.
- The update overhauls the game's job system, transitioning from a primitive 'Fork-Join' model to a more efficient graph-based system from Enfusion, allowing better CPU core utilization.
- Key optimizations include parallel processing for AI, particle effects, and explosions, using techniques like coroutines to handle tasks with both parallelizable and non-parallelizable segments.
- Command-line parameters guidance is updated, advising against outdated settings that may now harm performance due to increased multithreading.
- Update 2.20 marks the end of 32-bit support and Windows 7/8 compatibility, streamlining future development efforts towards 64-bit and modern systems.
- System requirements have been refreshed to better reflect current hardware standards, ensuring a more realistic entry-level experience for new players.
- The blog highlights the challenges of multithreading in a script-heavy environment like Arma 3, where mods and event handlers complicate parallel processing efforts.
- Future optimizations will focus on smaller, more complex areas, balancing performance gains against the risk of introducing bugs or crashes.
- The update is part of a broader effort to modernize the Real Virtuality engine, including upgrades to Visual Studio 2022 and C++23, with ongoing work to further enhance performance and features.