4,565 Commits over 731 Days - 0.26cph!
Spawn rhibs facing towards the deep sea centre
naval_update -> pt_boat_2
unskinned_windmill -> main
main -> naval_update (BREAKING)
unskinned_windmill -> main
Fixed more rotational weirdness
Use a guide prefab so you can see the sails of the Windmill when you place it down
Start the sails pointing towards the player rather than off to the left everytime
https://files.facepunch.com/ianhenderson/1b1311b1/Unity_4IqvKXIbrW.mp4
main -> unskinned_windmill
syncvar_Improvements_2 -> main
syncvar_improvements_2 -> main
Reading is now down 200~ milliseconds
- Use immediate reading mode
- Only write symbols if we have them
Introduce a cache for BaseNetworkable inherited types. Slighly speeds up post processing (300 ms or so)
Remove LINQ usage on ILPostProcessor hook hot loops
ddraw_server_wrappings -> main
Add text,box,capsule server bindings
Add DDraw BasePlayer overrides to the Server (this lets you call DDraw.Line and pass in a player to forward the console command to)
Add DDraw.BroadcastLine, DDraw.BroadcastSphere etc, this lets us forward the ddraw to all players automatically without specifing a player.
allocation_reductions -> main
allocation_reductions -> main
Preset list capacity on active renderer effects (stops list reallocations at runtime)
Stop UI_Hero_Infobox keeping running its update method for no reason when the menu is hidden.
Restore the update loop when menu is open again.
Saves 40 bytes a frame
Stop PostProcessingLayer stealing a whole 1 KB/s
This was due to profiling using a formatted string, a very minor mistake that we paid in allocations on every client.
- Profiling was using a formatted string in a hot loop
- Hide this behind convar: graphics.detailed_postprocessing_profiling
Fix DLSS breaking with GetTemporary.
Pass a texture descriptor struct to ask for a random write texture.
Dont allocate new RenderTextures every frame in PsotProcessLayer.RenderScale()
Lets use RenderTexture.GetTemporary instead
Savings in render loop (roughly):
- AsyncTextureLoad.Texture (.4 ms)
- Texture2D.LoadRawTextureData (.1 ms)
Save 40 bytes a frame in UIChat.
'FindWith' was allocating a lambda, replace with a simple loop
Stop HurtOverlay allocating 36 bytes a frame.
Was boxing a float into Mathf.Max() with a single value?
unskinned_windmill -> main
LOD improvements (match sail and vain)
Swapped windmills from skinned mesh renderers to regular mesh renderers.
With 50 windmills (high end, all around the same lod):
- saving .15 on UpdateAllSkinnedMeshes
- saving ,15 on MeshSkinning.Update
- Saving .12 on Animators.Update
- Saving .10 on DirectionUpdateAnimationBegin/End
- saving 0.07 on camera rendering
main -> unskinned_windmill
scientist_boat_fixes -> naval_update
Up scientist boat count from 12 to 36
(might scale with server pop in the future)
Dont global breadcast deep sea boat spawning - should prevent weird issues... scientists being without the boat?
boat_fixes -> naval_update
Potential fix for IsDriverDead
- Don't rely on a reference to dead driver (work with nulls)
- Gate checks between has spawned
Prevent on killed from firing an nre during server restarts
Dont save boat ai
Try to fix black bars on RHIB (that can show up at certain angles)
mounted_turret_reloading -> naval_update
naval_update -> mounted_turret_reloading
Fix some more dodgy angles on the front seat
- Swap front turret to correct mount pose (standing)
- Fixed problems with front turret being unable to progress its reload bar properly
- Adjust eye position on front turret
- Remove logs
Fixed AI turrets not shooting at the players (incorrect dot calculation)
Better driver caching, prevents a random other npc on the boat from being marked as the driver