branchrust_reboot/main/parallel_validatemovecancel

126 Commits over 92 Days - 0.06cph!

8 Months Ago
Debug: Bring back player cache validation on release Saw on release env today that it did trip up twice and prevented issues, so there's still value in it. Tests: none, trivial change
8 Months Ago
Update: move some of the validate logic back to DEV_BUILD only These routines do sanity checks, and for the last couple days of testing they haven't picked up anything. Tests: on Craggy in editor with UsePlayerUpdateJobs 1
8 Months Ago
Clean: remove recently-added debugging logic Tests: none, trivial change
8 Months Ago
Bugfix: safeguard against NRE induced kicked players in UsePlayerUpdateJobs - Added a couple warning comments If kick happens in the middle of player update loop, it would invalidate one of cached indexes and access a null. Tests: forced a disconnect mid processing, no NRE caught
8 Months Ago
Merge: from main Tests: none, no conflicts
8 Months Ago
Debug: add a latch to track player disconnects & removal during ServerUpdateParallel Tests: unit tests + craggy in editor
8 Months Ago
Debug: adding progress tracking to FinalizeTickParallel to help track down origin of NRE - also couple formatting fixes Tests: used mode on Craggy in editor
8 Months Ago
Merge: from main
9 Months Ago
Update: Another validity check for UsePlayerUpdateJobs - validates player counts between PlayerCache and activePlayerList Tests: played back server demo
9 Months Ago
Update: promote some UsePlayerUpdateJobs validation logic from DEBUG only to release - Hidden behind EmergencyDisablePlayerJobs switch(on by default) and UsePlayerUpdateJobs(off by default) - ValidatePlayerCache checks whole range instead of just up to player count (in case we got more than expected) Tests: played back server demo
9 Months Ago
Clean: fix formatting
9 Months Ago
Update: turn server.EmergencyDisablePlayerJobs const into a servervar Allows to run some extra validation Tests: editor compiles
9 Months Ago
Test: test case for missing player removal from PlayerCache Tests: ran the new unit test
9 Months Ago
Merge: from main
9 Months Ago
Optim: reduce physics casts scheduling overhead when using batches - Added a helper function that subdivides workloar across equal batches and potential for work stealing On a 10player test case(40 ticks total), reduces parallel processing time from 0.2ms to 0.12ms. Still slower than serial execution 0.06ms. Tests: unit tets
9 Months Ago
Merge: from main
9 Months Ago
▆ ▋▋▅▋▄▊ ▍▉▌▋▆██▇▇▍▋▋▊▋ ▅▅██ ▇█▆ ▇▍▉▇▌▇▍▊▌▌█ ▅█▇▄▇▆ ▌▌▆▉▊▇ ▉▄██▄▉▆▋ █▉▇▊ ▉▆█▇▅▉▊▉ ▅▇ ▊▅█▄▋▆ ▉▉▆▋▊▊▄ ▆▇▍▌▅ ▉▄▄ ▉▄▊▉▄▌▉ ▊▊ ▌▅▅▅ █▇▍▄▋▄▅▌▇ ▊▍▌ ▆▅▍▅▊▉▍▄▇▄▅▋█▋▇▄▌▉▌██▌ ▌▄▍▌▇▉ ▍▅▆▇▊▊▌▋▉▉▍▆▆ ▅▌ █▆▆▉▄▊ ▄▍▌ ▋▉█▇▆▍▆▌▆█▅▅ ▌▋▄▌▍▊ █▇▉▊▆▇▍█▌▋▆▆▌ ▌▆█▊▅▆
9 Months Ago
▄ ▇▅█▅▄ ▄▍▉▌ ▌▍▍▇
9 Months Ago
Optim: PlayerCache.ValidPlayers no longer allocates garbage Tests: took snapshot on Craggy in editor to confirm
9 Months Ago
Merge: from main Tests: none, no conflicts
10 Months Ago
Tests: add GamePhysics.CheckShhere, CheckCapsule and related consistency tests Contains divergence cases that are constantly warned about - this is to document current behavior Tests: ran unit tests
10 Months Ago
Update: Adding GamePhysics.CheckSpheres Tests: unit tests (next submit)
10 Months Ago
Merge: from main Tests: none, no conflicts
10 Months Ago
Update: Made GamePhysics.CheckCapsules and related consistent with CheckCapsule around sphere queries - Added a defaulted param(true) that controls whether we should scan for sphere-like capsule queries or not - Added a couple comments to clarify things This adds ~1ms on 10k player perf test scenario, but should silence Unity's warnings Tests: unit tests + staging demo playback
10 Months Ago
Update: GamePhysics.OverlapCapsules and OverlapSpheres now check for invalid commands and report errros Tests: unit tests
10 Months Ago
Clean: added a comment expanding the reason for previous test Tests: none, trivial change
10 Months Ago
▉ ▅▄█▆▊▌ ▋▉█▊▇▇▄▌▋▅▄▄▇▍▆▍▍▉█▊▆▆▅▇▆▉▉▋▆▅▆▌ ▄ ▍▅▉▌ ▅▇▄▋ ▅▆▄▉▇▊▇▇▆ ▅▌▌▄▉█▇▅ ▇▌▌▇▉▉▌ ▅▍▇▌▊▄▋▅█▍▄▄ ▅▌▍▌ ▅█▄▄█▍▄█▊ ▅▋ ▌▉▆█ ▊ ▊▅▇▇▆▉▊▆█ ▋█▅ ▉▇▆▆ █▍▊▌ ▉▉█▅ ▍▍▅ █▆▍▊ ▅▉ ▇▇▍ █▉▊▉▋▌▊▋▉▌ ▌▇▍ ▉▇▊ ▊▉▅▅▋
10 Months Ago
Bugfix: ServerDemoPlayer - skip trying to spawn invalid prefabs from the server demo stream Tests: played back server demo
10 Months Ago
Update: make ServerDemoPlayer complient with recent Protobuf changes Tests: played back a staging server demo
10 Months Ago
Merge: from main Tests: none, no conflicts
10 Months Ago
Clean: remove minor TODOs - append Job to the last burst job without it - Replace .Add with AddNoResize Tests: uni tests
10 Months Ago
Merge: from main Tests: none, no conflicts
10 Months Ago
▅ ▊▇▇▌█▄▌▍▌ ▌▇█▋ ▊▋█▆▇█▊▄▇▅▍▄▉▋▉▊▉▍ ▄▌▄▇ ▄█▅▋▉▉▄▊ █▋▍▋▋▇▆█▉▉▄▄▆▆█▌ ▍▇▇▆▇▌▆▊▋▆ ▋▍▅▉ ▍▅▄▋▋▅▅▌ ▍▅█▄▇▉▋▍▄▌▍▇▌▅▆▋▆▉▉▆▄█▊▆▇▄▊ ▌▄▉█ ▆▋▅ █▅ ▌▆▉▋▌▋▆▌▄▋ ▊▋▍▆█▆▊▌▋█▉▅▋ ▇▌▌▌▉ ▇▋▊▋▋▄ ▌▄▄ ▋█▆▆▋▆ ▊▇▌▍▋▄▆▊▌▇▍
10 Months Ago
Clean: fixing various whitespace issues and unused "using" statements Tests: compiles in editor
10 Months Ago
▆ ▉▋▍▇▅▊ ▇▇▅▇ ▍▄▌▍▊▉▆▋ ▇▍▍ ▌▌▌█▉▋▋▋▌█▊▇▋█▊▅▉▌█▋▄▆▇▆▋█▋▉▋▄▇▆▌▆ ▊▌▄▌▊ ▍▊▊▇▍▇▋ ▅█▍█▊▍
10 Months Ago
Merge: from main Tests: ran unit tests
10 Months Ago
Update: add profiling scopes to search-component parts of GamePhysics.CheckSphere<T> and CheckCapsule<T> This is a slow path if there are many terrain/water volumes being hit Tests: none
10 Months Ago
▌ ▌▉▉▅▅▉ ▇▇▆▉█▄▉▋▊▌▇▇▅▋▍▅▆▇▆▋▋ ▇ ▌▍▆ ▅▍▅▋▇▆▌▋▅▆▌█▍▅ ▇▆▅█▍▌▋▄▊▌▊▆▅▍▇ ▋▍▉ ▇▇▆▅ █▍▆▊▉
10 Months Ago
Tests: GamePhysics tests now contain cases with both water and terrain ignore volumes This is kind of a bug fix, since it wasn't testing both paths, but ah well Tests: ran unit tests
10 Months Ago
▋ ▊▋▊▇▊▋ ▆▌▋▊▇▆█▍▅▅▌▆▉▆▄█▌▍▊▇▇ ▆ ▊█▅▉▌▋ ▉▄█▅█▄▅ ▉▍ ▋▊▍▅▋▍█ ▄▋▅▌▋▅ ▌▋▊▇█▄▆▇ █ ▋█▋ ▇▄▋▋ ▋▉▄██▄▆ ▊▅▉▆▅█▇▇▍▍▇▅▋ █▅▊▄
10 Months Ago
▅ ▅▆▉▄▆█▋ ▆▍▍█▌▌█▄▄▋▄▊▉▋▊▄██▄▆▌▉ ▉ ▌▉▊▍ ▇▍▄▆ ▊▆ ▋▋█▅▆ ▆▄▆▆▌ ▋▅▅▌▇▉▅▅▊▆▆ ▍▊▇▄▌▅ ▌▄▄▄███ ▌▄▅▍▅▅▍▍▉▊ ▌ ▊▇▌▊ ▋▋▍▊▇▍▋ ▄▄▄█ ▄▅▅▅▌▆▋ ▋▄▆▇ ▆▍█▆▇█▍▉ ██▇▆ ▆▆▄▌▄ █▄▍▅ ▌ ▋▄▋ ▋▇▌▉ ▍▊▌ ▇█▉▍ ▅▅▊▇▅ ▉▊▍ ▋▍▌▍▌ █▊▇▍▆ ▆▇ ▆▇█▉▄▅▍█▌▉▌▌ ▋▄▊▍▌ ▊▌▉▆▌▇▌ ▌█▍▄▆▆
10 Months Ago
▊ ▌▉▇▊█▄ ▆▅▉▅▊▅▇▋█▊▅▄▆█▉█▋▇▋▅▉▉ ▋ ▆▉▅ ▊▊▇ ▅▇ ▅▄██▅▇▊▇▍▄▅ ▅▋▇█▍▊▄█ ▋▄▌▆ █▋▇▇ ▊█ ▉▊ █▆▆▄▍▋▍▇▅▅ ▍▌▅██▄ ▍▅▅▄ ▉▌▇▇▆▌▄▋ ▌▍▄▍█▇▋▌▉▆█▅▊▊ ▆▊▄▍▅ ▄▇▇██▆█ ▅▉▍▌▋▅
10 Months Ago
▉ ▆▅▍▋▊▅ ▆▌▌▋▄▋▆▇▅▌▍▄█▅▄▅▄▅██▇▍ ▅ █▄▇ ▊▍▆ █▄ ▋▍▍▍▄▄▉▊▆▄▍▌▉█▍ ▉▆▉▅▅▋ ▆▆▋▆▊▇▊▋ ▅▇▅▊▋ ▅▄▉ ▆▄▄█▉▆ █▇▅▊ ▄▄ ▋▇ █▄▇▆▉▋▅▊▇▋ ▍▍▄▊▌▅ ▋▆▍▄ ▍█▅ ▊▆▍▋█▅▄▆▊▍▌▍▄ ▇▉▉▇█ ▊▋▆▉▊▆▋ ▉▍▌▋▅▋
10 Months Ago
Clean: remove unused NativeList Tests: none, trivial change
10 Months Ago
▍ ▆▆█▉▉▄ ▋▍▆▉▊▍▊█▋▌▉▌▋▆▇▍▊█▍█▄▄▉▍▆▉ █ █▍▊▆▉▍▉ ▍▄▆▌█▌▍▆ ▍▋▆▌▅▌▉▇▊▍ ▉▅▍▋ █▇▇▄▉ ▅▉▅▊ ▍▌▆▆▇▊▋▍▅▉▋▅▌▊▇▇▉▍ ▊▄▆▄▌▉▆ ▉▍▉▇▇▋▋ ▌▅▆▄▍▉▆▊▍▍█▉▆▊▊▊▄ ▊▍ ▆▍▅▇▍▍▊▍▋▊▅▊▌▋▍▆▊▇▆█▄▊▍▄▆▉ ▆▆▊▌ ▆█▋▇▉
10 Months Ago
▌ ▊▌▄▊▌▅ ▋▋▉▄▄▉▊▄▉▄▇▋▍▍▌▉▍▆▋▋▋▉▍▅▊ ▋ ▇▌▌▄ ▍ ▆▌▄█▌ ▄▌▋▅▌▄▊█ ▇█▋█▄▄▍▋▍▄ ▇▆▌▇ █▇▆▌▆ ▉▅ ▄▍▍▉ ▍▉▄ ▉▉▌▊▌█▌▆▄▍▋▋▄▅▆▋ ▊▅▄ ▋█▇▍ ▄▌▅▇▆
10 Months Ago
▋ █▄▅▌▇▇ ▋▆▄▅▍▌▉▆▄▇▌▊██▌▍▉▌▅▆▆█▋▊▊▅ ▆ █▊▊▅▉ ▉▍▇▉▊▋▅▌▌▋ ▅▄▉▉▍▊▍▉▉▆▋▄▄ ▇▉▇▉▌ ▉▅ ▉▇▅ ▆▄█▅▆▇▋▊▇█▉▆▊▅▄▆ ▊█▄▅ ▌▌▉▍▍
10 Months Ago
▋ ▌▊▋▍▉█ ▋▄▆▊▇██▌▋▉▊▊▊▅▇▉▌▊▌▉▄▌▄▍▄▇ ▆ ▋▉▄▌▆██▋ █▇▊█ ▅▋▉▌▋▊▄▉▆▇▇▌▄▄▄▇▍▍▇ ▉▄▆▋ ▆▋▋▇▅
10 Months Ago
Clean: removing dead code Tests: compiles
10 Months Ago
Update: add GamePhysics.TraceSphere and TraceSphereUnordered - added GamePhysics.Sort(NativeArray...) - replaced some inline code with TraceSphere call Works the same as Trace(>0 radius) and TraceUnordered(>0 radius) Tests: unit tests + staging demo playback