I've specced a few games and heard a few people talking about this so I thought I'd post a thread about it, as I looked and didn't see one.
The problem is that the ping is much higher than it used to be in any previous version, no matter what mod, host or map. A player who used to get a ping of about 500ms will now have a ping of around 2000. It happens for every player and it does affect how fast commands affect the game. It happens even in 1v1s with only a couple of specs. It's possibly a spec issue, I haven't tried a game with no specs. The game doesn't jerk or act laggy, it's just behind but otherwise smooth. I didn't see this last time i tested (about a week and a half ago) and I specced then.
Pings are much higher than 0.75b2 or SVN
Moderator: Moderators
Re: Pings are much higher than 0.75b2 or SVN
+1 I've seen this a number of times. Usually when I host no one has pings over 500, but in some games, they are over a 1000 for everyone. In others they are okay though.
Re: Pings are much higher than 0.75b2 or SVN
Yeah, this is new, and imo major enough to warrant a bugfix release alone... though I've heard there will be a bugfix release for 0.76 anyway.
-
el_matarife
- Posts: 933
- Joined: 27 Feb 2006, 02:04
Re: Pings are much higher than 0.75b2 or SVN
I had this in a game I was hosting last night, and I noticed that while the ping count was claiming 1300-1500 MS for everyone people weren't noticing any obvious lag. Also, I noticed that pings seemed to return to normal ranges after a player quit.
Re: Pings are much higher than 0.75b2 or SVN
I've noticed this a number of times...changing the speed to 0.8 and back seems to fix it sometimes.
- MightySheep
- Posts: 243
- Joined: 11 Nov 2007, 02:17
Re: Pings are much higher than 0.75b2 or SVN
Yes changing the speed anyway fixes it. It sticks for some people though.
Re: Pings are much higher than 0.75b2 or SVN
My current hypothese is that this is caused by client sending a NETMSG_NEWFRAME reply only every 8th frame instead of every frame. This wouldn't be so bad, if it wasn't for Spring buffering incoming network traffic and smoothing it out to fix jerkiness.
So I think the following happens:
If we fill in the numbers, assuming a 200ms network roundtrip, 50 FPS and 30 simulation frames per second, we can get to a ping of: 200 + (1000/50) + (1000/30*9) = 520 ms instead of the expected 267 ms. (while the actual lag isn't any worse)
This wouldn't fully explain it tho (1.5 second ping etc.), unless those people have really bad ping already normally, the game is running very slowly and their FPS isn't high either. Otherwise, no clue where the rest of the time goes
EDIT: well, one extra clue anyway: it may be in buffering outgoing network traffic in server. A NETMSG_NEWFRAME is 5 bytes, if it sends 4 in a packet (it can't do more if my calculations wrt network flushes are right), the oldest one is already delayed by an extra 133 ms, if this happens to be an 8th frame, this will add to the displayed ping. Client side outgoing network buffering should be negligible I think, due to sync replies. (Hint: maybe these should be combined with newframe replies, in particular if both contain framenumber?)
tl;dr: don't bother reading if you're not a dev
So I think the following happens:
- Client receives multiple NETMSG_NEWFRAME in one network packet.
- Client executes some of the NETMSG_NEWFRAMEs in the packet, but let's the others sit in the network buffer to prevent stuttering/jerkiness. The executed NETMSG_NEWFRAMEs happen to be not a 8th frame.
- Client goes on to do rendering, input handling, etc.
- Client comes back into ClientReadNet, and first simulates an 8th frame, sending a NETMSG_NEWFRAME back to server. Server thinks it's lagging badly because it is network roundtrip time + rendering time + 9 * simulation time ahead of the client. (9 because spring tries to smooth out on 2 newframe messages in network buffer anytime, plus 7 that didn't happen to be an 8th one (wonder who still follows me
))
If we fill in the numbers, assuming a 200ms network roundtrip, 50 FPS and 30 simulation frames per second, we can get to a ping of: 200 + (1000/50) + (1000/30*9) = 520 ms instead of the expected 267 ms. (while the actual lag isn't any worse)
This wouldn't fully explain it tho (1.5 second ping etc.), unless those people have really bad ping already normally, the game is running very slowly and their FPS isn't high either. Otherwise, no clue where the rest of the time goes
EDIT: well, one extra clue anyway: it may be in buffering outgoing network traffic in server. A NETMSG_NEWFRAME is 5 bytes, if it sends 4 in a packet (it can't do more if my calculations wrt network flushes are right), the oldest one is already delayed by an extra 133 ms, if this happens to be an 8th frame, this will add to the displayed ping. Client side outgoing network buffering should be negligible I think, due to sync replies. (Hint: maybe these should be combined with newframe replies, in particular if both contain framenumber?)
tl;dr: don't bother reading if you're not a dev
Re: Pings are much higher than 0.75b2 or SVN
According to my experience, I hosted all 0.75b2 games at 250-300ms ping and the 4 games 0.76b1 at 500-700ms ping.
I'm sure of my connection consistency. It is relevant with your analysis.
I'm sure of my connection consistency. It is relevant with your analysis.
- SwiftSpear
- Classic Community Lead
- Posts: 7287
- Joined: 12 Aug 2005, 09:29
Re: Pings are much higher than 0.75b2 or SVN
Tobi: I'm not sure I fully understood... but from the games I've been in so far it appears that it's not just the ping being reported incorrectly, but also the ingame actions being delayed much worse than they used to. Many high end players are complaining of 1v1 being unplayable due to the ping disadvantage. The reporting may be incorrect, but it doesn't seem like the whole story.
If I just misunderstood feel free to disregard this post
If I just misunderstood feel free to disregard this post
Re: Pings are much higher than 0.75b2 or SVN
IMO over 500ms becomes unplayable when microing fast units.
