Is there an official or more complete list of supported browsers?
Here’s what I got from a few short tests. It seems like PlayCanvas projects work on mobile Chrome version 41 and higher, and Safari 8.0 and higher–is that about right?
Is there something we can do to default to something else if the browsers are not supported? Something like if the browser is unsupported, instead of loading PlayCanvas, load a backup image?
- iPhone 6s, Safari 9.0
- iPad Air 2, Safari 9.0
- iPhone 6, Safari 8.0
- Nexus 6P, Chrome 49
- Nexus 9, Chrome 48
- Nexus 5, Chrome 44
- Nexus 4, Chrome 42
- iPhone 6, Chrome 41
- iPhone 5s, Safari 7.0, iPad Mini, Safari 7.0: Hangs on the loading
screen at 0%. Tried other demos on playcanv.as, and they all seem to
have the same issue.
- Nexus 6, Chrome 40: “Unfortunately, Chrome as stopped.” crashes the
browser. Other demos on http://www.playcanv.as also crash the
I used crossbrowsertesting.com to test on the devices.
We do try to support browsers from the most basic webgl support.
Although there are cases when hardware not supporting it even if software is up to date. It may be related to drivers sometimes too.
Mobile GPU vendors sometimes do leak bugs and issues to their drivers, but we usually try to contact them directly with good tests to address those issues as fast as we can. Major issues with drivers - have happened in past, but usually there was a workaround it that we apply as soon as we can.
Safari 8.0+ indeed. Apple was the latest to join webgl movement.
For mobile, support is one thing, but hardware is another, some devices are just too weak to handle even primitive graphics, and this has to be taken in account.
Support of versions is one thing, other thing is what your real audience is actually. Some agencies and companies are very conservative regarding “coverage” of platforms, but if we are talking huge experience improvement with the cost of ~3% (e.g.) of audience, then of course! Why not
You need to know your audience and who you are targeting with your apps.
Here is a chart from caniuse.com that points to webgl support across different browsers:
Here is another good website, showing how hardware supports webgl features and extensions. We do try to fit to the minimum use of things, and in places use available extensions and fallback when they are not available.
Thanks for the response!
Is there anything inside the playcanvas.com editor I can add so it gracefully has a fallback when a browser is not supported, or is this more something we should handle outside of PlayCanvas? Like putting the published project in an iframe that only displays after some browser checks?
There isn’t currently a way to hook in to a PlayCanvas app to specify a fallback for when WebGL is not supported. Options are to do what you suggest and load an iframe if WebGL is supported and show a fallback if not. Or if you are exporting/self-hosting your app, you can edit the download directly to do what you want.
A post was split to a new topic: Firefox loading issue
I’m writing in this thread again because I’d like to know if you know where I could check which devices DON’T support webGL. I’m focusing on mobile. According to this and my own research, the limitation is in the browser and browser version. But I would like to know other limitations:
Is there a limit on the Android or IOS version of the device?
Is there a limit on the hardware?
If so, where can I search for that information?
Does this help?
On iOS, you essentially need iOS 8 and above for WebGL to work. It’s a bit more complex on Android - I’m not sure what the minimum version of Android is required to run Chrome. The Google Play page for it doesn’t say.
Those stats are relevant at date: 12/06/17
On Android there are multiple things.
First it depends where your content is running from. If it is Chrome browser, than you could safely say “almost everywhere”.
Android added support for OpenGL ES 2.0 on Android 2.2, and that is 7 years ago. It is very unlikely you will be able to find device with such old version today.
Native WebView was a bit slower to provide support for WebGL. And at versions 4.4 they’ve locked it’s version, and on Android 5.0+ they switched to Chromium as underlying implementation for WebView. This means all Androids with 5.0+ will support WebGL in WebView as well as in most browsers that do support WebGL.
If you look at WebGL stats website, it shows ~93% of support on Mobile Android: http://webglstats.com/?platforms=000000300010800400
Talking about WebView support, based on version market share: https://developer.android.com/about/dashboards/index.html
We have around 71%+ of WebView supporting WebGL.
Regarding hardware, this is pretty much same as for any other mobile games. Of course on older devices you will struggle running complex 3D graphics with many objects and sophisticated materials. This applies to WebGL and native games on mobile. So be reasonable with what to expect from specific hardware, pick your bottom line, and go from there.
Thanks, that was useful. And yes, we know that the device can’t be too old or too cheap for the game that we are developing, but we wanted to know at least where it wouldn’t be playable for sure