thunder-app/thunder

Thunder sets the refresh rate to 60hz

Closed this issue · 6 comments

Bug Description

When entering the app, my phone goes down to 60hz despite the fact I've set the minimum to 90hz. This is evident when looking at the refresh rate indicator from the developer options.

Expected Behaviour

The app shouldn't change my refresh rate.

Steps to Reproduce

  1. Set refresh rate to 90hz or above
  2. Open the app
  3. Observe the issue

Additional Context

No response

App Version

0.3.0 F-Droid

Device

Poco F3, EU

OS

Android 13, LineageOS 20, lineage_alioth-userdebug 13 TQ3A.230901.001 eng.root.20240310.120731 dev-keys

Hey, sorry for the late reply!

When entering the app, my phone goes down to 60hz despite the fact I've set the minimum to 90hz.

When this happens, does it only set it to 60Hz when you have Thunder open? Or does set it system wide even after you close Thunder? (i.e., system is originally at 90Hz, open Thunder which brings it down to 60Hz, close Thunder and system is still set to 60Hz)

If it only sets the refresh rate when you're in Thunder, then that might be an issue with the app determining the proper refresh rate to use. It might be a bit tricky to figure out the system's refresh rate, and force Thunder to use that.

Hey, sorry for the late reply!

When entering the app, my phone goes down to 60hz despite the fact I've set the minimum to 90hz.

When this happens, does it only set it to 60Hz when you have Thunder open? Or does set it system wide even after you close Thunder? (i.e., system is originally at 90Hz, open Thunder which brings it down to 60Hz, close Thunder and system is still set to 60Hz)

If it only sets the refresh rate when you're in Thunder, then that might be an issue with the app determining the proper refresh rate to use. It might be a bit tricky to figure out the system's refresh rate, and force Thunder to use that.

It has 60hz only when the app is open, it returns to 90/120hz when the app is closed.

Thanks for the confirmation - this might be a bit tricky to solve.

For some reference, Thunder uses an external package which determines the appropriate refresh rate based on the device's available resolutions/refresh rates. This might be the case where the package isn't able to properly determine the correct refresh rate and falls back to the default 60Hz.

Just for confirmation, @micahmo could you let me know if Thunder runs at a high-refresh rate when testing on a physical device? If so, then this issue might be an edge-case.

FWIW, I had to re-flash my device due to a little whoopsie on my end, ended up flashing Android 14 instead and it works there 🫠

Unless someone else can reproduce this, I guess this should be closed.

Just for confirmation, @micahmo could you let me know if Thunder runs at a high-refresh rate when testing on a physical device? If so, then this issue might be an edge-case.

I can say that the OS overlay reports 120, and I can also say FlutterDisplayMode.setHighRefreshRate(); attempts to use 120. However, to the eye, it doesn't feel as smooth as some other apps. But that may be more an issue on our side with rebuilds, etc.

I'll go ahead and close this as its no longer reproducible!