fix(win): Windows.Graphics.Capture API frame rate capped at 60fps (#4424)

This commit is contained in:
StringWeaver 2025-11-17 10:53:23 +08:00 committed by GitHub
commit adb443f0d1
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

View file

@ -137,6 +137,15 @@ namespace platf::dxgi {
} catch (winrt::hresult_error &e) { } catch (winrt::hresult_error &e) {
BOOST_LOG(warning) << "Screen capture may not be fully supported on this device for this release of Windows: failed to disable border around capture area: [0x"sv << util::hex(e.code()).to_string_view() << ']'; BOOST_LOG(warning) << "Screen capture may not be fully supported on this device for this release of Windows: failed to disable border around capture area: [0x"sv << util::hex(e.code()).to_string_view() << ']';
} }
try {
if (winrt::ApiInformation::IsPropertyPresent(L"Windows.Graphics.Capture.GraphicsCaptureSession", L"MinUpdateInterval")) {
capture_session.MinUpdateInterval(4ms); // 250Hz
} else {
BOOST_LOG(warning) << "Can't set MinUpdateInterval on this version of Windows";
}
} catch (winrt::hresult_error &e) {
BOOST_LOG(warning) << "Screen capture may be capped to 60fps on this device for this release of Windows: failed to set MinUpdateInterval: [0x"sv << util::hex(e.code()).to_string_view() << ']';
}
try { try {
capture_session.StartCapture(); capture_session.StartCapture();
} catch (winrt::hresult_error &e) { } catch (winrt::hresult_error &e) {