WebGL performance on low-end mobile devices for HTML5 games

Hi everyone,

I’m currently learning more about WebGL and HTML5 game development, especially for games that need to run smoothly on mobile browsers.

One thing I’m trying to understand is how far WebGL can be optimized for older or low-end smartphones.

For a small HTML5 game, I assume that keeping the number of draw calls low, using smaller textures, reducing unnecessary effects and keeping the scene simple can make a significant difference. But I’m wondering where the biggest performance problems usually appear on older mobile devices.

I’m also interested in browser games because players don’t need to install a large application. I’ve been testing different lightweight HTML5 games and looking at how they perform on mobile browsers.

For developers who have worked with WebGL:

  • What optimizations have made the biggest difference on low-end phones?
  • Is it better to reduce visual effects or resolution first?
  • Are there particular WebGL features that should be avoided for older devices?
  • How do you normally test performance across different mobile browsers?

I’m also experimenting with the idea of creating lightweight games inspired by Vietnamese themes and making them accessible to players outside Vietnam. So performance and browser compatibility are especially important to me.

I’d be interested to hear what others have learned from optimizing WebGL games for mobile devices.

If understood, WebGL is similar to WebAssembler: both should compile into local code which executes through CPU/GPU virtualizers for close-to-optimal performance.

An old Pixel 6 (which now cost around $100) can do what (back in 2010) you needed a $2000 desktop to do.

So, just produce your sim as if for normal computers (but you should not use extensions unavailable for OpenGL 2).

If the extensions used are not executable through hardcoded paths on the GPU, your sim will not execute, or will use software emulation (which is not what you want; you want the hardcoded execution paths).