Commit Graph

59 Commits

Author SHA1 Message Date
eero 5b823d8684 Clarify thread safety in update methods
Updated comments in GameScreen.cs to indicate that StatusEffect.UpdateAll and Character.UpdateAnimAll are not thread-safe and must be executed on the main thread. Also removed a non-English comment from MapEntity.cs for consistency.
2025-12-22 18:07:17 +08:00
eero b146fa326d Refactor MapEntity.UpdateAll for improved parallelism
Rewrites MapEntity.UpdateAll to use more granular parallelism, reducing contention and improving performance by parallelizing hull, structure, and gap resets, while keeping order-dependent and non-thread-safe updates sequential. Updates GameScreen to pass ParallelOptions to UpdateAll.
2025-12-22 17:48:14 +08:00
NotAlwaysTrue 0b6882c37f Reduced max threadcount for main thread to avoid issue 2025-12-22 17:00:03 +08:00
NotAlwaysTrue 70a039da83 Added a command to show server perfomence (ShowServerPerf)
Removed unwanted PhysicsTask that was accideltally readded via revert action
Removed a parallel operation for SE.UpdateAll and ME.UpdateAll.
Cancelled roll back for ServerEntityEventManager
2025-12-22 16:57:58 +08:00
eero 4d4f1f8351 Parallelize game update loops for performance
Refactored GameScreen update logic to use Parallel.Invoke and Parallel.ForEach for physics bodies, submarines, particles, level, characters, map entities, and status effects. This change aims to improve performance by leveraging multi-core processing. Also removed a debug Console.WriteLine from GameMain.
2025-12-22 15:47:15 +08:00
eero b1a9757b40 Revert "Enable and improve threaded physics execution"
This reverts commit 7d9642a5b1.
2025-12-22 10:07:24 +08:00
NotAlwaysTrue d98f9de5d4 Updated PM, uses 60s average to match message update time, modified message to display Server Running Time(Total Time Elapsed) in h:m:s.ms format
Readded perviously removed update interval condition
2025-12-22 00:24:33 +08:00
eero 7d9642a5b1 Enable and improve threaded physics execution
Activated the RUN_PHYSICS_IN_SEPARATE_THREAD directive and refactored the physics threading logic. Added cancellation support, improved error handling, and used synchronization primitives to coordinate physics updates. These changes aim to improve performance and stability when running physics in a separate thread.
2025-12-22 00:16:25 +08:00
NotAlwaysTrue f87e943a1a Move a lot of thing around to fix collection was modified.
Note: For now I can only adjust orders and cannot make some real thing. It will take time to check and refactor everything necessary.
2025-12-20 14:16:51 +08:00
NotAlwaysTrue fff157d5ca Added a Performence Monitor for debug
Many multi-threading work in ServerSource
2025-12-19 13:43:12 +08:00
EvilFactory 2368640841 Merge branch 'master' of https://github.com/Regalis11/Barotrauma into develop 2025-06-17 15:45:16 -03:00
Regalis11 ea5a2bc693 Release 1.9.7.0 - Summer Update 2025 2025-06-17 16:38:11 +03:00
EvilFactory 103871a4e9 Merge branch 'master' of https://github.com/Regalis11/Barotrauma into develop 2025-04-10 10:37:09 -03:00
Markus Isberg a4a3427e4e Unstable 1.8.4.0 2025-03-12 12:56:27 +00:00
EvilFactory 6da26ffa93 Merge remote-tracking branch 'upstream/master' into develop 2024-12-11 10:44:53 -03:00
Regalis11 f6349b2175 v1.7.7.0 (Winter Update 2024) 2024-12-11 13:26:13 +02:00
EvilFactory 30a8f0c561 Merge remote-tracking branch 'upstream/master' into develop 2024-10-22 12:42:35 -03:00
Regalis11 6e6c17e100 v1.6.17.0 (Unto the Breach update) 2024-10-22 17:29:04 +03:00
EvilFactory 0a9ff43986 Merge remote-tracking branch 'upstream/master' into develop 2024-04-24 12:20:11 -03:00
Regalis11 ff1b8951a7 v1.4.4.1 (Blood in the Water Update) 2024-04-24 18:09:05 +03:00
EvilFactory 9838cc59ee Merge branch 'master' of https://github.com/Regalis11/Barotrauma into develop 2023-10-19 12:18:30 -03:00
Markus Isberg cf8f0de659 Unstable 1.1.14.0 2023-10-02 16:43:54 +03:00
Markus Isberg 9470edead3 Build 1.1.4.0 2023-03-31 18:40:44 +03:00
EvilFactory 4a229c6427 Merge branch 'master' of https://github.com/Regalis11/Barotrauma into develop 2023-03-13 13:32:14 -03:00
Regalis11 2c5a7923b0 Faction Test v1.0.1.0 2023-02-16 15:01:28 +02:00
EvilFactory 90c3cef977 Merge remote-tracking branch 'upstream/dev' into develop 2022-12-09 17:33:44 -03:00
Markus Isberg 55e1d3560a Faction Test 100.9.0.0 2022-12-05 19:55:31 +02:00
Markus Isberg 9d2f160314 Build 0.20.10.0 2022-12-05 19:48:59 +02:00
Markus Isberg c772b61fc1 Faction Test 100.4.0.0 2022-11-14 18:28:28 +02:00
Markus Isberg edaf4b09fe Build 0.20.0.0 2022-10-27 17:54:57 +03:00
EvilFactory 77c63541eb Merge branch 'dev' of https://github.com/Regalis11/Barotrauma into unstable 2022-09-29 12:13:55 -03:00
Regalis11 6b55adcdd9 v0.19.0.0 (unstable) 2022-07-20 18:47:07 +03:00
Evil Factory 7a09711296 Merge branch 'master' of https://github.com/Regalis11/Barotrauma.git 2022-06-15 13:26:49 -03:00
Markus Isberg 856f894203 Build 0.18.9.0 2022-06-14 04:14:47 +09:00
Markus Isberg 6be757a45b Build 0.18.5.0 2022-06-03 22:29:04 +09:00
Evil Factory ccf5600ad1 Merge branch 'dev' of https://github.com/Regalis11/Barotrauma.git into unstable-tests 2022-04-08 12:52:28 -03:00
Markus Isberg 95764d1fa8 Unstable 0.17.6.0 2022-04-04 16:46:08 +09:00
Markus Isberg 6d410cc1b7 Unstable 0.17.1.0 2022-03-17 01:25:04 +09:00
Markus Isberg 3974067915 Unstable 0.17.0.0 2022-02-26 02:43:01 +09:00
Evil Factory 6340304ae4 Merge branch 'master' of https://github.com/Regalis11/Barotrauma.git 2022-02-24 14:30:39 -03:00
Markus Isberg 2190fe08ef Unstable 0.16.3.0 2022-02-10 02:52:08 +09:00
Evil Factory fcd0b2cc6d implement priority item updates, seems to work correctly after heavy testing in random servers 2022-01-02 18:57:35 -03:00
Evil Factory 036b42ca7e new performance improvement setting and client-side lua fixes 2021-12-30 17:26:51 -03:00
Juan Pablo Arce 617d9ede88 Unstable v0.15.17.0 (Hex is out of town edition) 2021-12-03 13:31:10 -03:00
Joonas Rikkonen 3a35dbfe6c Release v0.15.13.0 2021-11-02 13:19:59 +02:00
Joonas Rikkonen 234fb6bc06 Release v0.15.12.0 2021-10-27 18:50:57 +03:00
Joonas Rikkonen c27e2ea5ab v0.14.6.0 2021-06-17 17:58:09 +03:00
Markus Isberg f48dfb5862 Unstable 0.1300.0.9 2021-04-13 16:58:13 +03:00
Markus Isberg 96b2184811 Unstable 0.1300.0.5 2021-04-01 16:09:18 +03:00
Markus Isberg 862221635c Unstable 0.1300.0.4 2021-03-30 15:51:49 +03:00