RealNC wrote:Sure. A fastpath line with 50ms latency is better than than an interleaved one with 20ms. Sorry, that's not how it works. Latency is latency. How the packets are buffered doesn't play a role.
This is not what i said. And you really try to make things simple here, when they clearly aren't, which is not the right thing to do. Most of the time people who do not understand certain things, or have never experienced something try to make things plain and simple, while neglecting the complexity of certain things, the problems that are being described or the problem itself. I really hate that.
And you are obviously wrong in your example or at least not entirely correct i should say. Interleaving is not a problem, as long as interleaver depth is low enough, the gaming experience (hit registration) will not be affected in a major way, it will not be perfect, yes, but it will be still great and perfectly acceptable. The problem starts with higher and highest interleaver depths, which affects fps gaming and hit registration in a very negative way.
So, no more explaining things by the "feel" and the so called broscience.
Lets get straight into good stuff, an actual science. Games are using UDP packets.
UDP is suitable for purposes where error checking and correction are either not necessary or are performed in the application; UDP avoids the overhead of such processing in the protocol stack. Time-sensitive applications often use UDP because dropping packets is preferable to waiting for packets delayed due to retransmission, which may not be an option in a real-time system.
Retransmission, essentially identical with Automatic repeat request (ARQ), is the resending of packets which have been either damaged or lost. Retransmission is one of the basic mechanisms used by protocols operating over a packet switched computer network to provide reliable communication (such as that provided by a reliable byte stream, for example TCP). Such networks are usually 'unreliable', meaning they offer no guarantees that they will not delay, damage, or lose packets, or deliver them out of order.
Reasons for an UDP delay and UDP slow response time:
- High network load
- The system that is being communicated to is too busy, or overloaded
- The connection is being made over an overloaded line
UDP Retransmissions:
Although UDP is a connectionless protocol, applications do retransmit UDP packets. Different applications use different methods for determining retransmissions (such as timers or sequence numbers). UDP retransmissions occur for a number of reasons, including the packet was lost, dropped or otherwise missing.
lexlazootin wanted proof, and this is as close i can get you one without me talking and explaining how "bad registration" feels and looks like on the screen. I could highlight the most important things from these quotes but i assume that people can do that by themselves. The only thing missing here is how interleaving affects UDP packets, fps gaming and hit registration. But it is pretty straightforward based on these quotes.
So now, how is that fast path gives us a perfect hit registration ? How is that low interleaving doesn't alter hit registration to a significant degree ? And why error correction, high interleaver depth, network overload messes with fps gaming and hit registration in a major and negative way ?
In fast path mode, packets are being:
- dropped do to errors (packet loss is being introduced)
- sent and delivered without delay (no artificial delay injection)
- sent and delivered in a perfectly proper order
- retransmitted by an application when neccesary (fast path mode does not mess with that)
This perfectly explains why in fast path mode we have a perfect hit registration. When someone has interleaving on line, he will experience dropped packets in a game when switching to fast path. But it will not be a problem, because the whole gaming experience and hit registration being that much better. Yes, packet loss in not really a problem, as long as everything else is being sent and delivered without delay and in proper order.
In interleaved mode (low interleaver depth), packets are:
- being delayed to avoid packet loss (you can still get some packet loss or no packet loss at all)
- being sent and delivered with an artificial delay (small delay, low variance)
- being sent and delivered in a correct but not perfect order (at least most of the time, do to delay variance)
- being retransmitted by an application when neccesary (but interleaving and artifical delays might mess with it in a slightly negative way)
Here you can see how interleaving starts messing up UDP packets and your gaming experience and hit registration. The changes are small and lower interleaver depths are perfectly acceptable for fps gaming, because it doesn't affect the game perfoemnce in a major way. You may notice hit registration problems from time to time, but it doesn't really affect your overall gameplay.
In interleaved mode (higher interleaver depths), packets are:
- being delayed to avoid packet loss completely (if your line is bad, you still might get minimal packet loss)
- being sent and delivered with an artificial delay (big delay, high variance)
- being sent and delivered in an order that is far from perfect or optimal due to big delay variance (high probability)
- being retransmitted by an application when neccesary (but high interleaving and big artifical delays might mess with it in a very negative way)
Here we are. Enter "bad hit registration" problem in fps games among many other things that negatively impact fps gaming. Delaying UDP packets is never optimal, but introducing big delays messes with them in a big time. Packets are being artificially delayed big time, you no longer experience packet loss, but at the same time packets are being sent and delivered out of order too (most likely), so once the packets reach the server they are already late (server calculates you missed) and once the packets reach you, they are already outdated (players position/action may be outdated). Either of these things happens (or all of them to a certain degree), and this is causing hit registration problems among other things. It also perfectly explains why the game feels more random (out of order) when you experience bad hit registration. And higher interleaving itself most likely interferes with UDP retransmission algorithm by an application (the game).
How network overload affects fps gaming and hit registration ?
Simple. Your ISP's network work in a such a way that everything is automatic. Devices and software are constantly monitoring your line parameters and are making changes on the fly to make the connection reliable and stable. The term "gaming traffic", there is no such thing for your ISP, the devices in the network and the software that is running all of it. It is completely ignored and disregarded, what matter is the whole network stability and reliability. Most people experience hit registration problems to a different degrees. Problem also randomly goes away and shows up again. It is because of network performance fluctuations, based on the network usage, meaning how many people are using internet in your area/city at the time you play the game. And your ISP's devices and software is monitoring your line at all times, and it changes various parameters based on what is reported, if you have more errors and more packet loss it increases error correction, interleaving and delays on the line, if the network usage is light, meaning no errors (or small amount of errors) it will remove limitations and decrese interleaving. This is why people randomly experience "good hit registration" (no problems at all) and "bad hit registration". I even suspect that overall high network load and overloaded lines play a big role in "hit registration" problem, even if you take out interleaving (!) out of the equation. Why ? Because if there was only 1 person using internet in your area/city (you) then you would have perfect gaming experience and hit registration regardless of the network parameters that are being applied on your line at that time. How that would be possible ? Because there would be zero interferences on the line (cables), and it would perform to the fullest of its capabilities with no errors, and the only limiting factor would be a ping time.
----
There are few slight assumptions here and there but it perfectly supports science an everything i said and what people around the world are experiencing.