Added SDL_DelayPrecise()

SDL_DelayNS() now passes through to the high precision OS delay function, and SDL_DelayPrecise() tries to busy wait to get as close as possible to the desired wait time.

Fixes https://github.com/libsdl-org/SDL/issues/11141
This commit is contained in:
Sam Lantinga
2024-10-10 07:43:34 -07:00
parent 28a70a5b71
commit c8f5f6d47a
8 changed files with 53 additions and 4 deletions

View File

@@ -4948,7 +4948,7 @@ static void SDL_SimulateRenderVSync(SDL_Renderer *renderer)
elapsed = (now - renderer->last_present);
if (elapsed < interval) {
Uint64 duration = (interval - elapsed);
SDL_DelayNS(duration);
SDL_DelayPrecise(duration);
now = SDL_GetTicksNS();
}