Mercurial > molko
diff libmlk-core/mlk/core/game.c @ 583:5a4e5b852f8a
core: make sure we never exceed 60FPS ticks
author | David Demelier <markand@malikania.fr> |
---|---|
date | Mon, 13 Mar 2023 13:07:48 +0100 |
parents | c7664b679a95 |
children | 76ce31b0151f |
line wrap: on
line diff
--- a/libmlk-core/mlk/core/game.c Mon Mar 13 13:01:21 2023 +0100 +++ b/libmlk-core/mlk/core/game.c Mon Mar 13 13:07:48 2023 +0100 @@ -109,8 +109,8 @@ if (mlk_window.framerate > 0) frametime = 1000 / mlk_window.framerate; else - /* Assuming 50.0 FPS. */ - frametime = 1000.0 / 50.0; + /* Assuming 60.0 FPS. */ + frametime = 1000.0 / 60.0; while (mlk_game.state) { mlk_clock_start(&clock); @@ -129,6 +129,13 @@ mlk_util_delay(frametime - elapsed); elapsed = mlk_clock_elapsed(&clock); + + /* + * Cap to frametime if it's too slow because it would create + * unexpected results otherwise. + */ + if (elapsed > frametime) + elapsed = frametime; } }