Hasty Briefsbeta

Deterministic multithreading is hard (2024)

2 days ago
  • #Optimization
  • #Factorio
  • #BugFixes
  • A desync bug was reported involving the modding API across multiple Windows and Linux computers.
  • The issue was traced back to a threading determinism problem related to CPU core counts affecting chunk generation.
  • A fix was implemented for 2.0 to address the threading issue.
  • Dedicated servers now stay paused until at least one player has fully loaded into the game.
  • An option was added to auto-pause the game when a player is joining to prevent issues with large maps or slow connections.
  • Construction robots' efficiency was improved by optimizing the algorithm for checking logistic network areas.
  • The optimization reduced the complexity from O(N) to O(logN), making the checks much faster.
  • The number of construction tasks checked per update was increased for 2.0 to address the 'missing materials/robots' alerts.