How does all those networking modules work?

I looked around and found a whole bunch of assets that claim to give you better speed for sending and recieving data though client and server like: BridgeNet2, Bytenet, Warp, Fastnet. but none of them (unless I missed them) seem to explain what they do exactly to achieve this speed, I would want to use warp but I don’t exactly want to blindly trust it and use it without knowing the inner working of said asset.

Plus if I know how it works, I can make my own version that perfectly fits my needs.

So if anyone can tell me how they work it would be greatly appreciated, thank you for your time.

(Also I’m not sure if this is the correct category but I’m not sure if there’s any better option)

1 Like

From a Very quick look at Warps source code, it’s about what you’d expect.
It queues & batches network calls.
Again, this is a just a Very quick look at it though. There could be a bit more to it that I’m missing.

I don’t really see how you could optimize beyond that, because it’s Roblox.

Why does that help with the performance so much? It doesn’t seem all that impactfull…

oh wait is that what the creator of bridgenet was talking about in their post? BridgeNet | Insanely optimized, easy-to-use networking library full of utilities, now with roblox-ts! | v1.9.9-beta

Everytime you :Fire() a remote event on the client or server it has to

  • Send the Data
  • Ensure the Data was received
  • Ensure the Data was not corrupted

So lets say you want to send 10,000 items to the client (extreme example)
It’s better to only do the 3 steps once instead of 10,000 times.

1 Like

from what I can see and understand for ByteNet is that its main purpose is to serialize data into a binary format to minimize the size of a packet, which in turn hastens the transmission. on the receiving end, it deserializes. It also utilizes strict typing which nets some performance boost as it pre-allocates bytes associated with that var type to send (and only expecting that var type to be in that spot). In a limited resource environment and one where speed is demanded, it seems to be a solid choice.

1 Like

For my use case bytenet is a little too rigid, from what I understand you HAVE TO follow the predefined packet structure and that is fine for some if not most use case but again, it’s too rigid for me.
But it would be nice if I could make somthing that I can chose both bytenet way of doing things or traditional way you know?

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.