Inside3D!
     

SV_Frame

 
Post new topic   Reply to topic    Inside3d Forums Forum Index -> Engine Programming
View previous topic :: View next topic  
Author Message
nicolasbol



Joined: 23 Feb 2009
Posts: 9

PostPosted: Wed Mar 04, 2009 9:09 pm    Post subject: SV_Frame Reply with quote

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
View user's profile Send private message
r00k



Joined: 13 Nov 2004
Posts: 483

PostPosted: Thu Mar 05, 2009 4:39 am    Post subject: Reply with quote

in netQuake its at _host_frame

so in QW maybe its near cl_maxfps...

or host_frametime ?
Back to top
View user's profile Send private message
Spike



Joined: 05 Nov 2004
Posts: 944
Location: UK

PostPosted: Thu Mar 05, 2009 11:36 am    Post subject: Reply with quote

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
View user's profile Send private message Visit poster's website
nicolasbol



Joined: 23 Feb 2009
Posts: 9

PostPosted: Thu Mar 05, 2009 6:12 pm    Post subject: Reply with quote

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
View user's profile Send private message
Display posts from previous:   
Post new topic   Reply to topic    Inside3d Forums Forum Index -> Engine Programming All times are GMT
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum


Powered by phpBB © 2004 phpBB Group