branchrust_reboot/main/async_serveroccl_gencancel
12 Commits over 31 Days - 0.02cph!
Clean(editor): a bit more dead code removal
Tests: used LoadMapTool to investigate server occlusion concerns
Clean: remove profiler disabling on boot
Was temp measure code that slipped in
Tests: none, trivial change
Clean: extract GetBatchSize and WaitForTasks into ThreadingUtils
Tests: ran compile simulator
Update(editor): add heightmap sample and isInside visualization to server occlusion editor debug
Spent too long chasing non-existent domain reload ghosts
Tests: visualized occlusion of EU East 1. tested occlusion gen on craggy with 2p
Bugfix: avoid out of bounds access in FindComponent<T>
- also add editor ifdef guards for editor attribute
Results array can be oversized, since we reuse it
Tests: ran unit tests - pass
Optim: tweak batch size when calculating server occlusion narrow phase
This cuts down 4.5k world server occlusion generation from 45s to 35s in batched mode. Async further brings it down to 22s
Tests: ran generation in editor
Update: make UnsafeScriptingAccess initialize on editor load
Allows to use it in editor-only tools/workflows
Tests: ran server occclusion generation in editor, checked profile
Update: add GamePhysics.FindComponent<T> that supports async
Configured async to engage at more than 4 batches of 64 queries
Tests: ran perf tests. same perf up to 400 points, at 10k points is 2x faster 0.42ms batched+async vs 0.96ms batched vs 5.4ms serial
Update: add TerrainMeta.SampleTerrainMeshHeights
Configured to engage async after have more than 4 batches of 256 pos each
Tests: ran perf tests
Update(tests): add IsInsideTerrain perf comparison tests
Need them to tweak when to engage async and when to skip it internally
Tests: ran them