Abysmal Youtube performance on NVidia GPU due to GPU clock staying idle

Description of the issue: Youtube playback is choppy, low resolution and overall performing badly when GPU hardware acceleration is enabled. This happens with and without extensions and also in private mode. The reason seems to be that Brave never makes the NVidia GPU increase its clock-rate above minimum idle state (300 MHz).
Chrome and Firefox both do not exhibit the issue and make the GPU clock-rate increase for smooth video playback and increased (auto) resolutions.
How can this issue be reproduced?

  1. Start Brave.
  2. Navigate to Youtube.com.
  3. Playback Video (and check GPU clock-rate).

Expected result: Smooth playback and dynamic GPU clock-rate changes.

Brave Version( check About Brave): v1.45.118

Additional Information: I will have to switch to Chrome until this is resolved, because disabling hardware acceleration is neither a solution nor even a proper workaround, because I need acceleration for PixiJS based web-sites I regularly use.

We don’t change the GPU settings from chrome.

Some videos (and tasks) will be more taxing on the GPU than others. Upping the resolution from 720p->2180p with GPU acceleration will increase load, but that is to be expected.

Looking at perf, https://www.testufo.com/ seems fine here. Also testing https://webglsamples.org/aquarium/aquarium.html

I’m on a mid-range gpu here (Nvidia 2080 Super), 144hz 1440p screen. I would test on a clean profile/private window mode. Also which video card are you using?

Thanks for the quick reply. None of the sites you listed is Youtube, though. And the problem is not my 2070 Super being overloaded, but rather it being underutilized due to some CPU data processing problems with Brave.

Here are example of playing the same video while moving the mouse over the timeline and clicking on a point in the timeline.

Brave (all extensions disabled), automatic 1440p, shows spinning circle:
image

Brave in private mode, 1440p (spinning circle):
image

Chrome, automatic 1440p:
image

Brave often automatically drops down to 360p and still cannot keep video playback smooth, especially if the mouse if moved. I don’t think this is a problem of GPU load, but a problem of Brave’s CPU threads not delivering the necessary data when hardware acceleration is used (hence the dropouts during playback and spinning circle whenever I skip to a new point in the timeline).

Furthermore: Youtube is only one site suffering from the deeper issue, other sites and even my mouse gestures extension also work choppy. And with the extension it even shows with the drawing both being choppy while output to the screen (lag following the mouse-pointer) and the results being less “rounded”.

This example is on a static site showing a simple text.

Brave:
image

Chrome:

How is the GPU clock rate measured, I don’t see it in stats for nerds via youtube? How is the GPU clock rate affect youtube performance, drop frames?

Reason why used the other sites, they’re more demanding on GPU than youtube is. Also depending on the video, the codec here would also play a part. (see stats for nerds)

The clock rate is measured via HWinfo (or MSI Afterburner). And whatever Brave is chocking on, it is not bandwidth and does not even seem to be CPU load. On the contrary, CPU load is too low compared to Chrome as if Brave is waiting on data from a low bandwidth line.

But again, this is not a bandwidth problem as I specifically tried jumping to points in the timeline that were already downloaded/buffered. And for unbuffered points it works in Chrome and also works when hardware acceleration is disabled in Brave.

Take another look at the mouse gestures drawing, it tells you that something about Brave’s processing is fishy. And here is another screenshot to demonstrate how it also affects the aquarium site when Youtube is playing in the background.

image

Am I reading that correctly, 1 fps on https://webglsamples.org/aquarium/aquarium.html ?

Well, it’s a screenshot, so yes.

This happens when Brave drops performance due to me running a Youtube video in the background (spinning circle visible at the top of the screenshot) and moving the mouse over its timeline.

By itself the fishtank hardly causes any impactful load on my 5900X + 2700S at all.

image

About to head off to bed, but some basic testing here. Under a new-ish Brave profile:

So we know now that this is working for you, but got not one step closer to analyzing why it is not working for me (and various other users over the last 2 years according to Google).

Here is what is working for me on my system: Chrome, Firefox, Edge

Here is what is not working for me on my system: Brave, even after resetting settings, creating a new profile, uninstalling (including all data) and reinstalling.

So without getting any hints where to look for possible solutions I went to my GPU driver settings and reset those. This helped Brave perform properly again, just like the three other browsers I listed above. Next thing I will do is go through the driver settings for latency (pre-rendering limit), fps caps and whatever else I had changed before resetting.

Once I find the setting Brave does not agree with I will post it here. But again, the other three browsers (2 of which Chromium based) worked properly when Brave did not, so the issue is not with my system but with Brave.

“Background Application Max Frame Rate” is the NVidia driver setting that Brave disagrees with, even when the Brave window is in focus. Mine was set to 20 fps, which completely broke Brave’s stride.

I mainly switched to Brave for supposedly higher performance with its Rust based filter engine. Now Brave forced me to reload all my tabs and bookmarks in Chrome, which may be an opportunity to just stay there in return for less possible hassles.

“Background Application Max Frame Rate” setting might be more useful for laptop’s, low resource devices. To improve power usage. If you’re on a desktop or even a laptop (that’s always plugged in). I don’t mess with any of the Nvidia settings myself. The only thing I use is https://www.techpowerup.com/download/techpowerup-nvcleanstall/ instead of the official package. Just to remove nvidia bloat.

Ok, you may not realize this, but all your comments aim at pushing the blame on me, my system and NVidia instead of trying to solve the issue of Brave. This is a classic “you are holding this wrong” (Steve Jobs ™)moment and I despise those. Be support or don’t, but don’t get in the way of solving the issue by addressing everything but the issue.

It’s absolutely my own business if I want to limit background applications to 20 fps on a desktop to save energy for a window that I do not even see on screen. And it’s Brave’s business to deal with this setting properly, just like all other browsers do. We can disable this as a temporary workaround, but in the long run it is Brave that needs fixing as three competing browsers I tested (2x Chromium based) work with this NVidia setting.