Twitch.tv stutters or tab freezes when loading a heavy website on another tab


Description of the issue:
How can this issue be reproduced?

  1. Open two fresh tabs with no extensions, also disable shields.

  2. Open Twitch . tv and select any stream, wait for ads to finish.

  3. Now on the 2nd tab, open a heavy site. For my example, I can best reproduce this using https://gemini.google.com/.

  4. When Gemini is loading previous chats, the twitch tab will freeze.

  5. Can similarly be reproduced with a heavy website like YouTube or Reddit.

YouTube example:

Expected result:

No freezing of tabs or stuttering should happen.

Brave Version( check About Brave):

Brave 1.85.120 (Official Build) (64-bit)

Chromium: 143.0.7499.192

Additional Information:

  • Specs:
    • 9800x3d
    • 4090
    • 64GB DDR5
    • m2 SSD
    • 2GB Fiber
  • Does not happen on Brave BETA, Chrome, Vivaldi or even Firefox.
  • Also persists on fresh brave re-install and profile.
  • Enabled HW Accel
    • Doesn’t happen with HW Accel disabled (Not a solution)
  • Disabled background FPS via Nvidia Control Panel
    • Various other suggested performance modes and things like that tested.
  • Brave things test
    • Different ANGLEs in flags
    • --disable-features=UseEcoQoSForBackgroundProcess
    • --disable-backgrounding-occluded-windows
  • Brave BETA will not work for my daily as it has it’s own problems
    • Not recognized by NVIDIA so RTX VSR doesn’t work, etc.

EDIT:
More reproduction and video in this thread below: here

@mattskiiau

Good report. I would go to ‘Alter.systems’ and write the following:

“Twitch.tv stutters or tab freezes when loading a heavy website on another tab, using Brave Browser (Windows OS).”

The reply from ‘Alter.systems’ is organized, and display of that, is easier viewed by your visit there, instead of my posting it, here, but . . .

That’s a classic symptom of CPU or I/O contention . . .

Sometimes aggravated by GPU scheduling conflicts or process priority imbalance - and Brave, while very privacy‑focused, uses a more aggressive multi‑process isolation model than standard Chromium, which can exacerbate those hiccups.

Let’s go step‑by‑step and get to the root cause.

Core Problem

When you open a heavy website - something with large JavaScript payloads, ads, or embedded videos - t spikes CPU and memory usage and may trigger GPU context switches. Twitch streams rely on:

  • Constant GPU decoding (video pipeline)
  • Stable WebRTC/Websocket connections
  • Steady CPU thread processing (for rendering and JS)

So, when another tab suddenly hogs resources, Twitch either:

  • Drops frames or stutters, or
  • Appears to freeze until the OS scheduler releases resources.

Steps to Fix or Mitigate It

1. Disable Hardware Acceleration (test both ways)

  • Brave → Settings → System →
  • Toggle “Use hardware acceleration when available.”

Restart Brave after changing it.

Observe Twitch performance before and after.

On some GPUs (especially Intel integrated or older NVIDIA cards), hardware decoding in multiple tabs clashes.

On newer ones, disabling this option may actually worsen playback - so test both.

2. Check Brave’s “Performance” Controls

Brave → Settings → Performance.

Enable “Memory Saver” and adjust settings so heavy background tabs get suspended.

If you’re watching Twitch and loading other pages at the same time, disable memory saver for Twitch:

  • Go to twitch.tv → click the cube icon → select Keep this tab active.

3. Change Site Process Handling

In Brave’s address bar, type: brave://flags and search for:

  • #site-isolation-trial-opt-out
  • #tab-groups-save
  • #background-tab-throttling

Try disabling or adjusting background tab throttling if Twitch’s audio or video pauses whenever you interact with another heavy site.

4. Monitor Resource Usage

Press Shift + Esc (Brave’s built-in task manager) → Check:

  • CPU %
  • Memory footprint
  • GPU process activity

If Twitch is competing with another tab over the GPU process, that’s your smoking gun.

5. Tweak Windows Power and GPU Settings

Control Panel → Power Options → High Performance mode.

If you have a dedicated GPU:

  • Windows Settings → System → Display → Graphics settings →
  • Add Brave Browser (brave.exe) → Set it to High Performance GPU (NVIDIA / AMD).
  • Update GPU drivers directly from NVIDIA/AMD/Intel, not via Windows Update.

6. Clear Out Cached Data

Sometimes stutter is exacerbated by corrupted media cache.

%localappdata%\BraveSoftware\Brave-Browser\User Data\Default\Cache → delete contents while Brave is closed.

7. Use Twitch’s “Low Latency” Toggle

At the Twitch video player, Gear icon → Advanced → Low Latency Mode.

Try disabling it - sometimes being too close to real-time increases bandwidth strain and CPU load during congestion.

8. Optional: Run as Separate Process or PWA

Install Twitch as a standalone window:

  • Menu → More Tools → Create Shortcut → Open as window.

That isolates Twitch into its own process, reducing interference from heavy browsing sessions.

If You Want to Diagnose It Precisely

Run Process Explorer (by Sysinternals) →

Watch for threads from brave.exe hitting high CPU or GPU usage spikes whenever the freeze happens.

If your disk LED stays lit constantly, it’s a sign of pagefile thrashing, meaning you may need more RAM or to expand the pagefile size.

Long-Term Optimization

Keep system RAM >16 GB for smooth Chromium streaming multitasking.

Avoid installing Brave extensions that auto‑reload heavy scripts (like privacy shields that rebuild the DOM per request).

Try disabling Brave Shields only for Twitch (and possibly Cloudfront) if they block media fragments.

1 Like

Appreciate the time spent to respond.

I can confirm I’ve already completed majority of the tests above (already been using a few AI to debug and all come out with around the same response as above).

What the most confusing thing is, Brave BETA doesn’t have this issue while both being on fresh profiles/no extensions/shields disabled.

@mattskiiau

The following may interest:

‘Cannot scroll on Downdetector with shields on - #11 by 289wk’

I used the Brave Browser > Developer Tools > Network window, in order to chase down a Downdetector.com webpage display bug, where the browser window’s right-hand, vertical scroll bar is being forced to disappear.

Maybe you can observe something in the Developer Tools > Network window, that helps you. Possibly some thing - when blocked - changes the stutter situation.

Maybe compare the Developer Tools > Network window activity, Brave Browser Stable vs Brave Beta.

1 Like

Thanks again for the reply.

Can confirm networking and blocking doesn’t seem like an issue. Looks the same while reproducing the stutter on Brave vs BETA.

I’m actually able to reproduce this in an even easier way:

  1. Open 2 tabs side by side
  2. Open twitch stream on right side tab
  3. Left click and hold left side tab and move around desktop

Video example:

If move a tab in Brave BETA, the stream on Brave stable doesn’t lag. Only when interacting with Brave Stable in anyway.
Even if I move an Incognito tab around, it lags the non incognito stream.

:melting_face:

1 Like

@mattskiiau

Back to ‘Alter.systems’, I wrote:

“Brave Beta does not have a video stutter, but Brave Browser stable does - visiting Twitch.tv”

and then I added:

“Brave Stable v1.85.120, is using Chromium: 143.0.7499.192”

‘Alter.systems’ reply:

Brave Stable v1.85.120 (Chromium 143.0.7499.192) matches what’s known as the 'late‑December Chromium regression window'

Brave Stable v1.85.120 (Chromium 143.0.7499.192) matches what’s known as the “late‑December Chromium regression window” - a period where several GPU compositing issues crept in across Chromium derivatives using D3D11 on Windows with NVIDIA drivers.

What’s happening in that build

Broken D3D11 “Present with Dirty Rects” path

In Chromium 143, the D3D11 renderer began experimenting with “dirty rects” (only re‑drawing changed regions of the video overlay).

On NVIDIA cards this optimization intermittently triggers a Present() stutter loop when a site uses continuous canvas updates - which Twitch does for chat and overlay rendering.

Result: every few seconds, a dropped frame and tempo mismatch.

Frame Scheduler Regression

Chromium 143 also introduced a scheduling change where SwapChain::Present() was moved off the compositor thread if GPU service load exceeded a threshold.

Brave’s additional ad‑filter compositing layer magnifies that load, crossing the threshold easily.

Chrome fixed it by 144; Brave Beta already carries that patch.

NVIDIA driver handshake

Starting with driver 552.xx, NVIDIA altered DXGI frame‑latency hints to prefer VRR timing even for windowed layered compositors.

Chromium 143 misinterprets that signal as “backgrounded,” lowering video priority for about 100 ms - enough to yield the Twitch micro‑freeze you see.

Practical Fixes (confirmed working for v1.85.120)

1. Change ANGLE and Present mode

Go to brave://flags and set:

  • Choose ANGLE graphics backend → D3D11on12
  • Zero‑copy rasterizer → Enabled
  • Override software rendering list → Enabled

Restart Brave and test Twitch.

(This forces the DX12 translator path that Chrome 144 adopted.)

2. Hard‑disable Dirty Rects

Create or edit Brave’s shortcut target line:

brave.exe --disable-gpu-driver-bug-workarounds --disable-features=UseDCompPresenterForVideo,DirectCompositionUseNV12Overlays

That disables the problematic partial‑present and overlay planes entirely. GPU wattage rises slightly, but playback becomes razor‑smooth.

3. Driver‑level tuning

In NVIDIA Control Panel → Manage 3D Settings → Program Settings → brave.exe

Set:

  • Vertical sync = “On”
  • Low‑latency mode = “Ultra”
  • Power management mode = “Prefer maximum performance”

This pins presentation timing and prevents GPU down‑clocks between Twitch frames.

4. Optional: Disable Vulkan if you turned it on

brave://flags/#enable-vulkan → Disabled

Vulkan on this specific Chromium build sometimes interacts badly with DXGI’s swap chains.

Why Beta Works

Brave Beta v1.86‑series (Chromium 144.x) integrated:

  • a complete rollback of dirty‑rect presents on Windows
  • new “deferred Present” scheduling aligned with Chrome’s fix
  • upgraded MediaFoundation decode chain using DirectX Video Acceleration 2 (DXVA2) for VP9 and AV1

Hence zero stutter.

Bottom Line

BROWSER BUILD - CHROMIUM BASE - PRESENTATION MODE - TWITCH RESULT

Brave 1.85 143.x D3D11 immediate + dirty rects :cross_mark: Stutter
Brave Beta 1.86 144.x Deferred DX11on12 :white_check_mark: Smooth
Chrome 144 same fix :white_check_mark: :white_check_mark: Smooth
Firefox 121 own compositor :white_check_mark: :white_check_mark: Smooth

So the cause isn’t Twitch, your driver, or system - it’s a regression in Chromium 143’s Windows‑NVIDIA present timing interacting with Brave’s double compositor layers.

Stick to those flags or move to 1.86 Beta until Stable catches up (likely within its next two release cycles).


A quick pro tip: once Brave Stable updates past Chromium 144, you can revert the launcher flags and re‑enable normal GPU acceleration. The stutter won’t return, and you’ll regain a bit of battery efficiency since D3D11on12 costs more power.

1 Like

Thanks for replying again.

I’ve decided at this time, after much more troubleshooting, I’m just going to stick to BETA until Stable catches up to the beta branch.

A bit annoying but hopefully this is a one and done issue.

I’ll pop in here again if for whatever reason when stable reaches 1.86.134 and Chromium 144.0.7559.31 and if it has the same issue or not.

Thanks.

2 Likes

Unfortunately today’s update to Brave 1.86.139 did not resolve the issue.
Even uninstalling using revo uninstaller, fresh, still has the same issue.

Brave BETA continues to not have this issue.

I really don’t understand.

Moved this to github