Saturday, March 2, 2019

Out of Order Packets

So with a recent post on Fortnite reddit, they've brought to light that the UE4 engine has had some problems with out of order packets. Meaning the packets arrive in a different order then they're sent. These packets were originally dropped and now it appears as though they're reordering them inside of a buffer, assuming this also means that the buffer still can only hold so many packets before it will once again dump the packets if they arrive too late.

https://www.reddit.com/r/FortNiteBR/comments/awagpo/packet_reordering_technical_post/

Essentially this is packet loss, even though the game does not alert the user of the issue (packet loss indicator) and there is no way to diagnose this problem as of right now.

Packet loss or extensive out of order packets would result in degraded simulation accuracy and make it very difficult for people to predict where people are going, register shots, and otherwise participate in a real time fashion. This doesn't just effect Fortnite, it effects all games and how extensive depends on the engine and the netcode. I did not know this was a huge issue, but apparently it is.

Currently there does not seem to be any sort of ways of diagnosing this. I assume this isn't just the game, rather your connection, so ideally you could test this outside of a game setting. I also assume this would effect something like VOIP calls. Too big of a buffer and it introduces input delay which desyncs the conversation, too little and essentially you get packet loss and a garbled conversation.

There are tools for jitter, bufferbloat, latency, and bandwidth. Is there one for testing the severity of reordered packets or practical packet loss? IE depending on the size of the buffer it counts late packets as packet loss.

As mentioned earlier I believe this wouldn't just be applicable to helping diagnose problems with games, but also VOIP.



No comments:

Post a Comment