branchrust_reboot/main/spectate_dontfloodsnapshotscancel
8 Commits over 31 Days - 0.01cph!
Bugfix: UsePlayerTasks - calculate end of batch correctly in SendEntityDestroyMessages_AsyncState
This was causing server occlusion to skip sending some of destroy commands (from last batch), leaving a phantom player
Tests: on Craggy went on behind hill, then checked editor entity list - confirmed that replicated players got removed on both ends
Bugfix: Ensure initial player snapshot gets sent to spectator in UsePlayerUpdateJobs 2 case
Tests: on craggy with UsePlayerUpdateJobs 2, took 2nd player behind a hill to occlude, then tried to spectate them - confirmed that the first snapshot got sent.
Update: spectator's snapshot queue is cleared when switching between far-away targets
This should speed up switching around on a server. Doesn't help if the network write queue is backed up
Tests: on a 2k procgen map and fast noclip, flew around the island to load up the snapshot queue, then spectated on a player that's on the other side of the island. Observed player moving.
Undo:
135590 - ISubscriberStrategy.GatherSubscriptions outputs whether it has fully or partially gathered subscriptions
After implementing throttling realized there's a better way(invalidate grid sbuscriptions for spectator) - thottling solves only half of problem
Tests: editor compiles
Update: ISubscriberStrategy.GatherSubscriptions outputs whether it has fully or partially gathered subscriptions
- all existing implementations report "full" gathers
This feeds into whether we'll stop running UpdateSubscriptions or not. Will use this to throttle-and-prioritize cell streaming to spectators
Tests: editor compiles