[ENet-discuss] Real advantage of using multiple channel

Black Phoenix blackphoenix at online.ua
Wed Apr 28 12:50:01 PDT 2010


I am writing a multiplayer game, and I have partially solved network instabilities by adding a certain variable visual delay between rendering and "server loop". There is 100 msec buffer (4 frames at 30 FPS), which is not rendered. Human perception doesn't yet notice delay of 100 msec, but it can matter. In my game, updates are sent at half the server FPS (15hz).

This usually allows to compensate for small variations in incoming data rate, and to "stabilize" data to be rendered (only each 2nd game frame is sent, every even frame is reconstructed by interpolation).

Every time frame is received, the frame history is updated, and all frames which follow it are extrapolated (in case this is an "old" frame - a frame that updates frames history). The arriving frame is always the newest one (the client drops all frames which have number lower than previous received one).

But this is only against small errors, if you're getting 40 packets at once, that means you lost data for about 3 seconds? Sounds like something's terribly wrong with the network itself.

----- Оригінал листа -----
Від: "Syed Setia Pernama" [syedhs at yahoo.com]
Кому: "Discussion of the ENet library" [enet-discuss at cubik.org]
Відправлено: середа, 28 квітня, 2010 р. 08:15
Тема: [ENet-discuss] Real advantage of using multiple channel

> Hi,
> Just thought of describing the problem first, and my action and also what are
>  your similar experience about using channel.
> First of all, I have this problem where the packet comes in 'burst mode' ie
>  the transmitter (client) sends packet in fix interval ie every 50ms (20hz)
>  but the server *sometimes* receives the data all 40 in once (for an example)
>  - the worst is probably around 80. Ideally it should have received this in
>  fixed interval too but this doesn't happen. It is quite frustrating as this
>  make position extrapolation difficult.
> The question:
> 1) Is it the fault of the network switch (need to upgrade to intelligent?) or
>  could it be cable infra? In other word, is it *probably* related to hardware?
> 2) As for the s/w side (specifically enet), will it be better (or any beneficial)
>  if I assign different channel to packets which are utmost important eg in a
>  multiplayer scenario with cars moving around, the cars packet are transmitted
>  in its own channel, and the rest is default?
> It would be very interesting if you guys had encountered the 'data burst' scenario,
>  and to list what kind of fixes that are done.
> Thanks a lot.
> _______________________________________________
> ENet-discuss mailing list
> ENet-discuss at cubik.org
> http://lists.cubik.org/mailman/listinfo/enet-discuss

More information about the ENet-discuss mailing list