R_Mesh_Start();
- R_TimeReport_BeginFrame();
-
R_UpdateVariables();
// Quake uses clockwise winding, so these are swapped
R_TimeReport("2d");
if (cls.signon == SIGNONS)
+ {
R_TimeReport_EndFrame();
+ R_TimeReport_BeginFrame();
+ }
DrawQ_Finish();
// process console commands
CL_VM_PreventInformationLeaks();
Cbuf_Execute();
+ R_TimeReport("console");
}
//Con_Printf("%6.0f %6.0f\n", cl_timer * 1000000.0, sv_timer * 1000000.0);
if (framelimit > 1 && Sys_DoubleTime() >= aborttime)
break;
}
+ R_TimeReport("serverphysics");
// send all messages to the clients
SV_SendClientMessages();
// send an heartbeat if enough time has passed since the last one
NetConn_Heartbeat(0);
+ R_TimeReport("servernetwork");
}
//-------------------
if (cls.state != ca_dedicated && (cl_timer > 0 || cls.timedemo || ((vid_activewindow ? cl_maxfps : cl_maxidlefps).value < 1)))
{
+ R_TimeReport("---");
// decide the simulation time
if (cls.capturevideo.active)
{
CL_Video_Frame();
CL_Gecko_Frame();
+ R_TimeReport("client");
+
CL_UpdateScreen();
if (host_speeds.integer)
S_Update(&r_refdef.view.matrix);
CDAudio_Update();
+ R_TimeReport("audio");
// reset gathering of mouse input
in_mouse_x = in_mouse_y = 0;