Specifically, it happens here: https://playground.babylonjs.com/#HJZBRG#0
My GPU has a tendency of failing. So content which is using it goes into a refresh and then keeps working. But not Babylon.
Either when opening the page, a white screen is shown with a red overlay at the bottom of the page. That overlay contains the following error on both versions of WebGL:
Error at [1, 418265]: WebGL not supported for Babylon 9.11.0.
Error at [1, 542701]: WebGL not supported for Babylon 8.56.2.
Or the scene loads and works just fine, but after some time it freezes and stops responding. And after refreshing the page, the scene errors out in the way described above.
Such types of issues aren’t noticeable in modern native apps on this machine. But sometimes, hardware-accelerated content on the web, causes Firefox to turn all it’s windows into gray boxes, and after that, their rendering is recovered. Babylon just crashes with no way to recover, until the browser is restarted, even if the issue doesn’t spread to other content on the browser.
I want to use Babylon in a project which requires high reliability, so please look into this. Im ready to provide any diagnostics needed.
It seems that the scene froze at about 14:05, this is the page’s content in the browser’s console:
Before i saw the freeze, i observed the following on Google Maps:
cc @sebavan if has has some free cycles
Now the auto-recovery of Firefox windows occurred. As a result, all 3D objects in a scene had disappeared. But content which happened to be powered by HTML Mesh in the same scene, kept working, but stopped reacting to user’s actions and affecting the mouse cursor.
New case, this time everything is hosted offline. 3D objects froze in rubber-banding, except HTML Mesh, the 2nd kept allowing to interact with it’s content. Later, after restart of the browser, the objects froze in-place, maybe because they weren’t moving before the problematic frame. 2D GUI froze as well (tree view on the left). The console was showing this error: WebGL warning: texImage: Unexpected error <enum 0x0507> during upload. (dui: 8058/1908/1401).
The buttons on the right are HTML over the Babylon canvas, the clicks were failing to visibly move the frozen sphere.
@irvnriir I am not sure the scene you shared is the problem https://playground.babylonjs.com/#HJZBRG#0
It looks like you somehow create a driver crash which then can not recover from what the error says.
Can you share a playground that reproes the issues ?
@sebavan As i described, it is a crash beyond Babylon. The subject is the fact that Babylon can’t recover from it, and state of the scene gets lost. But, in fact, yet i didn’t test which parts of the engine are failing from perspective of JS, and whether its possible to extract the state.
I assume that Babylon’s 2D GUI is using WebGL too. And maybe, HTML overlay could replace it in apps which are using Babylon, as a more reliable alternative, but idk yet.
I also isolated the issue to a fact that the WebGL was powered by an Intel’s iGPU, and Babylon was stable on a much older Nvidia GPU.
That iGPU is also old, and maybe damaged, but a lot of devices rely on iGPU for graphics, so its better to have app able to recover if possible.