From: Antonio Ospite Date: Sun, 14 Jul 2013 11:16:06 +0000 (+0200) Subject: The elapsed time does not need to be tracked in stats X-Git-Url: https://git.ao2.it/experiments/fps-meter.git/commitdiff_plain/305623c3344e80fcec567176ed188b2db9fb51ce?ds=sidebyside;hp=e3ce9103ca48d145197fec43770c701aa0f1bdc6 The elapsed time does not need to be tracked in stats Make it a local variable in fps_meter_update. --- diff --git a/fps-meter.h b/fps-meter.h index e965ffe..8f98b6d 100644 --- a/fps-meter.h +++ b/fps-meter.h @@ -50,7 +50,6 @@ struct fps_meter_stats { struct timespec time_start; struct timespec time_end; - struct timespec elapsed; unsigned int frames; double nsecs; @@ -66,16 +65,18 @@ static void fps_meter_init(struct fps_meter_stats *stats) static void fps_meter_update(struct fps_meter_stats *stats) { + struct timespec elapsed; + dbg("Start time: s: %ld, ns: %ld", stats->time_start.tv_sec, stats->time_start.tv_nsec); clock_gettime(CLOCK_MONOTONIC, &stats->time_end); dbg("End time: s: %ld, ns: %ld", stats->time_end.tv_sec, stats->time_end.tv_nsec); - timespecsub(&stats->time_end, &stats->time_start, &stats->elapsed); - dbg("Elapsed s: %ld ns: %ld", stats->elapsed.tv_sec, stats->elapsed.tv_nsec); + timespecsub(&stats->time_end, &stats->time_start, &elapsed); + dbg("Elapsed s: %ld ns: %ld", elapsed.tv_sec, elapsed.tv_nsec); stats->frames++; - stats->nsecs += (stats->elapsed.tv_sec * NSEC_PER_SEC + stats->elapsed.tv_nsec); + stats->nsecs += (elapsed.tv_sec * NSEC_PER_SEC + elapsed.tv_nsec); if (stats->nsecs >= NSEC_PER_SEC) { /* * if we were garanteed that each frame took less than