Merge branch 'match-refresh-vsync' into 'master'

Don't sleep w/ fpscap 0 and vsync enabled

See merge request KartKrew/Kart-Public!294
This commit is contained in:
Eidolon 2022-08-20 21:23:50 +00:00
commit 2f17fdca6c

View file

@ -799,7 +799,11 @@ void D_SRB2Loop(void)
if (!singletics) if (!singletics)
{ {
INT64 elapsed = (INT64)(finishprecise - enterprecise); 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)); I_SleepDuration(capbudget - (finishprecise - enterprecise));
} }