View previous topic :: View next topic |
Author |
Message |
nicolasbol
Joined: 23 Feb 2009 Posts: 9
|
Posted: Wed Mar 04, 2009 9:09 pm Post subject: SV_Frame |
|
|
Looks like QuakeWorld server is updating the world at a fixed framerate (10hz).
But I see no limitations in sending messages to clients, looks like the main loop is sending packet as fast as it can.
Where is the 10Hz limitations enforced in the code ?
At first I thought it was:
Code: | if (select (net_socket+1, &fdset, NULL, NULL, &timeout) == -1)
continue; |
But it only check for socket readability.... |
|
Back to top |
|
 |
r00k
Joined: 13 Nov 2004 Posts: 483
|
Posted: Thu Mar 05, 2009 4:39 am Post subject: |
|
|
in netQuake its at _host_frame
so in QW maybe its near cl_maxfps...
or host_frametime ? |
|
Back to top |
|
 |
Spike
Joined: 05 Nov 2004 Posts: 944 Location: UK
|
Posted: Thu Mar 05, 2009 11:36 am Post subject: |
|
|
sys_mintic defaults to 0.013 (one tic every 13 milliseconds for about 76 fps so its smooth enough at 72).
That's the server physics rate limiter.
Its checked in... sv_phys.c
This doesn't apply to player physics.
server->client packets are sent with no artificial waiting as soon as the server receives a packet. select is used only to reduce cpu load on an idle server, without unconditionally sleeping. Its timeout will keep the qc ticking over at a much reduced rate. _________________ What's a signature? |
|
Back to top |
|
 |
nicolasbol
Joined: 23 Feb 2009 Posts: 9
|
Posted: Thu Mar 05, 2009 6:12 pm Post subject: |
|
|
So after further reading and testing, it looks like there is no 10Hz limit in Quake World.
As Spike mentionned, there is a limit for the physic simulation but players movements are unaffected.
So the Server sends message to a client if:
- A message was received from this client
- The client rate is not "chocked" via a client parameter.
That's mostly how flow control is performed. |
|
Back to top |
|
 |
|