useroctocancel
branchrust_reboot/main/buoyancy_optimizationcancel

19 Commits over 31 Days - 0.03cph!

9 Months Ago
merge from main
9 Months Ago
merge from main
10 Months Ago
merge from main
10 Months Ago
Burst the rest of buoyancy, now the batched version is 2-3x faster than the original. Still missing some edge cases but its functional for boats.
10 Months Ago
Remove flow map from shared burst data, I forgot to undo this change earlier.
10 Months Ago
- Reuse list buffer in water collision checks. - Add shared static accessor to TerrainMeta to access terrain position/size from burst. - Make more buoyancy native arrays persistent, reuse them. (temp job allocs seem a lot heavier than just temp allocs.) - Make GetFlowDirection easier to access from burst, not yet burst compiled - Burst compile GetBuoyancyWaterInfoBatched, temporarily remove deep underwater checks from it, we'll move deep water checks to a different code path. Things seem functional, but only slightly faster than the non batched version. A lot of terrain data access still isn't batched.
10 Months Ago
merge from main
10 Months Ago
Fix water collision jobs in buoyancy throwing exceptions due to temp allocator use.
10 Months Ago
Further optimize GetBuoyancyWaterInfoBatched, let topology queries run in burst(no batch yet), batch water ignores.
10 Months Ago
merge from main
10 Months Ago
Code clean up
10 Months Ago
Batched Buoyancy is now functional, but still missing some code and needs more optimization: - Move buoyancy data into persistent arrays and reuse them. - Add convar for switching between batched/old buoyancy. - Add 3D positions for water info step. - Add Ocean Simulation.GetHeights span overloads for interop with native arrays. (they still need a XZ3D step, otherwise we'd use the native arrays directly - TODO later.) - Add GetBuoyancyWaterInfoBatched. (wip, missing entity fast paths for inside terrain/above water) - Shim Ocean simulation into WaterSystem.GetHeightArray_Native, it's already batched, works for now.
10 Months Ago
Still heavily wip, run the watermap jobs from burst.
10 Months Ago
Start tracking buoyancy components to track them, split batches into deepsea/mainland.
10 Months Ago
merge from main to fix playmode
10 Months Ago
update from main
10 Months Ago
WIP, it's getting annoying to drag these changes across branches: - Move a good chunk of buoyancy into burst. - Add burst methods for filling buoyancy point data arrays. - Introduce methods for running buoyancy in a batch rather than on every component separately.
10 Months Ago
Make terrain height and shore vector methods readonly to indicate that they're pure.
10 Months Ago
Add indexer to pooled array, add extension for copying managed arrays into native arrays. (intended for smaller collections)