From b5b4e14cf4b1456f82d89b10be4dfdc7626bfa47 Mon Sep 17 00:00:00 2001 From: Martin Pulec Date: Thu, 21 Apr 2022 11:07:16 +0200 Subject: [PATCH] GL: use time_ns_t instead of tv --- src/video_display/gl.cpp | 15 +++++---------- 1 file changed, 5 insertions(+), 10 deletions(-) diff --git a/src/video_display/gl.cpp b/src/video_display/gl.cpp index 2ad8b7d60..1a7804c7d 100644 --- a/src/video_display/gl.cpp +++ b/src/video_display/gl.cpp @@ -290,7 +290,7 @@ struct state_gl { int dxt_height = 0; - struct timeval tv; + time_ns_t t0 = get_time_in_ns(); int vsync = 1; bool paused = false; @@ -318,8 +318,6 @@ struct state_gl { #endif state_gl(struct module *parent) { - gettimeofday(&tv, NULL); - module_init_default(&mod); mod.cls = MODULE_CLASS_DATA; module_register(&mod, parent); @@ -896,8 +894,6 @@ static void pop_frame(struct state_gl *s) static void gl_process_frames(struct state_gl *s) { - struct timeval tv; - double seconds; struct video_frame *frame; struct message *msg; @@ -995,14 +991,13 @@ static void gl_process_frames(struct state_gl *s) /* FPS Data, this is pretty ghetto though.... */ s->frames++; - gettimeofday(&tv, NULL); - seconds = tv_diff(tv, s->tv); - - if (seconds > 5) { + time_ns_t diff_ns = get_time_in_ns() - s->t0; + if (diff_ns > 5 * NS_IN_SEC) { + double seconds = static_cast(diff_ns) / NS_IN_SEC; double fps = s->frames / seconds; log_msg(LOG_LEVEL_INFO, MOD_NAME "%lu frames in %g seconds = %g FPS\n", s->frames, seconds, fps); s->frames = 0; - s->tv = tv; + s->t0 += diff_ns; } }