branchwiseguys/main/ServerPerformancecancel
26 Commits over 30 Days - 0.04cph!
Allow building debug server without building release version as well
OUtlineEffect for client only. Fix NRE on built Server
Get rid of outline warnings
Has to remove all WaitForEndOfFrame use on the server due to this regression bug in the latest Unity version breaking it when in batchmode: https://issuetracker.unity3d.com/issues/waitforendofframe-doesnt-execute-in-batchmode-on-built-project
Killed all the garbage generation from NetworkStats. Keys were NetworkMessageTypes but enums cause boxing when doing comparisons, generating garbage. Switched to using ints which eliminates the garbage
Server garbage gen reduction
Using pooling with InputMessage to save on a lot of garbage. Still testing this one.
Added pool size checking (editor only) to make sure we can't break pooling without noticing.
Fixed CharacerState not repooling in Client+Server mode. This was an old issue that I only just discovered.
Fixing up a couple of other things that were borked in CLIENT+SERVER mode
Merging the latest from Main
Get variable interpolation clock to set a value earlier. Not a server perf fix, just less stuttering on clients with lots of lag
Turning interp clock debug off
Minor edits. Rebuilt protobuf proj.
Fix input issue in CLIENT+SERVER mode
Major improvements to my CharacterState and InputMessage reuse code.
Merging in the latest from Main into my server performance branch
Don't need connection check on door interaction. Fixes NPCs not being able to interact with doors anymore.
Trying nav changes to improve door nav performance on servers. Doors using NavMeshLinks. Unfortunately NPCs can occasionally teleport through when they shouldn't.
New door nav system taking advantace of NavMeshLinks to replace non-carving obstacles that were there before. Major performance improvement. Also fixed a bug with door interaction text when two players were interacting with the door at once.
Allow open/close of interior doors, even if you don't own the building. Only outer doors are unusable (when closed) now.
Allow AI to path interior doors
Vehicles fully deactivate on server when stationary. ~15% less CPU usage on testmap_small.
Improve server performance by ~30% by having NetworkEntities use an Update call manager. See also: https://blogs.unity3d.com/2015/12/23/1k-update-calls/