WebGPU on mobile : is it ready?

So far, I’ve been really happy with WebGL 2 support and performance on mobile for my applications (industrial configurators).

With the recent release of Babylon Lite, what has your experience been with WebGPU on mobile?

Do you think it’s ready for production use?

If not, what would your strategy be? BabylonJS Lite for desktop and standard BabylonJS for mobile? Is there a recommended way to maintain a common codebase? I also noticed that a “Lite GL” backend for Babylon Lite is currently in development.

On my side, performance on recent iOS devices has been quite good. However, Android remains very heterogeneous. For example, on my older Pixel 5, which supports WebGPU, I actually get significantly better performance with WebGL 2 than with WebGPU.

2 Likes

cc @Evgeni_Popov @sebavan

I know personally, with babylon 8, I get better frame rates on my phone than my current PC… I think that’s ridiculous, but it is what it is.

Works well in ios

1 Like

WebGPU is getting better, but I don’t think it’s ready to replace WebGL 2 on every mobile device yet. I’d support both and use WebGPU only when it offers better performance, with WebGL 2 as a fallback. This helps ensure a smoother experience, especially on Android, where performance can still vary between devices.

I agree with that. It’s the reasonable choice, but it means using Babylon.js for the WebGL2 fallback. That said, I really want to try Babylon Lite for my next project. Not sure I’m going to be all that reasonable. :grinning_face_with_smiling_eyes:

Testing BabylonJS Lite in an Android/IOS react native app with react-native-webgpu. This package uses Dawn internally.

On my pixel 5, It performs much better than in Chrome :

I tried in the past to do the same prototype with BabylonJS (project on github), it was very hard and I didn’t manage to load GLB… With Lite it works (almost) immediately.

Pretty cool! BabylonJS Lite is the way to go!

cc @BabylonNative