userDaniel Pcancel

1,099 Commits over 274 Days - 0.17cph!

Today
Merge: from relationshipmanager_leaks - Server and Client-side bugfixes for pooling around RelationshipManager types Tests: local 2 player session with flicking open-closed the contacts screen and with pooling tracking
Today
Merge: from main Tests: none, no conflicts
Today
Bugfix: return ProtoBuf.PlayerRelationships back to pool after client rpc is executed Think it was the only PlayerRelationships leak on client Tests: local session on craggy, opened&closed contacts - saw pool metrics stay stable
Today
Update: using new RelationshipManager.ClearRelations to avoid potential pooling leaks Tests: none
Today
Bugfix: clear PlayerRelationshipInfo when returning PlayerRelationship to pool Tests: none, since it turns out that we don't have any code that stresses this path - one more thing to fix then
Today
Bugfix: return PlayerRelationshipInfo back to pool when forgetting a player 2 more places to fix Tests: none
Today
Bugfix: return to pool ProtoBuf.RelationshipManager.PlayerRelationships + nested types after client rpcs There's still one more server leak and a client leak Tests: local 2-player session. Made sure changed code is being stepped through.
Today
Merge: from main Tests: none, no conflicts
Today
Merge: from reduce_appmarkersellorder_allocs - Reduces pool spillage and misses of ProtoBuf.AppMarker.SellOrder Tests: started server on procgen map
Today
Optim: Increase ProtoBuf.AppMarker.SellOrder pool capacity to 2k - Should reduce creation and spillage of SellOrders Tests: booted server on procgen.
Today
Merge: from profiling_improvements Tests: snapshot on craggy in editor
Today
Merge: from main Tests: none, no conflicts
Today
Update: Further removal of about 10% methods from perf snapshot - Built using e70c083b Tests: took a snapshot on craggy
Today
Merge: from listcompare_optim - ListHashSet can now be pooled and supports Compare - Optim Networkable.UpdateSubscriptions via ListHashSet Tests: unit tests
Today
Merge: from main Tests: none, no conflicts
Today
Clean: simplify code via ?. notation Tests: unit tests
Today
Optim: Constain List<T>.Compare to only works on List<T> This removes remaining 4 boxing allocations Tests: unit tests
Today
Optim: Use ListHashSet<T>.Compare in UpdateSubscriptions and UpdateHighPrioritySubscriptions Tests: none, trivial change
Today
Update: Network.Visibility.Provider works on ListHashSet Tests: none, simple changes
Today
Update: Facepunch.Pool now supports ListHashSet - gave ListHashSet a default ctor Tests: unit tests
Today
Update: ListHashSet has it's own specialized static Compare method - Replciated tests from ListExtensionTests for ListHashSet Tests: ran unit tests
Yesterday
Optim: List.Compare now uses pooled hashsets instead of hashing-and-sorting 2x faster. Now, just need to see if I can get rid of these remaining allocs (just 4 per stable run) Tests: unit tests
Yesterday
Merge: from profiling_improvements - Reduce capture size by ~19% by filtering out more methods Tests: snapshot on craggy in editor
Yesterday
Update: further reduce capture scope by ~19% - Built from c4679e41 Tests: snapshot in editor on Craggy
Yesterday
Merge: from main
Yesterday
Merge: from parallel_validatemove - Bugfix: GamePhysics.OverlapCapsules no longer skips 0-length-capsule queries - Additional unit tests Tests: unit tests + staging demo playback
Yesterday
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
Yesterday
Update: Adding GamePhysics.CheckSpheres Tests: unit tests (next submit)
Yesterday
Merge: from main Tests: none, no conflicts
Yesterday
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
5 Days Ago
Update: GamePhysics.OverlapCapsules and OverlapSpheres now check for invalid commands and report errros Tests: unit tests
5 Days Ago
Clean: added a comment expanding the reason for previous test Tests: none, trivial change
5 Days Ago
▉▅▄█▆: ▊▌▋▉█▊▇▇▄▌▋▅▄▄▇▍▆▍▍▉█▊▆▆▅▇▆▉▉▋▆▅ - ▆▌▄▍ ▅▉▌▅ ▇▄▋▅▆▄▉▇▊ ▇-▇▆▅▌▌▄ ▉█▇▅▇▌▌ ▇▉▉▌▅ ▍▇▌▊▄ ▋▅█▍ ▄▄▅▌▍▌▅█▄ ▄█ ▍▄█▊ ▅ ▋▌▉▆█▊▊▅▇ ▇▆▉ ▊▆█▋ █▅▉▇ ▆▆█▍ ▊▌▉ ▉█▅▍ ▍▅ █▆▍ ▊▅ ▉▇▇▍█: ▉▊▉ ▋▌▊ ▋▉▌▌▇
6 Days Ago
Bugfix: ServerDemoPlayer - skip trying to spawn invalid prefabs from the server demo stream Tests: played back server demo
6 Days Ago
Update: make ServerDemoPlayer complient with recent Protobuf changes Tests: played back a staging server demo
6 Days Ago
Merge: from main Tests: none, no conflicts
6 Days Ago
Merge: from loading_entity_leak - Fix zombie ProtoBuf.Entity objects never being returned to the pool after loading a game save Tests: loaded craggy save, editor default procgen save and staging server save
6 Days Ago
Bugfix: don't leak ProtoBuf.Entity during loading of a save Loading a 4.3k staging server save drops ~129k objects (almost all get spilled, but that's okay after a load) Tests: loaded craggy save, loaded default editor procgen save and stagign server procgen save
6 Days Ago
Merge: from fix_treetoolrenderer - Brings back tree rendering on editor start with a scene with trees without triggering database refresh Tests: variosu editor open scenarios, various scene switching scenarios with domain reload
6 Days Ago
Update: TreeToolRenderer is now a static class instead of an EditorTool State survives domain reload (somehow). Tests: started editor on swamp_a, craggy, swamp_b - rendered okay. Triggered a couple domain reloads via code changes - still rendered with active scene + scene switching
6 Days Ago
Bugfix: bring back tree rendering on first scene opening - Defer tool initialization to first scene load to avoid triggering asset refresh in InitializeOnLoad Tests: closed and opened editor with various starting scenes. Switched scenes.
7 Days Ago
Merge: from ioentity_slacklevels_pooling - Fixes IO entity spilling List<float> on save Tests: build a couple water tanks and checked pool.print_memory
7 Days Ago
Bugfix: use pooled List<float> during IOEntity's slacklevels saving Avoids inflating List<float> in the pool, and eventually spilling them, leading to GC pressure. Tests: on craggy build a couple water tanks - checked that "List`1[System.Single" pooled active objects doesn't go negative
7 Days Ago
Merge: from playerinventory_allocs - Removing extra garbage allocs from ToArray calls Tests: equipped armor when already having one, tried to pick up an extra map with one already in the belt
7 Days Ago
Update: PlayerInventory.CanWear no longer allocates an extra array - BufferList.CopyFrom now clears orphaned range, to avoid holding references to managed objects Tests: gave myself 2 maps - they correctly avoided being both on the belt
7 Days Ago
Update: pool ToArray allocation in PlayerInventory.WearItemCheck - BufferList now can copy from List Tests: equipped armor while wearing armor
8 Days Ago
Merge: from parallel_validatemove - Clearing 2 TODOs Tests: unit tests
8 Days Ago
Clean: remove minor TODOs - append Job to the last burst job without it - Replace .Add with AddNoResize Tests: uni tests
8 Days Ago
▇█▉▊▉: ▋▋▌▊ ▅▆▄▉▍▌▉▍_▄█▋█▉█▆▉▌▋█▅ - █▋▉█▍▅▉▄▉▆▅▅▆█▇▉▄▍▌ ▇▅▍ ▅▍▋▆▋▄▇▅▊ ▍ ▇▊▅▇▋▉ ▊▋▆██ ▌▇ ▊▆▄▄▊█▍, ▌▄▄▉▉ ▉▊▋▇ ▉▊▇▉▅▋▉▆▍▌▉▇▅ ▅▊▉ ▇▊▅▍▊ ▍▊▊▋▅▆▊▊▋▅ (▌▌▇▊▋ ▄▆▅▌▋ ▋▅▌▍) - ▉▋▍▇▄▆▍▉ ▋▊▊▄▋▋▄▉▌▊▆ ▋▊ █▋█▌ █▅▉▇▅▌▌▌▋, ▅▇▇▆▊▉▅▇▅▊▄▋, ▇▉▄▇▌▅▌▄▆▅▄█▉ ▉▄█ ▆▉▌▌▆▄▊▋▆▉▍▋ ▉▇▇▄ █▅▅ ▊█▍▇▋▍▋█ ▄▇▌▋▄█▋ ▄▉▌▅▉▇▍ ▇▅▇▅▅: ▉▍▋▍▄▇██▍▆ ▆▄▌█▉ ▉▇▇▌▍ (▇▌▆▋▅▆, ▉▋▊▄▌▍ ▉▌▆ ▉▆▇) + ▋▇▉▍ ▋▌▆▋▆ + ▅▋▇▍▋█▆ ▋▊▊▍ ▋▋▌▊▋▌▇▆ + ▉▄▅▄▇▍ ▊█▇▇▄█ ▉▇ ▄█▄▇▅▅ - ▉▆▄▉▍▆▉▄▉ ▍▅▌█▄▆ ▆▍▋▍▍▅▄ ▌▇▊▅█▇▋ ▇▊ █▋▆ ▋▆ ▄▊▅▅█▉▌█ ▆▆▍▉ - ▅▌▉▆▇▅▄█ █▊▍▋▋▆▇
8 Days Ago
Merge: from main Tests: none, no conflicts