by Spike » Wed Feb 09, 2011 1:15 am
r_netgraph in quakeworld, when set to 1, each column shows your ping for that individual frame (clientside calculated, server calculates separately and averages).
A white bar represents a packet which bounced off the server. All is good with the world. Its height will indicate your ping. Typically one screen pixel per ms.
A yellow bar means the server intentionally 'dropped' a packet. Nothing was lost, it'll just be resent a little later - tip: increase your 'rate' cvar/userinfo.
A red bar means a packet was lost on the wire. Its gone for good. The info inside will be resent if it was a reliable packet. If there was a sound effect, you will never hear it. Entity data will be resent based on the last-known-good state anyway, so not really any different from yellow in that regard. But it'll still count against your rate. Red means your ISP sucks.
A blue bar means a packet arrived... But it was bad. The sequence didn't match. Your ISP sucks big time. Super big time. The game is receiving packets in the wrong order from how they were sent! This can happen if you send high packet rates across a multiplexed link, but quake shouldn't be generating packet quantities that could possibly break a well behaved one.
If you get a lot of red/yellow/blue in blocks, your game is screwed. If they only happen periodically then its probably ignorable, just annoying. The packet rate is high enough that a single dropped packet isn't an issue. The game will freeze any time more than 64 packets in a row are dropped, and entity deltas will be disabled until it recovers.
If you get periodic high pings, it means your connection is stalling periodically, buffering packets as it goes. This sucks, and feels worse than regular packet loss.
So yeah, for quakeworld, regular packet loss isn't a problem, the engine was basically designed to drop packets half the time (yellow bars). What'll mess over your game is inconsistant latencies.
Mere high latencies will just feel like regular non-quakeworld quake. :P
OMC, try infokey(foo, "pl"), but its not really useful except maybe for stats at the end of the match. Ping isn't that useful for a mod either.
When it comes to pings, bear in mind that NQ pings will be about a frame higher... I think?
Other games may show 'latency' rather than 'ping'. Its basically the same, but 'latency' does not include rendering time penalties and thus comes out a little lower. Its a pure-network ping that is not quite realistic in the real world, other than as a pure measure of ISP prowess.
Pings:
13 = localhost @ 72 fps
26 = nearby public server
70 = bad isp
100 = other side of europe
200 = western europe to eastern US
300 = satelite link
600 = aol.
3000 = the server is on the moon.
1530000 = the server is on mars.
57600000 = the server is on the voyager 1 spacecraft...
.