branchrust_reboot/main/io_optimscancel
15 Commits over 0 Days - Infinitycph!
Fixed AmbientLightLOD lights staying dark when their entity is reused from the pool next to the player, like after teleporting or respawning in your base
Regression from
168517
Fixed LOD components allocating a delegate each time they reregister with occlusion culling
A big base streaming in (~3500 LOD components):
417KB -> 15KB alloc
Fixed MeshCull not hiding its renderer when reused from the pool while culled
Was causing code lock light quads to draw at any distance after spawning, amongst other things
Fixed ParticleSystemCull playing particle systems at any distance when turned on using SetVisible
Fixes conveyor flashing and furnace heat shimmers playing at any distance when they spawned in already on
Saves 0.15ms on the particle main thread when near a big base with 71 particle systems
Fixed door controller lights not being culled
Was ~0.2ms on light culling and binning for 81 of them
Idle SAM sites stop rewriting their aim every frame
Was 0.04ms per frame with 4 sam sites in network range
Fixed IO entities with pipes rebuilding their pipe colliders on every network update
IO entities sending full network update is quite rare as they rely on flags but still worth fixing
Fixed industrial pipes drawing invisible line renderers inside the pipe meshes, component wasnt disabled
For a base with 223 pipes:
Was 0.05ms on the main thread and 0.5ms on workers every frame
Another visual cooking pooling fix
Now poolable:
- Cooking workbench
- Metal embrasures
- Flower pots
Fixed some visual cooking pooling bugs
Windmills now use two syncvars to send wind updates instead of full network updates
They're poolable too
Storage adaptors are now poolable (were the biggest spawn cost when streaming in a base with a lot of them)