Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Brave Hardware Acceleration Overrides Nvidia and Windows power plan settings, wastes power #14120

Open
austinksmith opened this issue Feb 11, 2021 · 9 comments
Labels
OS/Android Fixes related to Android browser functionality OS/Desktop

Comments

@austinksmith
Copy link

Description

When Brave is opened, and hardware acceleration is enabled within the brave settings. Brave is overriding all power plan settings on Windows and overriding the Nvidia control panel settings as well and forcing the dedicated GPU to be enabled instead of making use of the Integrated GPU as set using Nvidia settings.

Steps to Reproduce

  1. Use a laptop or desktop computer with Optimus or a dedicated and integrated gpu
  2. Set your nvidia control panel settings to force Brave to use the integrated GPU
  3. Set windows power plan to power save or balanced mode
  4. Open brave browser
  5. You'll now see Brave is using the dedicated GPU and overriding the settings you set previously

Actual result:

Brave is using the dedicated GPU and overriding the settings you set previously

Expected result:

Brave should not use the dedicated GPU if its been told not to use that. If there is an integrated GPU available, hardware acceleration should make use of that.

Reproduces how often:

Easily reproduced

Desktop Brave version:

V1.20.103 (Feb 10, 2021)

Android Device details:

Unsure how big of a power impact this has on android devices, has a major power impact on laptop devices running on battery.

Other info

CPU is I5-8300H which has an Intel® UHD Graphics 630 GPU built in, this GPU has plenty of hardware acceleration capabilities, no need to activate the dedicated GTX 10 series card to render videos etc.

https://ark.intel.com/content/www/us/en/ark/products/134876/intel-core-i5-8300h-processor-8m-cache-up-to-4-00-ghz.html

@austinksmith austinksmith added OS/Android Fixes related to Android browser functionality OS/Desktop labels Feb 11, 2021
@timse201
Copy link

timse201 commented Apr 12, 2021

I can confirm this issue. I'm using an 8750H + gtx 1050 ti. Both GPUs are used while only Brave is running.
A workaround is to force brave to use the internal GPU by setting an Windows setting like described here:

https://www.nextofwindows.com/windows-10-tip-how-to-set-gpu-preferences-per-app

cc: @rebron @bsclifton

@Nac110
Copy link

Nac110 commented Sep 16, 2021

I also experience this issue in a laptop with an 8750H and gtx 1050. Brave doesn't follows Windows automatic GPU selection properly.
When Brave should be exclusevely using the iGPU it uses the nvidia one even when on battery, this makes the browser unusable in the laptop when not plugged in. Firefox and other chromium browser do follow the Windows rules for GPU selecton so I only have a problem with Brave.
It's possible to tell Brave to use only the iGPU following the instructions in the guide provided by @timse201, but this makes using an external monitor sluggish and not appropiate for intensive tasks.
I hope seeing some kind of response as this issue has been persistent for a while now.

@adolson
Copy link

adolson commented Jul 11, 2022

Brave is using a TON of my battery, still. I love the browser, do not want to switch to something else, but if there's no solution in sight to this, I really don't have a choice.

Look at the screenshots from just the past week to see the ridiculousness of this.

Screenshot_20220710-230330 Screenshot_20220704-193234 Screenshot_20220706-200436

22% of my battery for 3 minutes? That is NUTS. If you compare it to the other apps, it's especially crazy: 45 minutes of YouTube, 3%; 15 minutes of Brave, over ten times as much battery drain!?

I even closed all my tabs, restarted my phone, tried restricting Brave in the battery settings on my phone, etc. and it still sucks the power right down. Nothing helps...

@OculiViridi
Copy link

OculiViridi commented Jul 20, 2022

Actual result:

Brave is using the dedicated GPU and overriding the settings you set previously

Desktop Brave version:

V1.20.103 (Feb 10, 2021)

I confirm that the same issue still exists on Brave v1.41.96 (Jul 20, 2022). Brave ignores/overrides the system settings set on NVIDIA Control Panel, to let the driver choose which GPU to use (default: integrated).

But, disabling the discrete GPU both from NVIDIA Control panel and Windows Settings/Graphics, by selecting the option for brave.exe`, it's a workaround.

System info

DELL notebook with Intel Core i7-10850H 6 core
Intel UHD Graphics integrated GPU
NVIDIA Quadro P620 discrete GPU

Windows 10 v21H2 build 19044.1766
NVIDIA Driver v512.36

Side note

Google Chrome is not affected by the same issue and I've been using it for years without ever having any problems.

@dejvizelo
Copy link

I believe this issue is related to #4858

@timse201
Copy link

timse201 commented Oct 17, 2023

can a dev please have a look. my coding skills are not the best. could be that the following will end up in strange behavior and is related to this issue.

we include content/browser/gpu/gpu_process_host.h here:
https://github.com/brave/brave-core/blob/95bc15049f5a9c6cd5a0a2e4d452a4f9a265f2bd/chromium_src/content/browser/gpu/gpu_process_host.cc#L6

and we include the source gpu_process_host.h here:
https://github.com/brave/brave-core/blob/95bc15049f5a9c6cd5a0a2e4d452a4f9a265f2bd/chromium_src/content/browser/gpu/gpu_process_host.h#L28

the source gpu_process_host.h is also included here:
https://github.com/brave/brave-core/blob/95bc15049f5a9c6cd5a0a2e4d452a4f9a265f2bd/chromium_src/content/browser/gpu/gpu_process_host.cc#L20

because on chromium source it is included, too:
https://chromium.googlesource.com/chromium/src/+/refs/heads/main/content/browser/gpu/gpu_process_host.cc#5

if i'm correct the source gpu_process_host.h is included twice.

cc: @rebron @bsclifton @boocmp @goodov

@boocmp
Copy link

boocmp commented Oct 18, 2023

Header files can be included in various source files as many times as needed. I believe that this issue is not related to the code you pointed to.

@sreekanthedayar
Copy link

The issue is very much still exist.
Environment
Lenovo Ideapad with Ryzen 5 7535HS 6 core 12 Threads
Integrated Radeon
NVIDIA RTX 2050 GPU

To check i had set the default graphic to use power saving mode by selecting the integrated Radeon graphics for both chrome and Brave instead of using NVIDIA Graphics processor from windows settings. But still when i check 50% of the battery usage is by brave vs 10 % usage in case of Chrome. This is compared with same set of extensions and tabs opened. couple of reddit forums, 1 YouTube with a Video song played all along, and a lenovo support channel website.

@austinksmith
Copy link
Author

I am bumping this, the only solution right now is to disable hardware acceleration which hurts performance and increases cpu work (wastes power).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
OS/Android Fixes related to Android browser functionality OS/Desktop
Projects
None yet
Development

No branches or pull requests

8 participants