WebGPU performance regression and worker thread lag on mobile since v9.5.0

Hi everyone,

I’ve been updating my project to the latest Babylon.js 9.5.0 to take advantage of the new Gaussian Splatting updates, but I’ve hit a technical snag regarding performance stability on mobile devices that I can’t quite solve.

I’ve noticed that whenever my test environment is under heavy background load—specifically when I’m running automated testing scripts or seeing how a mobile arceus x executor handles high-concurrency background instructions—the Babylon.js engine starts throwing “Uncaptured WebGPU Error: Device Lost” or experiencing massive frame drops. It seems like the browser’s GPU process is being deprioritized or hitting a VRAM limit much faster than it did in v9.4.0 when other intensive scripts are active.

While talking to a few other devs, it felt like the new asset loading steps in v9.5.0 might be more sensitive to CPU scheduling delays. Has anyone else noticed their mobile WebXR or 3D scenes hitting “silent” reloads or experiencing extreme UI lag when the system is working hard on other processes? I’m seeing occasional OffscreenCanvas hangs that only seem to happen during these high-multitasking sessions.

I’m trying to figure out if there’s a way to make the engine more resilient to these resource spikes—perhaps by adjusting the engine.disableUniformBuffers setting or if I should look into a more aggressive worker-thread strategy to ensure the render loop remains fluid even in “noisy” multitasking situations. If you’ve found a way to stabilize your mobile WebGPU workflow while pushing your system to its limits in the background, I’d really value your insights!

Best regards!

Thanks for the report! To investigate this properly, could you share a minimal Babylon Playground or small repro project that shows the issue?

A few details would also help narrow it down:

  • the exact mobile device / OS / browser version
  • whether it reproduces with WebGPU only or also with WebGL2
  • whether the same scene is stable on Babylon.js 9.4.0 but fails on 9.5.0
  • whether Gaussian Splatting is required to trigger the device loss, or if a simpler scene can reproduce it

Device Lost on mobile WebGPU can happen when the browser/GPU process is under memory or scheduling pressure, so we’ll need a reproducible scene before we can tell whether this is a Babylon regression, a browser/device limitation, or caused by the extra background workload.