branchrust_reboot/main/renderbatch_meshlod_improvcancel
11 Commits over 30 Days - 0.02cph!
Optim: simplify prev bugfix, don't early initialize LOD managers
Tests: pasted a boat, flew out and back - props were there
Bugfix: fix initialization race of LODComponent on whether it's dynamic or not
- Now both ToggleDynamic and OnEnable can initialize managers+occlusion
When loading from network snapshot, it was toggling dynamic state before it initialized managers, leaving it in a half-dynamic, half-static state
Tests: spawned a copy paste boat, all entities were present. Flew out of net range and back - all's there
Bugfix: mark appartment doors a/b/c as dynamic
- apartments S2P
Since they move, they should've been dynamic, but it also causes them to be refreshed and have up to date occlusion state (but no idea why we need this - will chase up later)
Tests: booted into apartments island, checked all floors for doors not rendering. Checekd room 101 - stuff was rendering
Bugfix: fix MeshLOD never unregistering from occlusion after animating
- when batching gets toggled, notify batching handlers
- MeshLOD will toggle culling on notif
Tests: paste of many doors, opened couple doors and flew far/close - no more missing meshes
Bugfix(editor): add ResetStaticFields to OcclusionCulling
- codegen
Tests: spawned copypaste, restarted game in editor - print out doesn't mention lingering renderers
Clean: add a comment
Tests: none, trivial change
Optim: permit MeshLods to use occlusion culling if it has an invalid RendererBatch
Taken from
156029. Saves 30% of drawcalls in all 5 test cases, 20% of avg fps improvement in editor(will test standalone later)
Tests: profiled 5 test cases, flew around keeping an eye out on weird rendering
Optim: don't create procedural batch meshes if they only contain one input mesh
This inhibits unity's batching via instancing. In 2 out of 5 scenarios saves 16% of draw calls/~1ms avg in editor
Tests: monument island with appts and disabled world prefabs, tleeported to 5 locations and inspected profiler stats