Skip to content

fix: 放宽刷新率比较精度以兼容 QDC 分数刷新率#1

Merged
SMWHff merged 1 commit into
mainfrom
fix/refresh-rate-comparison-precision
Jul 9, 2026
Merged

fix: 放宽刷新率比较精度以兼容 QDC 分数刷新率#1
SMWHff merged 1 commit into
mainfrom
fix/refresh-rate-comparison-precision

Conversation

@SMWHff

@SMWHff SMWHff commented Jul 9, 2026

Copy link
Copy Markdown
Owner

问题

enumerate_modes() 中 QDC 报告的浮点刷新率(如 59.94)与 EnumDisplaySettings 的整型刷新率(如 60)比较时使用阈值 0.01,过于严格。差值约 0.06 超过阈值,导致当前模式不会被标记为 *

修复

winrandr/features/resolution.py 第 42 行的比较阈值从 0.01 放宽到 0.5

  • NTSC 常见分数刷新率差值最大约 0.06(59.94 vs 60)
  • 没有两个不同刷新率会接近到 0.5 Hz 以内
  • round(cur_refresh, 2) 方案更健壮

测试

  • 新增 test_enumerate_modes_fractional_refresh_rates:用 cur_refresh=59.94 模拟 QDC 分数刷新率,验证 60 HzEnumDisplaySettings 条目能被正确标记为 is_current=True
  • 404 passes, 0 failures

自测

  • pytest tests/ -q 全部通过
  • python -c "import winrandr; print(winrandr.__version__)" 正常
  • ruff check 无新增错误

@SMWHff SMWHff changed the title fix: PS 模块旋转参数映射并补充 4 个缺失 cmdlet fix: 放宽刷新率比较精度以兼容 QDC 分数刷新率 Jul 9, 2026
@SMWHff SMWHff merged commit 93177a9 into main Jul 9, 2026
2 of 3 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant