Monitor (Windows): if current refresh rate is higher than preferred refresh rate, use it.

No better methods. I have tried EnumDisplaySettings and winrt DisplayPath::GetModes but none of them work.
This commit is contained in:
李通洲
2024-07-20 23:29:40 +08:00
parent 4fe1bb0b7e
commit 7a1b214ffe
+7
View File
@@ -103,6 +103,13 @@ const char* ffDetectMonitor(FFlist* results)
display->refreshRate = freq.Numerator / (double) freq.Denominator;
}
}
DISPLAYCONFIG_VIDEO_SIGNAL_INFO current = modes[path->targetInfo.modeInfoIdx].targetMode.targetVideoSignalInfo;
if (current.activeSize.cx == width && current.activeSize.cy == height)
{
double refreshRate = current.vSyncFreq.Numerator / (double) current.vSyncFreq.Denominator;
if (refreshRate > display->refreshRate) display->refreshRate = refreshRate;
}
}
}
return NULL;