userJake_Richcancel
branchrust_reboot/main/batch_all_packetscancel

9 Commits over 0 Days - Infinitycph!

16 Days Ago
Fix steam networking bug from only sending the last batch as Immediate - set every single batch as immediate on steam networking, only set last batch on raknet - fixes every packet waiting 5ms for nagle in steam networking
16 Days Ago
Match network to main (since it will be increased during staging wipe)
16 Days Ago
merge from main -> batch_all_packets
17 Days Ago
Optimize network thread's batching overhead slightly - during the end of frame flush only set the last batch sent as "immediate" priority - avoids paying the extra 0.4us to wake the RakNet thread after every single batch sent, instead only paying it once for the entire batch
17 Days Ago
Add unordered batch alongside the ordered one so we keep sending position packets unordered while keeping them batched - my previous commits were incorrect: positions have always been sent unordered
17 Days Ago
Move packet batch from Dictionary -> Connection field
19 Days Ago
Fix NetWrite.SendImmediate() not using the writeLock (pre-existing issue)
20 Days Ago
Rename field
20 Days Ago
Take the idea of batching position packets and instead apply it to all types of packets - queue up packets per frame - send them out after invokes finish - packets are batched on the network thread so no change to the main thread - new packet type to indicate if it's a batch of small packets - ConVar to control batching at runtime - client can handle both batched & unbatched packets - batches are sent as "immediate" so they bypass raknet's internal buffering since we are now basically doing the buffering RakNet was doing