Skip to content

vblankmanager: keep the fixed-refresh wakeup after the previous vblank - #2528

Merged
matte-schwartz merged 1 commit into
ValveSoftware:masterfrom
matte-schwartz:vblank-half-period-offset
Oct 31, 2026
Merged

matte-schwartz merged 1 commit into
ValveSoftware:masterfrom
matte-schwartz:vblank-half-period-offset

Conversation

@matte-schwartz

Copy link
Copy Markdown
Collaborator

From about 240 Hz up, the compositing floor plus the redzone fills the whole refresh, so the wakeup lands on the vblank that anchors it. On an RTX 5090 that commit completes off the refresh grid and the schedule slips, about 114 flips a second at a pinned 120 Hz, in line with #2527.

Cap the lead so the wakeup falls at least a redzone after the anchoring vblank, or half a refresh when the redzone is longer. The 5090 needs about 30% of a refresh of room to stay on the grid. Below 300 Hz this costs at most one redzone, and only when the lead nearly fills the refresh.

@matte-schwartz matte-schwartz mentioned this pull request Oct 30, 2026
3 of 6 tasks
From about 240 Hz up, the compositing floor plus the redzone fills the
whole refresh, so the wakeup lands on the vblank that anchors it. On an
RTX 5090 that commit completes off the refresh grid and the schedule
slips, about 114 flips a second at a pinned 120 Hz.

Cap the lead so the wakeup falls at least a redzone after the anchoring
vblank, or half a refresh when the redzone is longer. The 5090 needs
about 30% of a refresh of room to stay on the grid. Below 300 Hz this
costs at most one redzone, and only when the lead nearly fills the
refresh.

Closes: ValveSoftware#2527
@matte-schwartz
matte-schwartz force-pushed the vblank-half-period-offset branch from 5b144d4 to 9b610f8 Compare October 31, 2026 22:20
@matte-schwartz matte-schwartz linked an issue Oct 31, 2026 that may be closed by this pull request
3 of 6 tasks
@matte-schwartz
matte-schwartz merged commit 309eee7 into ValveSoftware:master Oct 31, 2026
1 check passed
@matte-schwartz
matte-schwartz deleted the vblank-half-period-offset branch November 1, 2026 22:10
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.

Regressed frame pacing on DRM

1 participant