From: divverent Date: Tue, 7 Sep 2010 07:37:02 +0000 (+0000) Subject: new option -benchmarkruns - if specified, the given number of benchmark runs is perfo... X-Git-Tag: xonotic-v0.1.0preview~244 X-Git-Url: https://git.rm.cloudns.org/?a=commitdiff_plain;h=792301875aa80fe0aa43b8af302d689474a4c193;p=xonotic%2Fdarkplaces.git new option -benchmarkruns - if specified, the given number of benchmark runs is performed for -benchmark git-svn-id: svn://svn.icculus.org/twilight/trunk/darkplaces@10447 d7cf8633-e32d-0410-b094-e92efae38249 ::stable-branch::merge=b035320854424884c174e6b33092f63c4158a3a3 --- diff --git a/cl_demo.c b/cl_demo.c index 4da12fb5..ea10bff6 100644 --- a/cl_demo.c +++ b/cl_demo.c @@ -452,8 +452,10 @@ CL_FinishTimeDemo void CL_FinishTimeDemo (void) { int frames; + int i; double time, totalfpsavg; double fpsmin, fpsavg, fpsmax; // report min/avg/max fps + static int benchmark_runs = 0; cls.timedemo = false; @@ -465,9 +467,25 @@ void CL_FinishTimeDemo (void) fpsmax = cls.td_onesecondmaxfps; // LordHavoc: timedemo now prints out 7 digits of fraction, and min/avg/max Con_Printf("%i frames %5.7f seconds %5.7f fps, one-second fps min/avg/max: %.0f %.0f %.0f (%i seconds)\n", frames, time, totalfpsavg, fpsmin, fpsavg, fpsmax, cls.td_onesecondavgcount); - Log_Printf("benchmark.log", "date %s | enginedate %s | demo %s | commandline %s | result %i frames %5.7f seconds %5.7f fps, one-second fps min/avg/max: %.0f %.0f %.0f (%i seconds)\n", Sys_TimeString("%Y-%m-%d %H:%M:%S"), buildstring, cls.demoname, cmdline.string, frames, time, totalfpsavg, fpsmin, fpsavg, fpsmax, cls.td_onesecondavgcount); + Log_Printf("benchmark.log", "date %s | enginedate %s | demo %s | commandline %s | run %d | result %i frames %5.7f seconds %5.7f fps, one-second fps min/avg/max: %.0f %.0f %.0f (%i seconds)\n", Sys_TimeString("%Y-%m-%d %H:%M:%S"), buildstring, cls.demoname, cmdline.string, benchmark_runs + 1, frames, time, totalfpsavg, fpsmin, fpsavg, fpsmax, cls.td_onesecondavgcount); if (COM_CheckParm("-benchmark")) - Host_Quit_f(); + { + ++benchmark_runs; + i = COM_CheckParm("-benchmarkruns"); + if(i && i + 1 < com_argc) + { + if(atoi(com_argv[i + 1]) > benchmark_runs) + { + // restart the benchmark + Cbuf_AddText(va("timedemo %s\n", cls.demoname)); + // cannot execute here + } + else + Host_Quit_f(); + } + else + Host_Quit_f(); + } } /*