Comment by torginus

Comment by torginus 10 months ago

13 replies

Because WebGL, just like WebAssembly (with its hacky thread support and compilation issues) is a giant kludge.

WebGL still has fundamental issues of not even supporting anything resembling a modern OpenGL feature set (with modern meaning 2010s era stuff like compute shaders and multi draw indirect) in theory, and in practice, macOS doesn't support WebGL2, meaning stuff like multiple render targets (which is necessary for deferred rendering), so it's almost impossible to make a modernish game that runs in a browser well.

Imo the problem isn't that WebGPU/Wasm is a decade/X years behind, but that we cannot reliably expect a feature set that existed on typical mid 2000s PCs to reliably work in the browser across all platforms (which is the whole point of the web).

Ygg2 10 months ago

It's almost as like some Fruit based company is sabotaging the efforts to keep its walled garden.

  • jsheard 10 months ago

    Despite all the bending over backwards to keep the fruit company on board with WebGPU, they still haven't actually shipped their Metal backend in Safari over a year after Chrome managed to ship DirectX, Metal and Vulkan backends simultaneously. Mozilla hasn't shipped WebGPU either but their resources can hardly be compared to Apples.

  • torginus 10 months ago

    Honestly Google's probably almost as guilty - Native Client was a great idea and sidestepped basically all the issues we are having now, but they killed it in favour of 'standard' APIs, like Wasm that basically barely work for their intended purposes

    • flohofwoe 10 months ago

      Nah, Native Client had a lot of its own problems. Except for pthreads-style multithreading, PNaCl couldn't even compete with asm.js, and Spectre/Meltdown would be just as catastrophic for PNaCl as it was for SharedArrayBuffer.

    • pjmlp 10 months ago

      Add Mozzilla to the mix, for not wanting to adopt PNaCL, coming up with asm.js, and for what.

      Firefox is almost irrelevant now, and Google is calling all the shots anyway.

      Without Safari's relevance on mobile, the Web would have long turned into ChromeOS everywhere by now.

      • Ygg2 10 months ago

        > Add Mozzilla to the mix, for not wanting to adopt PNaCl.

        Mozilla wasn't in any position to command the market, even at the time PNaCl was created. PNaCl failed on its own demerits.

        > Firefox is almost irrelevant now

        Firefox has been irrelevant because it doesn't have the trillion dollar budget of Apple and Google, nor the vendor lock-in, and with that no reach which would enable it to steer web the way it deems fit. It has nothing to do with asm.js

    • Ygg2 10 months ago

      > Honestly Google's probably almost as guilty - Native Client was a great idea and sidestepped basically all the issues

      NaCl failed on its own.

      A) Wasn't backwards compatible

      B) Spec was - look at the Chrome source

      C) No one other than Google wanted it

      D) It was essentially ActiveX Google (yeah, ActiveX had some nifty ideas and they still persist to this day)

flohofwoe 10 months ago

> macOS doesn't support WebGL2

WebGL2 is fully supported in Safari since quite a while now. In fact it's using the same rendering backend as Chrome and Firefox (ANGLE), and AFAIK Google and Apple engineers worked together to create (or at least improve?) the ANGLE Metal backend and integrate ANGLE into Safari.

adrian17 10 months ago

Safari supports WebGL2 since version 15 - unless you meant something else by macOS lacking support?

(I agree with your general point though.)