userDaniel Pcancel

1,265 Commits over 335 Days - 0.16cph!

Today
Optim: AutoTurret - virtualize part of transform hierarchy on server - Breaks dependent logic - will update next This saves 75% of time in synth test of updating aiming of 1k turrets (1.29ms -> 0.32ms) Tests: perf test + debug rendering
Today
Tests: PerfTest for AutoTurret.UpdateAiming Hacking AutoTurret's code, it suggest we can shrink this by 85% Tests: ran the perf test
Today
Merge: from growablegenes_allocs - clean of 1 line Tests: none, trivial change
Today
Clean: remove unused static Tests: none, trivial change
Today
Merge: from growablegenes_alloc - reduces(removes?) junk allocs from growables Tests: editor builds + alloc unit test
Today
Clean: unused usings Tests: none, trivial change
Today
Merge: from main Tests: editor builds
Today
Clean: remove Sort from BufferList Not used anywhere Tests: editor builds
Today
Optim: don't sort slotWeights to avoid internal allocs Array.Sort(T[], IComparer<T>) in this version of mono always allocates a Comparison<T> internally. Lucky for us, we can just simplify the code and avoid this alloc. Tests: alloc unit test passes
3 Days Ago
Optim: avoid allocating compoarison delegate in GrowableGenes.PickWeightedGeneType Tests: unit test
3 Days Ago
Test: GrowableGenes test to track allocations - only tests GrowableGenes.GenerateRandom, but that was enough of a head-ache Found one opportunity to get rid of garbage alloc, but also found out Array.Sort(T[], int, int, ICompare<T>) always allocates Tests: ran the unit test
4 Days Ago
Merge: from main
4 Days Ago
Merge: from benchmarking_update - Added Biome benchmark - Re-enabled other benchmark scenes - Deleted Terrain and FoliageGrid benchmarks, demo benchmark Tests: benchmark in editor and standalone client
4 Days Ago
Merge: from main
4 Days Ago
Merge: from item_pooling - Fixes bugs with pooling use - List<Item> leak and use-after-free Item use - Added tests Tests: unit tests + confirmed container corpses no longer leak List<Item> from pool
4 Days Ago
Merge: from main Tests: none, no conflicts
4 Days Ago
Clean: remove FoliageGridBenchmark and associated script Superseded by BiomeBenchmark Tests: benchmark in editor
4 Days Ago
Update: BiomeBenchmark - expose camera flight speed - Set default camera speed to 16, similar to what it was when lerping Tests: benchmark in editor
4 Days Ago
Update: BiomeBenchmark - split timings per topology Certain topologies generate a lot of visual clutter, so have a noticeable impact. Previously the effect would be lost when averaging the timings. Tests: benchmark in editor
4 Days Ago
Update: BiomeBenchmark - add it to standalone build Will replace FoliageGridBenchmark today Tests: autobench in client
4 Days Ago
Update: BiomeBenchmark - rewrite heightfield gen to generate a lower coastline - Also slowed down the camera speed by half Tests: benchmark in editor
4 Days Ago
Update: BiomeBenchmark - introduce a delay when starting and teleporting the camera to islands Helps with asset pop-in. Tests: benchmark in editor
4 Days Ago
Update: BiomeBenchmark - snap camera to player height above ground Tests: benchmark in editor
4 Days Ago
Bugfix: BiomeBenchmark - put procedurally created terrain on Terrain layer This caused foliage/clutter to not spawn as much as it could, leaving islands barren. Tests: benchmark in editor
5 Days Ago
Update: BiomeBenchmark - switch to custom topology generation - Added extra info about under-camera topology to help investigate things further Still not getting the effect I want Tests: benchmark in editor
5 Days Ago
Update: BiomeBenchmark - debug mode - Freezes camera on a specified island at specified flight pos Tests: benchmark in editor
5 Days Ago
Update: BiomeBenchmark - control the size of biome islands isntead of entire map Makes this easier to control the benchmark Tests: benchmark in editor
5 Days Ago
Update: BiomeBenchmark - add clutter spawning - Runs a copy fo server-side hacked-together logic I can see various trees spawning on islands, but the rocks block too much of area - going to try to reduce that next. Tests: benchmark in editor
5 Days Ago
Update: BiomeBenchmark - allow filtering which biomes to test - also slowed down the camera flight to help with pop-in Tests:benchmark in editor
6 Days Ago
Buildfix: wrap new test in server if-def Tests: editor build check
6 Days Ago
Bugfix: TakeFractionOfItems no longer leaks List<Item> Tests: destoyed a box with `dropCorpseOnDeath 1`, pool stats no longer had an active List<Item>
6 Days Ago
Bugfix: TakeFractionOfItems no longer drops items that didn't fit destination container Tests: unit test - previously failed, now passes
6 Days Ago
Test: unit test for DroppedItemContainer::TakeFractionOfItems Don't think we can reproduce the pooling bug with vanilla items, so adding a unit test instead. Currently fails. Tests: ran the new unit test
6 Days Ago
Merge: from main Missed backout CL
6 Days Ago
Merge: from main
6 Days Ago
Hack: BiomeBenchmark - try generating clutter without incomplete server Didn't work, since they spawn server side, but there's no server to send this info to client. Will try to migrate the clutter to client side next. Tests: benchmark in editor
6 Days Ago
Update: BiomeBenchmark - add basic avg frame time tracking Tests: ran scene in editor
6 Days Ago
Update: BiomeBenchmark - generate fly-through camera track Tests: BiomeBenchmark in editor
6 Days Ago
Update: BiomeBenchmark - re-enable a bunch of procgen scatter - Brings in vine trees, rocks Tests: BiomeBenchmark in editor
6 Days Ago
Update: BiomeBenchmarks - Fixed biome generation on row-islands - Benchmark map size works with NPOT sizes Now to figure out why forests are not coming through Tests: BiomeBenchmark in editor
7 Days Ago
Update: BiomeBEnchmark - minor progress - Fix invalid biome assignation per island - Submerge the terrain - Get rid of terrain setup in scene - Fixed terrain heightfield to generate non-ocean topology, but the scale of the resulting terrain is too big. Still investigating how to make topo better without inflating terrain too much. Tests: BiomeBenchmark in editor
7 Days Ago
Update: BiomeBenchmark - disable rock scattering to speed up iteration Will re-enable later Tests: BiomeBenchmark in editor
7 Days Ago
Merge: from main Tests: none, no conflicts
7 Days Ago
Update: BiomeBenchmark - first baby steps - Generates empoty row-islands + biome map for these islands - Generates biome map for row-islands Confused why I get beach texture everywhere. Need to sort that next. Tests: ran the BiomeBenchmark scene in editor
7 Days Ago
Update: BenchScene - StartBenchmark is now a coroutine Helpful to make BiomeBenchmark setup straighforward Tests: autobench in editor
7 Days Ago
Clean: remove deleted TerrainBenchmark from the build settings Tests: none, trivial change
7 Days Ago
Bugfix: FoliageGridBenchmark - FoliageGrid was destroyed without waiting for job completion This caused issues with native container cleanup Tests: autobench in editor
8 Days Ago
Update: Merge Terrain and FoliageGrid benchmarks - Re-enabled terrain rendering in FoliageGridBenchmark - Delete TerrainBenchmark Tests: autobench in editor
8 Days Ago
Bugfix: MonumentBenchmark - don't clean up reflection probes between monument spawns This would cause sporadic exceptions during benchmark run. Tests: autobench in editor
10 Days Ago
Update: Hook in PacketProfiling for outgoing traffic Only tracks Rust packets. Tests: on Craggy in editor with runtime_profiling 2 and breakpoints