useroctocancel
branchrust_reboot/main/buoyancy_optimizationcancel

19 Commits over 31 Days - 0.03cph!

49 Days Ago
merge from main
49 Days Ago
merge from main
2 Months Ago
merge from main
2 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.
2 Months Ago
Remove flow map from shared burst data, I forgot to undo this change earlier.
2 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.
2 Months Ago
merge from main
2 Months Ago
Fix water collision jobs in buoyancy throwing exceptions due to temp allocator use.
2 Months Ago
Further optimize GetBuoyancyWaterInfoBatched, let topology queries run in burst(no batch yet), batch water ignores.
2 Months Ago
merge from main
2 Months Ago
Code clean up
2 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.
3 Months Ago
Still heavily wip, run the watermap jobs from burst.
3 Months Ago
Start tracking buoyancy components to track them, split batches into deepsea/mainland.
3 Months Ago
merge from main to fix playmode
3 Months Ago
update from main
3 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.
3 Months Ago
Make terrain height and shore vector methods readonly to indicate that they're pure.
3 Months Ago
Add indexer to pooled array, add extension for copying managed arrays into native arrays. (intended for smaller collections)