Why Sialk · when it breaks

Why WebGL in an OBS browser source is slow

Why is my browser source laggy and eating a CPU core?

In OBS your page is a guest sharing one frame budget with the encoder. In Sialk nothing sits downstream of it but the screen.

Your page runs fine in Chrome. In OBS it stutters and eats a CPU core. It is not your machine. A browser source is a capture path, your page is a guest in it, and it has been reported since 2017. Sialk runs the page itself, on the GPU, with nothing downstream of it but the screen.

Four settings to try first

  1. Hardware acceleration on - Settings → Advanced. OBS does share textures with the browser; with this off, rendering falls back to the CPU.
  2. Stop Windows throttling it. Efficiency mode and process priority on obs-browser-page.exe are a known cause of stutter when OBS loses focus.
  3. Match frame rates. A 25 fps source in a 30 fps show judders, silently.
  4. WebGL, not a canvas fallback. The same drawing costs far more in 2D.

If one of them fixes it, you are done.

Why it is still slow after all four

2017 "Very laggy and overload CPU for canvas or WebGL renderer." Maintainer: "There is nothing that can be done about that."
2020 50-60% of a CPU core on an iMac Pro, while Chrome renders the same page smoothly. "Even on the most powerful Macs Apple currently offers."
2025 The same collapse on an RTX 3070, OBS 31.0.1. An OBS contributor: "It is CPU related, yeah."
IN OBS, YOUR PAGE IS A SOURCE your page camera screen capture composite encoder out one frame budget, shared by all of it

IN SIALK, YOUR SKETCH IS THE SHOW your sketch composited the wall nothing downstream of it but the screen

Not a criticism: compositing and encoding a stream is OBS's job. But in that job your page is a guest sharing a frame budget with an encoder, which is a rehearsal-room arrangement, and free.

Your page shares one frame budget with a composite and an encoder, and both get a say in when your frame lands. That is what OBS is for. It is not what a stage is for.

What Sialk does instead

Sources, obsproject.com forum thread 69768 (2017), thread 133655 (2020), thread 171175 (2023), thread 184305 (2025); spout.discourse.group thread 522.