Hasty Briefsbeta

Bilingual

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.