tetrio / issues

Report issues and discuss improvements / feature requests around TETR.IO
https://tetr.io
405 stars 21 forks source link

NVIDIA FPS limiters do not work properly #1405

Open injust opened 3 weeks ago

injust commented 3 weeks ago

Checklist

OS and Version

Windows 11

Browser and version

Desktop client

Describe the bug/issue

I limit background applications to 30 FPS in NVIDIA Control Panel. For whatever reason, this permanently limits TETR.IO to 30 FPS, even when it is never backgrounded.

I also set Max Frame Rate to 120 FPS. I can't test this with Hard VSync on, but the FPS is not limited when Hard VSync is off.

Reproducing

1.In NVIDIA Control Panel, set the Background Application Max Frame Rate to 30 FPS and the Max Frame Rate to 120 FPS

  1. Start TETR.IO with Hard VSync enabled or disabled
  2. Press F8 and observe
  3. If Hard VSync is disabled, switch between Framerate Limiter values in TETR.IO settings

Expected behavior

TETR.IO should work properly when NVIDIA FPS limiters are configured.

Screenshots

No response

Console logs

No response

Additional context

No response

ZaptorZap commented 3 weeks ago

I don't think the onus is on TETR.IO's developers to solve Electron's shortcomings in this area? What more can we do if NVIDIA has declared authoritatively what is and isn't a background process? As you may have noticed, when you view TETR.IO in the control panel, it's comprised of many background processes, called "service workers". This is a generic Electron concept and it applies to many Electron applications. I don't know how viable it is to upend such a fundamental part of the Desktop build.

I'll admit I hadn't yet made the connection that this depends on Hard VSync, which is particularly strange; but ultimately, as it stands, the most I imagine (I'm not a developer) we can do here is direct people to https://tetrio.github.io/faq/troubleshooting.html#backgroundcap.