Skip to content

Rudimentary custom fps limiter#6725

Open
atomicf32 wants to merge 2 commits intoppy:masterfrom
atomicf32:fpslimit
Open

Rudimentary custom fps limiter#6725
atomicf32 wants to merge 2 commits intoppy:masterfrom
atomicf32:fpslimit

Conversation

@atomicf32
Copy link
Copy Markdown

In case you want to limit fps to 2-3 frames below monitor refresh rate for vrr.

Copy link
Copy Markdown
Contributor

@smoogipoo smoogipoo left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'm not very experienced with VRR so I'm curious what @peppy 's take on this is, conceptually. Is this something that has to happen, or is it something we're doing wrong, etc.

@peppy
Copy link
Copy Markdown
Member

peppy commented Mar 23, 2026

so I'm curious what @peppy 's take on this is

peppy's current take is "whatever". let users do what they want because they know best (or don't, but that's not for us to make a call on because we are just out-of-touch devs). read into that however you want.

we've also discussed elsewhere that the 2x 4x draw limit may not be the best defaults. if we're adding this, it may make sense to allow user customisation over those values rather than add a new "custom" value. but if we just want to get this is, adding "custom" is easiest to accept at face value. as you say it should probably not be a cycle option, or if it is, only show up when configured to anything non-zero.

alternative angle: most games these days have a draggable "maximum fps" limit, which i'd actually be okay with as a game setting if the UX is correct. but that will take some non-rudimentary changes to make work.

Copy link
Copy Markdown
Member

@peppy peppy left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

as commented

@atomicf32
Copy link
Copy Markdown
Author

as you say it should probably not be a cycle option, or if it is, only show up when configured to anything non-zero.

alternative angle: most games these days have a draggable "maximum fps" limit, which i'd actually be okay with as a game setting if the UX is correct. but that will take some non-rudimentary changes to make work.

Sorry for the cluelessness, but either of these changes would need to happen in the main ppy/osu codebase, correct?

@atomicf32 atomicf32 requested a review from smoogipoo March 23, 2026 06:04
@peppy
Copy link
Copy Markdown
Member

peppy commented Mar 23, 2026

Would likely require changes at both ends, and due consideration. Don't have the bandwidth for that this instant.

@prank855
Copy link
Copy Markdown

prank855 commented Mar 29, 2026

I would suggest a "VRR Limiter" to the FPS dropdown using something like the Special K formula:

Fps Cap = RefreshRate - (RefreshRate^2 / 4096) # the 4096 can be changed to have tighter timings

a static −3 FPS offset works for 144hz but not necessarily for higher refresh rates. The scaling gives a proper frametime buffer to prevent G-Sync/FreeSync deactivation for higher refresh rate displays

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants