Description of the issue:
A recent update of Brave broke OpenGL hardware acceleration on YouTube videos whether on H264 or VP9 (I have AV1 disabled via an extension since my GPU cannot decode that). This was the only setting that made YouTube videos smooth and fully GPU accelerated on Nvidia GPUs.
D3D11 stutters and goes out of sync like crazy, it’s been like that with Brave for years, hence why I use the OpenGL option.
D3D11on12 is unusable and garbled as always.
D3D9 is okay, so I’m using that for now, but it only partially accelerates 60 FPS YouTube videos, still pegs a whole CPU thread.
How can this issue be reproduced?
Set brave://flags/#use-angle to OpenGL and restart browser.
Watch any YouTube video, especially a 60 FPS one.
Task manager shows the CPU being used like crazy, pegging one and a half threads (~100% on one thread, ~50% on another thread), GPU is hardly being utilized according to GPU-Z. It also says “Disabled Features: gpu_tile_rasterization” in brave://gpu even when I enable it in chrome://flags/#enable-gpu-rasterization.
Expected result:
YouTube videos should be fully GPU accelerated when ANGLE graphics backend is set to OpenGL. They’re not anymore after I recently updated (I put off updating for a month or two, and I regret updating it). I have to use D3D9 now, it at least pegs only 1 CPU thread instead of 1.5 CPU threads like OpenGL on 60 FPS videos.
@testingbobby I just tried testing a little and the only one I had issues with was D3D11on12, though the issue wasn’t on YouTube but went partial black screen and near freeze when I navigated from YouTube to Crunchyroll.
Using D3D11 seemed to work with no issues. Low CPU usage overall, little to no dropped frames, and definitely no stuttering or going out of sync. I tested on normal videos, 4k 60fps, and 4k 120fps with no problems. I’m using my system detail are as below:
Examples of CPU usage and Stats For Nerds on the normal and 4k 60fps are below. But looking at how no real issues for me, I’m wondering if it’s something in your NVIDIA settings?:
On Firefox I get full GPU acceleration for 60 FPS VP9 YouTube videos, it stays around 5-7% CPU usage (that’s like half of a thread from my 4-core 8-thread CPU: divide 100% by 8 to get 1 thread’s percentage).
On Brave with OpenGL with this recent update, it hovers around 20% CPU usage, which is about 1.5 threads, and I can see in the CPU Usage History graph it’s using roughly 100% of one thread and 50% of another thread when it’s playing a YouTube video.
Before this update, Brave with OpenGL used to work just as well as Firefox.
I also recently updated my Nvidia driver to 566.03 for good measure.
I don’t know why they decided all of a sudden my GPU (GeForce GTX 960) should be forced into the “Software Rendering List” (which implies CPU-only rendering) when it’s perfectly capable of decoding H264 and VP9.
As for the default D3D11 being stuttery, that’s always been a problem with Brave in the past years I used it, but no other Chromium-based browser had this stuttering issue, such as Chrome, Chromium and Edge. I’m not the only one who had this issue, a bunch of people on Reddit tell you to switch to OpenGL to fix YouTube stuttering on Brave, and that fixed it, but now this recent update broke OpenGL acceleration and I’m forced onto D3D9 which only partially accelerates 60 FPS YouTube videos but at least better than no acceleration.
Don’t think I’ll switch back to Firefox because not being able to restart the infamous memory-leaking “GPU Process” in the browser’s task manager is a deal breaker, at least Brave lets you do that. Unfortunately I have to remember to do that daily in Brave because it looks like setting to D3D9 makes “GPU Process” leak memory much more quickly/frequently than the OpenGL setting did.
Since only D3D9 is functional on Brave for YouTube, 60 FPS videos don’t get full GPU acceleration. I don’t like noisy CPU fans. So the workaround I use now is https://greasyfork.org/en/scripts/23329-disable-youtube-60-fps-force-30-fps for the Violentmonkey add-on. Hopefully some day in the future D3D11 for Brave will finally start working properly like in other Chromium-based browsers instead of stuttering and going out of sync on YouTube (even when the video is set as low as 240p or 144p mode).