Use vsync instead of delay-based synchronization

Also changed the game_update() interface to take dt in seconds as a
double (rather than milliseconds as an unsigned integer) as we're now
computing the refresh interval as a double anyway (by querying the
display mode).  To my eye (and on my machine), all chunkiness is now
gone; the game feels very smooth.
This commit is contained in:
2025-01-02 16:47:00 +00:00
parent 427cdef867
commit 65a4b08f34
3 changed files with 14 additions and 17 deletions

View File

@@ -27,7 +27,7 @@ void game_init(int argc, char *argv[], void *mem, SDL_Renderer *renderer);
void game_teardown(void *mem);
gamestatus_t game_evthandle(void *mem, const SDL_Event *evt);
gamestatus_t game_update(void *mem, unsigned dt);
gamestatus_t game_update(void *mem, double dt);
void game_render(const void *mem, SDL_Renderer *renderer, long unsigned t);