userDaniel Pcancel

2,864 Commits over 700 Days - 0.17cph!

16 Days Ago
Optim: cache BasePlayer.ForceUpdateTriggersAction allocation Saves a single 128b alloc Tests: none, trivial change
16 Days Ago
Merge: from buildcommand_allocs - Bugfix for enable_marker_teleport teleporting to wrong Z Tests: unit tests + enable_marker_teleport
16 Days Ago
Optim: get rid of a string alloc in teleportpos Forgot it when expanding string view compatibility Tests: used enable_marker_teleport
16 Days Ago
Bugfix: fix invalid trimming in ToVector(StringView) - StringView - add 2- and 3-char Trim overloads - add a unit test Tests: unit tests + enable_marker_teleport
17 Days Ago
Merge: from main
17 Days Ago
Clean: add root-level *.slnx to plastic ignore list Tests: plastic doesn't show it as a new file
17 Days Ago
Merge: from player_benchmark_improvements - New: added PlayerModelBenchmark scene that tracks rendering cost of new player model Tests: ran benchmark a couple times
17 Days Ago
Clean: remove UNITY_EDITOR ifdefs around logging Tests: none, trivial change
17 Days Ago
Merge: from main
17 Days Ago
Merge: from pm2
17 Days Ago
Update: disable lightmap baking on scene load for PlayerModelBenchmark Tests: deleted generated assets, reopened scene - no new lightdata
17 Days Ago
Update: add PlayerModelBenchmark scene to the build list - also add it to recognized +autobench list Tests: none, trivial change
17 Days Ago
Update: add PlayerModelBenchmarks cene shortcut to Scenes menu Tests: compiles
17 Days Ago
Update: resave after unity 6 upgrade Tests: ran benchmark
17 Days Ago
Merge: from main
17 Days Ago
Merge: from player_benchmark_improvements
17 Days Ago
Clean: remove naked player bench from ClothingBenchmark Superceded by PlayerModelBenchmark Tests: none, trivial change
17 Days Ago
Bugfix: avoid NRE when no recorders are requested by a benchmark Tests: ran ClothingBenchmark
17 Days Ago
Update: PlayerModelBenchmarkScene - record bone count of spamed player models Tests: ran benchmark
17 Days Ago
Update: BenchmarkScene - add support for selecting which recorders to activate - added Scripts and Physics recorders - PlayerModelBenchmark uses only Rendering + Animation ones Tests: ran benchmark with various category bitfields
17 Days Ago
Update: add "CPU Total Frame Time" recorder Tests: ran baseline
17 Days Ago
Update: add mainthread-only Camera.Render recorder Tests: ran baseline
17 Days Ago
Update: PlayerModelBenchmark - add baseline run (0 models) - change bench naming convention Tests: none, trivial changes
17 Days Ago
Clean: get rid of RecordSampleCount - it duplicates MaxNumberOfFrames Tests: none, trivial change
18 Days Ago
Merge: from main up to 152363
18 Days Ago
Update: Allow benchmark to stop after enough samples accumulated - converted PlayerModelBenchmarkScene to run till 1k sampels accumulated - support accumulated sample wraparound (explains weird results I saw previously) Tests: ran player benchmark
18 Days Ago
Update: Add PlayerModelBenchmarkScene.UseRandomAnims - spawns players with different model states - add a run per lod level with anims (bringing total to 12) In theory should break batching/reuse, but results are a bit too similar(editor overhead?) Tests: ran the scene
18 Days Ago
Update: define player spawning via desired lod level rather than manually placing them Code lifted from editor gives results that don't land on the LOD boundary, but it still fits in the lod level. Tests: checked triangle counts for every lod level, it falls as expected for every stage
18 Days Ago
Bugfix: convert bench durations from 120frames to 1s Seems to accumulate more data from ProfilingRecorders, but it's sample count doesn't follow linear extrapolation. Weird. Tests: ran the bench scene
18 Days Ago
Update: rename Perf.PlayerModel scene into PlayerModelBenchmark - Purged it of original setup, instead controlled by a script New bench script spawns 100 nakeds at various LOD levels and measures rendering stats Tests: ran benchmark scene
18 Days Ago
Update: format output by recoder's unit type - updated recorder's idents to for easier parsing - skip recorders that didn't accumulate any data Tests: ran the scene in editor
18 Days Ago
Bugfix(editor): silence UIBlackoutOverlay.Get error when running benchmarks in editor Tests: ran ClothingBenchmark in editor, no longer blasted by errors
18 Days Ago
Update: BenchmarkScene - add support to gather simple rendering and animation perf telemetry - ClothingBenchmark uses it for normal standing pass Tests: ran ClothingBenchmark, checked debug output
23 Days Ago
Merge: from jobs3_skip_preallocnetwrites - Optim: Jobs 3 - move netwrite pooling to all threads Tests: ran around craggy with Jobs 3
23 Days Ago
Optim: Jobs 3 - skip running PreallocNetWrites On a busy server we can end up sending 1.5k entities in a frame, and it can cost us 0.7ms total on preallocation. With recent pool rewrite we should be able to allocate on demand. Tests: On Craggy ran around/broke stuff/ziplined with Jobs 3
24 Days Ago
Merge: from buildcommand_allocs - Optim: reduce alloc count from building Arg commands from 20+ to 2 on average - Update: expanded StringView API, Tests: unit tests and running a bunch of different console commands
24 Days Ago
Merge: from main
24 Days Ago
Update: Codegen Tests: builds
24 Days Ago
Merge: from main Needs codegen
24 Days Ago
Optim: reimplement all Arg.Get* via GetStringView Avoids allocations in the GetString fallback Tests: unit tests
24 Days Ago
Update: add StringView-to-numeric extensions Tests: ran unit tests
24 Days Ago
Clean(tests): get rid of redundant profiling code Tests: builds
24 Days Ago
Optim: BuildCommand - remove another Substring alloc via StringView Down to 3 allocs/0.34KB per call Tests: ran a couple commands with and without args
24 Days Ago
Optim: ConsoleSystem.Index uses StringView internally to avoid allocations Tests: booted into craggy, ran a couple commands (short and fully qualified)
24 Days Ago
Optim: Arg.Args is now a StringView[] Most of the code uses GetString to lazy alloc a string. BuildCommand is now 4 allocs/0.4KB per call Tests: unit tests, booted into craggy and set a couple variables, tested crosshair clientvars
24 Days Ago
Optim: Arg.FullString is now a StringView - updated CodeGenerator to support StringView params - ran codegen Saves an allocation(once I’m done with conversion). Currently at 12 allocs/0.85KB per call Tests: booted into cragy, tried echo and say commands
24 Days Ago
Update: add StringView.Trim(char) overload - add unit tests Tests: ran unit tests
24 Days Ago
Optim: add StringView.SplitQuotesStrings overload - Refactored logic to work on StringViews internally Only has 1 alloc(StringView[]). Using it is blocked on whether I'll be able to convert Arg.Args field to StringView[] or not Tests: none
24 Days Ago
Update: add StringView.EndsWith(StringView) - added trivial unit test Tests: ran unit tests
24 Days Ago
Merge: from pool_mt - Bugfix: implemented missing Pool.Reset and ResetMaxCounterUsage Tests: booted into craggy couple times with Skip Domain Reload active - no NYI exceptions