Files
ThordekkCore/.claude
agathoandClaude Opus 4.5 66ecfc7a2f perf(threading): Fix extreme lag with lock contention and throttling optimizations
Root cause analysis identified cumulative lock contention causing severe lag
after humanization implementation. Applied comprehensive fixes:

GenericEventBus (CRITICAL):
- Changed lock-per-handler pattern to single lock acquisition
- Reduced mutex acquisitions from 100+ per event to 2
- ~50x improvement in event dispatch performance

GameSystemsManager (HIGH):
- Added throttle timers to 11 managers updating every frame
- Mount (200ms), Riding (5s), BattlePet (500ms), ArenaAI (100ms)
- PvPCombat (100ms), Auction (5s), Banking (5s), bridges (2-5s)
- ~30x reduction in manager updates per second

SpatialGridManager (MEDIUM):
- Added double-checked locking to CreateGrid()
- Added optimized GetOrCreateGrid() method
- Eliminates thundering herd on 90+ call sites

CombatEventRouter (MEDIUM):
- Replaced mutex-protected stats map with lock-free atomic array
- Zero lock contention for per-type statistics

Map.cpp:
- Changed ASSERT to graceful skip for race condition in SendObjectUpdates

Co-Authored-By: Claude Opus 4.5 <[email protected]>
Signed-off-by: luis <[email protected]>
2026-02-02 13:28:56 -03:00
..
2026-01-20 21:24:33 -03:00
2026-01-28 18:45:01 -03:00
2026-01-20 21:24:33 -03:00
2026-01-20 21:24:33 -03:00
2026-01-20 21:24:33 -03:00
2026-01-20 21:24:33 -03:00
2026-01-20 21:24:33 -03:00
2026-01-20 21:24:33 -03:00
2026-01-20 21:24:33 -03:00
2026-01-20 21:24:33 -03:00
2026-01-28 18:45:01 -03:00
2026-01-28 18:45:01 -03:00
2026-01-20 21:24:33 -03:00
2026-01-20 21:24:33 -03:00
2026-01-20 21:24:33 -03:00
2026-01-24 08:23:18 -03:00
2026-01-20 21:24:33 -03:00
2026-01-20 21:24:33 -03:00
2026-01-20 21:24:33 -03:00
2026-01-20 21:24:33 -03:00
2026-01-20 21:24:33 -03:00
2026-01-20 21:24:33 -03:00
2026-01-20 21:24:33 -03:00
2026-01-20 21:24:33 -03:00
2026-01-20 21:24:33 -03:00
2026-01-20 21:24:33 -03:00
2026-01-20 21:24:33 -03:00
2026-01-20 21:24:33 -03:00
2026-01-20 21:24:33 -03:00
2026-01-20 21:24:33 -03:00
2026-01-20 21:24:33 -03:00
2026-01-20 21:24:33 -03:00
2026-01-20 21:24:33 -03:00
2026-01-20 21:24:33 -03:00
2026-01-20 21:24:33 -03:00
2026-01-20 21:24:33 -03:00
2026-01-20 21:24:33 -03:00
2026-01-20 21:24:33 -03:00
2026-01-20 21:24:33 -03:00
2026-01-20 21:24:33 -03:00
2026-01-20 21:24:33 -03:00
2026-01-20 21:24:33 -03:00
2026-01-20 21:24:33 -03:00
2026-01-20 21:24:33 -03:00
2026-01-20 21:24:33 -03:00
2026-01-20 21:24:33 -03:00
2026-01-20 21:24:33 -03:00
2026-01-20 21:24:33 -03:00
2026-01-20 21:24:33 -03:00
2026-01-20 21:24:33 -03:00
2026-01-20 21:24:33 -03:00
2026-01-20 21:24:33 -03:00
2026-01-20 21:24:33 -03:00
2026-01-20 21:24:33 -03:00
2026-01-20 21:24:33 -03:00
2026-01-20 21:24:33 -03:00
2026-01-20 21:24:33 -03:00
2026-01-20 21:24:33 -03:00
2026-01-20 21:24:33 -03:00
2026-01-20 21:24:33 -03:00
2026-01-20 21:24:33 -03:00
2026-01-20 21:24:33 -03:00
2026-01-20 21:24:33 -03:00
2026-01-20 21:24:33 -03:00
2026-01-20 21:24:33 -03:00
2026-01-20 21:24:33 -03:00
2026-01-20 21:24:33 -03:00
2026-01-20 21:24:33 -03:00
2026-01-20 21:24:33 -03:00
2026-01-20 21:24:33 -03:00
2026-01-20 21:24:33 -03:00
2026-01-20 21:24:33 -03:00
2026-01-20 21:24:33 -03:00
2026-01-20 21:24:33 -03:00
2026-01-20 21:24:33 -03:00
2026-01-20 21:24:33 -03:00
2026-01-20 21:24:33 -03:00
2026-01-20 21:24:33 -03:00
2026-01-20 21:24:33 -03:00
2026-01-20 21:24:33 -03:00
2026-01-20 21:24:33 -03:00
2026-01-20 21:24:33 -03:00
2026-01-20 21:24:33 -03:00
2026-01-20 21:24:33 -03:00
2026-01-20 21:24:33 -03:00
2026-01-20 21:24:33 -03:00
2026-01-20 21:24:33 -03:00
2026-01-20 21:24:33 -03:00
2026-01-20 21:24:33 -03:00
2026-01-20 21:24:33 -03:00
2026-01-20 21:24:33 -03:00
2026-01-20 21:24:33 -03:00
2026-01-20 21:24:33 -03:00
2026-01-20 21:24:33 -03:00
2026-01-20 21:24:33 -03:00
2026-01-20 21:24:33 -03:00
2026-01-20 21:24:33 -03:00
2026-01-20 21:24:33 -03:00
2026-01-20 21:24:33 -03:00
2026-01-20 21:24:33 -03:00
2026-01-20 21:24:33 -03:00
2026-01-20 21:24:33 -03:00