From f008e6303792243ba2c2a4e06b5556979635ab7c Mon Sep 17 00:00:00 2001 From: Eidolon Date: Sat, 20 Aug 2022 14:50:06 -0500 Subject: [PATCH] Don't sleep w/ fpscap 0 and vsync enabled --- src/d_main.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/d_main.c b/src/d_main.c index 629c8ee1..a08ed77d 100644 --- a/src/d_main.c +++ b/src/d_main.c @@ -799,7 +799,11 @@ void D_SRB2Loop(void) if (!singletics) { INT64 elapsed = (INT64)(finishprecise - enterprecise); - if (elapsed > 0 && (INT64)capbudget > elapsed) + + // in the case of "match refresh rate" + vsync, don't sleep at all + const boolean vsync_with_match_refresh = cv_vidwait.value && cv_fpscap.value == 0; + + if (elapsed > 0 && (INT64)capbudget > elapsed && !vsync_with_match_refresh) { I_SleepDuration(capbudget - (finishprecise - enterprecise)); }