branchrust_reboot/main/gc_optimizationscancel
20 Commits over 0 Days - ∞cph!
Fixed fireball prefab path warning
Fixed hacky workaround in fireball entity code to reference the spread entity
Added pooling to ColliderGroup / RendererGroup / FoliageGroup (eiliminates GC allocs)
Eliminated a 20B GC alloc from RendererKey.GetHashCode (ShadowCastingMode boxing)
DeferredExtension.OnGUI is ifdef UNITY_EDITOR
Deleting ProfileData (unused)
Eliminated SpecialPurposeCamera GC allocs
Eliminated GC allocs from FPSTimer
EffectRecycle / DecalRecycle cache their invoke actions (eliminates GC allocs once pooled)
Entity links are pooled (eliminates GC allocs)
Removed GC allocs from GetComponentInChildrenIncludeDisabled
Nicer separation of editor-only entity networking cost in the profiler
Rebuilt Facepunch.Network and Facepunch.Raknet plugins
Networkable + Subscriber are pooled (eliminates GC allocs)
Networkable fires events via NetworkHandler interface instead of actions (eliminates GC when subscribing / unsubscribing events)
Deleting Plugins/Facepunch (all part of Facepunch.Network)
BaseNetworkable SaveInfo / LoadInfo are structs (eliminates GC allocs)
Much more detailed profiling in CreateOrUpdateEntity (ClientSpawn, ClientInit, InitShared etc)