diff --git a/src/main.cpp b/src/main.cpp index 9e3418a..08abdd1 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -2428,6 +2428,10 @@ int main(int argc, char* argv[]) static bool InitSDL() { + // SDL3 otherwise holds timeBeginPeriod(1) for the process lifetime on Windows. Nothing here needs + // sub-15 ms waits (vsync pacing, the 200 ms idle wait, >=50 ms thread sleeps), so let the system + // timer relax. Ignored on non-Windows platforms; a false return (env override) is harmless. + SDL_SetHint(SDL_HINT_TIMER_RESOLUTION, "0"); if (!SDL_Init(SDL_INIT_VIDEO | SDL_INIT_GAMEPAD)) { fprintf(stderr, "Error: SDL_Init(): %s\n", SDL_GetError()); return false;