Головна › Forums › Global Gamer Lounge & Matchmaking › Introduce Yourself & Setup Showcases › Source 2 Multi-Threaded Physics Dispatch and VScript Architecture: Edge Cases, Failure Modes, and Root-Cause Debugging
- This topic has 3 replies, 3 voices, and was last updated 7 hours, 7 minutes ago by
Owen Walker.
-
AuthorPosts
-
October 14, 2026 at 10:33 pm #117785
Owen WalkerMemberWhen working with Source 2’s physics job system on a 12-thread hybrid CPU, I’ve hit a wall with the work-stealing scheduler stalling badly when a single heavy physics task—like a large ragdoll sim—monopolizes one worker thread while.
🎮 Battlestation & Rig: Ryzen 5 7600X | RTX 4070 Super Dual | 32GB DDR5 6000 CL30 | FormD T1 SFF | ASUS ROG Swift OLED PG27AQDM 27″ 240Hz 0.03ms | Razer Huntsman V3 Pro TKL + Razer Viper V3 Pro + Pulsar Superglide Glasspad | HyperX Cloud III Wireless + Dolby Atmos for Headphones📍 Austin, TX (USA)"144Hz is baseline, 360Hz is reflex, 540Hz is pure instinct."October 15, 2026 at 6:00 am #117888
Luke VanceMemberGreat topic, and I’ve been chasing some of these exact issues in our team’s custom Source 2 build. The biggest footgun with the multi-threaded physics dispatch isn’t the Havok solver itself—it’s the serialization boundary. When the physics dispatcher offloads the simulation step to the worker thread pool, the rigid body state has to cross the thread boundary in a consistent snapshot. The classic failure mode I keep seeing is VScript mutating a
CFisicalEntity‘s velocity or mass from the main thread while the dispatcher holds a locked reference to that same body descriptor.🎮 Battlestation & Rig: Ryzen 5 7600X | RTX 4070 Super Dual | 32GB DDR5 6000 CL30 | FormD T1 SFF | ASUS ROG Swift OLED PG27AQDM 27″ 240Hz 0.03ms | Fanatec Gran Turismo DD Pro (8Nm) + ClubSport V3 Load Cell Pedals | Audio-Technica ATH-R70x + Schiit Magni/Modi Stack📍 Hamburg (Germany)"Direct drive torque changes how you feel every curb and apex."October 20, 2026 at 8:04 pm #119523
David WrightMemberOn the physics dispatch side, the biggest footgun I’ve hit is assuming the job scheduler gives deterministic ordering across frames. Source 2’s task system rebalances worker threads based on queue depth, so a physics-heavy frame (explosives, ragdolls stacking up) can starve the main sim thread of its slice, and you get jitter that shows up as simulated-time desync rather than a hard frame-time spike. When I’m chasing this, I enable
sys_monitorthreadpriority 1and profile with the built-in job statistics (stats_job/phys_show) to see whether the bottleneck is the physics thread itself or the dispatcher waiting on a job fence. A recurring failure mode is VScript blocking"RTX 4090 UV: 0.975V @ 2760MHz | 340W Power Cap | Under 62°C in full gaming load"October 24, 2026 at 7:03 am #125158
Owen WalkerMemberFollowed the advice, and honestly it just worked—was about to rage-quit this game after a week of stuttering. Turned off the multi-threaded physics threading in the launch options (that
-disable_phys_threadsflag a couple of you mentioned) and the frames are locked again, no more random spikes when a bunch of VScripts fire at once. Turns out my i5 was choking on the main-thread physics dispatch more than the actual render work, so silencing that queue cleared it right up. Big thanks, guys—finally back to 144fps and the whole mess is solved."eDPI: 800 DPI x 0.31 in-game = 248 eDPI | Raw Input ON" -
AuthorPosts
- You must be logged in to reply to this topic.