From 2028833262f6ba6867eea303139046f26a6a6a41 Mon Sep 17 00:00:00 2001 From: Luca Cuzzocrea Date: Thu, 28 Sep 2023 10:55:40 +0200 Subject: [PATCH] Framerate limit --- code/main.cpp | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/code/main.cpp b/code/main.cpp index 0a4b814..52456c4 100644 --- a/code/main.cpp +++ b/code/main.cpp @@ -175,6 +175,8 @@ int main(int argc, char *argv[]) f64 start = p_time(); f64 prev_t = 0; + f32 max_render_time = 1.0 / 30.0; + f64 processing_start = 0; while(1) { // Engine @@ -183,6 +185,13 @@ int main(int argc, char *argv[]) //LOG(LOG_INFO, "Frame time: %.3lf ms FPS: %.2lf", 1000*delta_t, 1/delta_t); r_time_update(engine.time); + // @Hack: @Performance: Reduced framerate to use less resources. Text rendering is highly inefficient right now. Maybe it will improve later and this will not be necessary anymore. + f64 processing_time = engine.time - processing_start; + if(processing_time < max_render_time) + p_wait(maximum(0, (max_render_time - 1.02*processing_time) * 1000)); + processing_start = p_time() - start; + + // Input bool exit = process_input(); if(exit)