7,935 Commits over 1,004 Days - 0.33cph!
Stop LOD components registering with occlusion culling while its off
Occlusion culling never runs under RRP, but moving LODs still pushed their bounds every frame into a list that never got cleared
Was ~0.5ms a frame on dynamic occludee for nothing too on average
merge from occlusionculling_leak_fix
Optimized rain particles
- rain patches now use a closest hit sphere cast instead of GamePhysics.Trace, it collected every colliders down a 1km column to keep only the top one
- a patch only casts again when it moves
- coming back from an alt tab doesnt fire 64 casts in the same frame
- fixed rain falling under some roofs
Editor profiling raining at missile silo, average per frame:
0.42ms -> 0.06ms standing, 0.11ms running, 0.14ms at 20m/s
Applies to snow too
Fixed misconfigured raiding tests failing after the triangle splash bug fix
merge from animalfootsteps_optims
Set rabbit animation events culling range to 20
Added AnimatorEventLOD component, disables animation events past a distance
Applied to all animals, 100m for most, 20 to 60m for critters
For 10 wolves roaming 150m away, all events are now off:
339 B -> 0 per frame
Animation update ~0.05ms per frame cheaper
Only create the sound fade modulator once the sound starts fading, saves the allocation for sounds that never fade
So we never pay useless modulator allocation
merge from flexvirtualscroll_optim
merge from uicompass_optim
Fixed animal footstep sounds not playing until its first idle animation finished
▌▉▄▅▍▍▆▋ ▆▇█▆▍ ▇▄▉█ ▅▌▌█ ▇█▍▆▇▌▌▇
Fixed boars bulls cows and wolves having 4 left foot
merge from automated_testing/client
merge from automated_testing/client
Fixed SM_DisableHorseProceduralMotion OnStateEnter allocs...
Fixed SM_DisableHorseProceduralMotion OnStateExit allocs
Well actually lets drop the sounds from missed rays because that meant all the shit at 0,0,0 would be audible now
Fixed missed rays spawning the footstep sounds at 0,0,0 🙃
Animal footsteps raycast optims:
- On dry terrain, we read the terrain splat map instead of raycasting, one ray every 2 meters to check the animal is still on terrain
- If not on terrain (rocks, base, water) we just do one ray instead of 4
- If the animal is in water, we still play the effect past the audible range to make sure you can see the water splash effects
5 wolves running around on grass, 80% less raycasts
~0.115 -> ~0.08 ms
Skip footstep effect spawning and only keep the sound if they're fully invisible
It cuts all the effect spawning on grass for all animals
Wolf footstep playing in editor: ~0.15ms -> ~0.11ms
(this is not applied if music is enabled because aggressive animals footstep effects increase music intensity when nearby)
Fixed all wild animals in network range casting rays for their footsteps effects regardless of distance (if occlusion culling disabled)
We now match the footstep sound def max hearing distance before casting the ray (around 50 meters)
Was spending 0.5ms and 1.2KB every frame for 4 animals
Fixed UICompass copying its mat properties every frame, saves ~0.05ms a frame
Prevent FlexVirtualScroll from running its LateUpdate when its parent canvas is disabled. Saves ~0.04ms a frame
▊▅▊▍█ ▌▆▍▌▉▌█▉▉ ▉█▅ ▌█▍ ▉▌▉▇▅▆▍▊ ▋▋ ▇██ ▋▅▉▌ ▌▇▄▉▊█▄ ▋▇▉▆▄▄▇ ▇▋ ▌▆▌▉▇▋▅▌▊▆▅▅█▄▌▇ ▍▉▆█▇█▌▇ █▉ ▋▊▊▉▊ █▄▋▊█▇ ▍▉▄▅▅
We now take a screenshot when a client test fails
Container tests, opens every container in the game
Deleted furnace_static, its unused and cant be opened
Description pass and cleanup
Cows moo less: idle animations can now be weighted
Some cleanup, converted some old tests
Fixed copypaste erroring when pasting invulnerable entities
▋▆▋▆▇▄▋▆▍ ▅▅▄▇▍█▍▌▍ ▆▋▆▇ ▊▌▅▌▇▌█ ▉▌▅▍▍ ▋▍▅▉▅▅▄▅ ▍▋▄▊▉▌▄ ▌▉▇ ▉▊▊█▉▌ ▅█▊ ▍▋█▆▄▄ █▅█▋▆▌ ▄▊ ▄▇▍▌█ ▇▉ ▋▊▍▉▊ ▆▆▇ █▆█ ▊█▅██