Physics in Misskey's Bubble Game and physics.ts were likely meant to run consistently across devices and screens, but instead they run faster at higher frame rates.
I have fixed this bug and I am creating issue before creating the accompanying pull request.
π₯° Expected Behavior
Misskey's Bubble Game and physics.ts should run at the same speed on a 60hz screen and a 120hz screen.
π€¬ Actual Behavior
Misskey's Bubble Game and physics.ts run at twice the speed on a 120hz screen compared to a 60hz screen.
π Steps to Reproduce
Open Misskey's Bubble Game or find the hidden physics easter egg.
Compare behavior across different refresh rate screens. (Note: Safari calls window.requestAnimationFrame at 60hz even on higher rate screens by default for consistency. This can be bypassed via a feature flag.)
π» Frontend Environment
Desktop:
Model and OS of the device(s): Mac Mini M2 running macOS Sequoia 15.0.1 (24A348)
Browser: Arc Version 1.66.0 (55166) running Chromium Engine Version 130.0.6723.70
Thanks for forwarding report. I marked this as actual bug because a few people have reported same issue from distinct server (plus the Sharkey's thread).
π‘ Summary
Physics in Misskey's Bubble Game and
physics.ts
were likely meant to run consistently across devices and screens, but instead they run faster at higher frame rates.This was first brought up on Sharkey's issue tracker: https://activitypub.software/TransFem-org/Sharkey/-/issues/684
I have fixed this bug and I am creating issue before creating the accompanying pull request.
π₯° Expected Behavior
Misskey's Bubble Game and
physics.ts
should run at the same speed on a 60hz screen and a 120hz screen.π€¬ Actual Behavior
Misskey's Bubble Game and
physics.ts
run at twice the speed on a 120hz screen compared to a 60hz screen.π Steps to Reproduce
Open Misskey's Bubble Game or find the hidden physics easter egg. Compare behavior across different refresh rate screens. (Note: Safari calls window.requestAnimationFrame at 60hz even on higher rate screens by default for consistency. This can be bypassed via a feature flag.)
π» Frontend Environment
Desktop:
Mobile
π° Backend Environment (for server admin)
Do you want to address this bug yourself?