My BabylonJS app works on most devices, but on old iPads I get WebGL errors like “Too many uniforms”. Sometimes the errors happen while loading a scene.
Is there some reliable way to detect unrecoverable WebGL errors, so I can alert the user with a message like “Your device is not powerful enough to run this app. Please try using a more powerful device.”
PS: I have tried patching BABYLON.Tools.Error and it detects WebGL errors OK, but (a) BabylonJS also calls Tools.Error for unimportant errors like failing to load some files, and (b) it looks like BabylonJS can recover from some shader errors by falling back to a simpler shader. In this case I would not want to show an error to the user. So this way (patching Tools.Error) is not reliable.