powerPreference issues

Hi all.
I have been getting a lot of feedback lately that my ThreeWebApp is lagy.
I noticed a few months ago around March that Chrome. With an update, by default always uses the internal GPU of a noteboook and no longer automatically takes the dedicated GPU. So I set the “powerPreference: ‘high-performance’” in ThreeJs and tested it successfully.

Now I have heard from some that this does’t work. After a lot of testing I found out that this could be due to the following problems:

  • Energy saving mode activated
  • Graphics card settings
  • Chrome started in battery mode and later connected to a power supply.

For the developers and testers it would be no problem to change the power saving mode, as well as the graphics card indentations. However, with older graphics cards (e.g. AMD FirePro m4000) I noticed that there are no options for this.

Has anyone had the same experience and maybe even a solution approach for me?

I don’t think there is a solution for this, and I’m not sure there should be either. If a user sets up their power preferences to conserve power when the battery is low, then it’s not good behavior for a web app to be able to override that. Instead, it’s up to the user to learn that they should expect lower performance from web apps when in power saving mode.

However, you could use detect-gpu and warn users, or make your app run at lower quality, when their GPU is not powerful enough. It’s not a perfect solution though, for example I think it identifies Mac M1 as a lower power mobile GPU.

This is an exception. Perhaps it would be a good idea to report this to the Chrome team as a bug and see what they say?