5,932 Commits over 3,987 Days - 0.06cph!
Eliminated GC allocs from FileStorage / Signage / UIPaintableImage / MapEntity by smarter caching (TODO: make async)
Fixed WaitForSecondsRealtime being broken
Added additional profiling to UpdateInventoryFromSchema
Merge from weekend_branch
Disabled dynamic batching (experiment)
Reverted some buffer pre-allocations (memory usage)
Profiling, cleanup, small GC optimizations
Adjusted default buffer sizes of collider groups, renderer groups, foliage groups and LOD cells
Remove foliage groups when they are empty (similar to renderer / collider groups)
Reduced GC allocs in SelectedBlueprint.RefreshBlueprint
Log warning when trying to create attachment on viewmodel without model component
Reduced sky brightness slightly
Fixed material / memory leak in Bradley TreadAnimator component
Reduced or eliminated GC allocations from Transform.FindChildRecursive (only used by UI)
Viewmodel attachments use Model.FindBone instead of Transform.FindChildRecursive (more efficient since cached)
Removed AttachToBone (unused, inefficient)
Eliminated GC allocs from BaseEntity.UpdateParenting
Tweaked EntityLink default capacity
Optimized MaterialColorLerp
RenderInfo debug tool no longer duplicates materials when called
Disabled PlanterBox, EmissionToggle, LaserBea, FlashlightBeam and VendingMachineScreen material adjustments since they were all leaking materials / memory
Removed TransformEx.FindChildren since it's super inefficient and now unused
Fixed material / memory leak from mining quarries
Eliminated GC allocs from MaterialColorLerp.RefreshRenderers
Eliminated GC allocs from PlantEntity.UpdateSkinParameters (called from PostNetworkUpdate)
Re-enabled dynamic batching (too many changes on staging this week, let's compare again next week)
Eliminated needless group creation when trying to destroy an empty network group on the client
Eliminated GC allocs from BaseNetworkable.NetworkDestroy
Just use prefab name on the client in Entity.ToString() to avoid GC allocs
Eliminated GC allocs from MaterialReplacement
Eliminated GC allocs from ItemContainer.Load
Adjusted some memory pool sizes
OnInventoryChanged profiling
Fixed Server.DestroyNetworkable not calling Networkable.Destroy when returning networkable to pool
Disabled dynamic batching (experiement)
Merge from gc_optimizations_2
Subtracting gc_optimizations
Added LOD mesh swapping support to StagedResourceEntity
Fixed ores using the wrong mesh in the distance when partially broken
Merge from gc_optimizations
Cherry picking improved CreateOrUpdateEntity profiling (22318)
Reverting to legacy EAC API due to server authentication issues
Network++
Removed gc.interval since it's bullshit and the thought of someone having it enabled scares me