X-Git-Url: https://git.ao2.it/experiments/fps-meter.git/blobdiff_plain/e3ce9103ca48d145197fec43770c701aa0f1bdc6..23d91d8d314070577a8045070be503d273f8258d:/fps-meter.h diff --git a/fps-meter.h b/fps-meter.h index e965ffe..c756ab6 100644 --- a/fps-meter.h +++ b/fps-meter.h @@ -1,5 +1,5 @@ /* - * fps-meter - Example program about how to measure frames per seconds + * fps-meter - Some functions to measure frames per seconds * * Copyright (C) 2013 Antonio Ospite * @@ -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