X-Git-Url: https://git.ao2.it/experiments/fps-meter.git/blobdiff_plain/e3ce9103ca48d145197fec43770c701aa0f1bdc6..305623c3344e80fcec567176ed188b2db9fb51ce:/fps-meter.h 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