// default to sys_ticrate (server framerate - presumably low) unless we
// have a good reason to run faster
timecap = sys_ticrate.value;
- if (cl_avidemo.value >= 0.1f)
- timecap = 1.0 / (double)cl_avidemo.value;
- else if (vid_activewindow)
- timecap = 1.0 / host_maxfps.value;
+ if (cls.state != ca_dedicated)
+ {
+ if (cl_avidemo.value >= 0.1f)
+ timecap = 1.0 / (double)cl_avidemo.value;
+ else if (vid_activewindow)
+ timecap = 1.0 / host_maxfps.value;
+ }
timeleft = oldrealtime + timecap - realtime;
if (timeleft > 0)
{
// don't totally hog the CPU
if (timeleft >= 0.02)
- Sys_Sleep();
+ Sys_Sleep((int)(timeleft * 1000) - 5);
return false;
}
}
if (host_speeds.integer)
time1 = Sys_DoubleTime();
+ R_UpdateWorld();
CL_UpdateScreen();
if (host_speeds.integer)