66ecfc7a2fa931ffd1d269b61a49ccfb9b1b56f2
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]>
WowCommunityProject
Blizzlike WowCommunity project
Languages
C++
89.3%
C
10.1%
CMake
0.4%