12,539 Commits over 4,109 Days - 0.13cph!
Added LOD mesh swapping support to StagedResourceEntity
Fixed ores using the wrong mesh in the distance when partially broken
Merge from gc_optimizations
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)
Cherry picking improved CreateOrUpdateEntity profiling (22318)
Much more detailed profiling in CreateOrUpdateEntity (ClientSpawn, ClientInit, InitShared etc)
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
Added StringFormatCache (caches the result of repeated string.Format calls with the same arguments)
Eliminated GC allocs from effect path assembly (this affected every single effect spawn)
Fixed animation event prefab paths not being lowercase
More prefab paths that weren't lowercase
Fixed some hardcoded prefab paths in code that weren't lowercase
Removed some crazy inefficient methods from GameManager that should not be used by anything
Eliminated GC allocs from lowercase conversion of prefab names (triggered by spawn handler, decor spawners)
Log warning when having to convert prefab names to lowercase (should never happen)
Added AssetNameCache (with GetName / GetNameLower / GetNameUpper extension methods for materials and physic materials)
Eliminated GC allocs from footstep / footprint lookups, hit effect lookups and gib effect lookups
Reduced distance fog / aerial perspective density at daytime / dusk / dawn by 25-50%
Added "authtimeout" convar (default = 10 seconds)
Reduced spawn density of wooden logs by around 30%
Disabled saving on radtown ore nodes (not supported by loot spawn points, RUST-1747)
Better spawn handler density enforcement
Larger coastal player spawn areas
Eliminated ~300B of GC allocs whenever a randomized sound was played
Eliminated GC allocs from effect instantiates (IEffect.SetupEffect)
Eliminated GC allocs from effect weapon bone parenting (EffectParentToWeaponBone)
Eliminated GC allocs when switching resource stages (StagedResourceBreakEffect)
EAC SDK update (fixes macOS startup issue)
▌▆▍▉▌▊▍▄▄▋ ▍▌█▊▊ ▆▇▍▍▇▍▇█▋ █▉▅▋▊▄█▇ ▌▄▅▄▍▆▌ ▇█▉ ▅▊█▆
Rebuilt Facepunch.Network and Facepunch.Raknet
EAC SDK update (eliminates GC allocations)
Do EAC auth right after Steam auth