-
Notifications
You must be signed in to change notification settings - Fork 0
Open
Labels
enhancementNew feature or requestNew feature or request
Description
Right now, when the host gets an input RPC from a client, it processes it independently and immediately. This includes reflecting the input to all clients.
Instead, it could do something more like:
- When an input is received in an RPC:
- Store the inputs to the input buffer, but don't do a replay just yet
- Put it into a pool of pending inputs to be processed
- At the top of each frame on the host:
- Apply and replay from the earliest frame in the pending inputs pool
- Run the current frame
- Batch together the inputs from the pool, and send them to the clients
- Possibly send this in the same RPC as any delta or full frame send, per issue In NetworkStateManager::HostFixedUpdate(), if we're sending a frame update AND sending inputs, we can consolidate those into a single RPC instead of doing two of them #18
- Clear the pool
Edge-cases would need to be carefully considered, but at first blush this could reduce replays on both the host and clients, and reduce the amount of RPC traffic involved.
Metadata
Metadata
Assignees
Labels
enhancementNew feature or requestNew feature or request