10,834 Commits over 3,867 Days - 0.12cph!
Cherry picking all multithreaded networking fixes
Merge from main changeset
78966
Changing server MaxReceiveTime default value from 20 to 50 (leads to better performance overall, especially with multithreaded networking)
More EOS pinning improvements
Applying EACServer fixes to EAC
Rolling back ArrayPool removal from NetWrite and NetRead
EACServer experiments / debugging (continued)
EACServer experiments / debugging (continued)
EACServer experiments / debugging (continued)
EACServer experiments / debugging (continued)
EACServer experiments / debugging (continued)
Adding missing lock around EACServer tick
More EACServer lock experiments
Removing stopwatch / forced cycle from all worker threads (redundant since 79169)
Only log one warning when SkeletonProperties.boneReference is null (instead of spamming one for every bone)
Increasing MaxReadQueue, MaxWriteQueue and MaxDecryptQueue values to 5000 on the server
Adding profiler samples to BaseNetwork.EnqueueWrite
Adding protect and unprotect locks to EACServer (debugging / testing)
More granular locking
Added warning when main thread is stalling (waiting for write thread)
When kicking / disconnecting a connection, make sure the decrypt thread isn't currently using it
Adding several convars to configure and debug multithreaded networking
Resolving roads being too straight
Limiting previous workaround only to listen server (so running a dedicated server inside the editor is unaffected)
Skipping BaseMountable.FixedUpdateCycle and Buoyancy.Cycle on large maps inside editor since they make the game unplayable
Commenting out AIMovePoint.FixedUpdate and AICoverPoint.FixedUpdate (significant performance impact on large maps inside editor, even when DDrawAIDataPoints is false)
Fixed ring rail and road not (or barely) finding valid paths on custom maps (this needs testing before we can apply it to main)
Fixed TerrainPlacementMap issues when used on custom maps
Pool performance issue debugging
Changing the default pool prewarm count to 1 of each instead of 10 of each (some frequently used prefab types still prewarm with 100)
Fixed edge case of underground train entrance stairs not connecting to underground line
Fixed several errors during demo playback
More server build bullshit
Removing fullscreen exclusive mode from settings as it provides worse performance than fullscreen window mode in Unity 2021.3
Changed all existing configs to use fullscreen window mode
Enable fullscreen exclusive mode when launched with "-window-mode exclusive" startup parameter
thumb_up
14
thumb_down
21
Explicitly pass 0 as preferredRefreshRate when calling Screen.SetResolution
Merge from multithreaded_networking_3 (disabled by default)
Removing the need for decryptIncoming and encryptOutgoing connection flags
Restoring old connection "connected" flag behaviour