OK, technically OpenGLES2 is the open-standard that the open-web-standard WebGL is based on. Still a big step in the right direction compared to Stage3D. Moving from ES2 to a C++ interface to WebGL would not be a huge pain at this point if someone pushed for it.
That's how Mozilla /can/ help NaCl become a relevant standard for the web. It's still evolving rapidly! That could be a good thing because it's far too complex and cpu-specific /now/. With Moz's participation, that evolution could be directed to something standardizable. It's a lot of work, but it's better than sitting back and watching Adobe take over without asking for anyone's support.
Right now, Alchemy runs at 40% of native speed. They are targeting 80% at public launch. We'll see how that goes... Meanwhile, I've dug deep into the performance of JS and I've been happy when I can get deeply-optimized JS to reach 10% speed compared to deeply-optimized native.
Mozilla can't make NaCl non-CPU specific. It's CPU specific by design. PNaCl, which tries to be portable, is a completely separate project (although the underlying SFI is similar), and it's too early to evaluate the performance there to see if it's worth it. So there is nothing Mozilla or Opera or anyone can do.
Deeply optimized JS should run much faster than 10x slower than native. Most benchmarks I've run on compiled code are 2x-6x slower than native. And that is before JS engines actually optimize specifically for that type of code, which is happening this year.
The point is that Google isn't self-motivated enough to get an Open-PNaCl-Whatever in shape to be standardizable on their own. They need Moz and Opera to push them, not rebuke them.
I understand Moz's position. I'm just frustrated. Mozilla seems to be so proud to have finally reaching the point that we can run Super Nintendo games in the browser (http://browserquest.mozilla.org/) only 18 years after http://en.wikipedia.org/wiki/XBAND Meanwhile, Alchemy and NaCl can deliver a better-than-iPad3 user experience (zero install + sandboxed, etc) comparable to http://infinitybladegame.com/ to the browser today.
When I speak of deeply-optimized native, I'm talking about large volumes of tuned double-precision SSE vs tuned double-precision math in JS. If I were to cheat and do single-precision in SSE, it would be more like 20x. Moz is talking about adding a Matrix4x4 type to JS to make it easier for games to keep up. That seems to me like a patch to the larger problem of SIMD not making sense the context of JS.
> The point is that Google isn't self-motivated enough to get an Open-PNaCl-Whatever in shape to be standardizable on their own. They need Moz and Opera to push them, not rebuke them.
Opera, Mozilla, Microsoft and Apple can't help Google push a standard that doesn't make sense for the web. I don't understand what you want them to do. Help from the other browser vendors can't magically fix the problems already mentioned with NaCl.
The only thing they can do, is ignore the principles of standardization and what is good for the web, and just drop NaCl into their browsers. That would be terrible though.
> Meanwhile, Alchemy and NaCl can deliver a better-than-iPad3 user experience (zero install + sandboxed, etc) comparable to http://infinitybladegame.com/ to the browser today.
What I want is to /eventually/ get PNaCl with WebGL/WebAudio/IndexDB/whatever APIs make Mozilla happy. I make high-end 3D apps to pay my bills. I want to bring them to the web. But, what I don't want is to go through Adobe's content approval process in order to not be 15 years behind the technology curve (Cube2=Quake2=1997).
JS+WebGL is great and I'll keep pounding on it. But, building JS into the world's VM because of the asteroid-like inertia behind JS is frustrating in a similar way to watching Intel bolt stuff on to a pocket calculator CPU (8086) until we get a CoreI7. It obviously /can/ work, but...
Well, NaCl is in no way a step towards that. They are completely separate technologies: One is a modified gcc compiler and custom validator in the browser, the other is a modified LLVM compiler and another modified LLVM compiler in the browser. The only similarity between them is the name, and some of the SFI approaches they utilize. But their code, potential spec for standardization some day, startup times, portability etc. are entirely different.
Supporting NaCl now would not help out PNaCl in any way. (In fact, the opposite could be argued.)
> But, building JS into the world's VM because of the asteroid-like inertia behind JS is frustrating in a similar way to watching Intel bolt stuff on to a pocket calculator CPU (8086) until we get a CoreI7. It obviously /can/ work, but...
First thing, I do understand your frustration. I feel it too.
But JS isn't just there because of inertia. There is no other valid option, all the proposals have major flaws, either technical or legal. JS also has its flaws, to be sure. But since the others are not clearly better (running faster, but only on certain CPUs is not better), JS will win because it does have inertia.
That's how Mozilla /can/ help NaCl become a relevant standard for the web. It's still evolving rapidly! That could be a good thing because it's far too complex and cpu-specific /now/. With Moz's participation, that evolution could be directed to something standardizable. It's a lot of work, but it's better than sitting back and watching Adobe take over without asking for anyone's support.
Right now, Alchemy runs at 40% of native speed. They are targeting 80% at public launch. We'll see how that goes... Meanwhile, I've dug deep into the performance of JS and I've been happy when I can get deeply-optimized JS to reach 10% speed compared to deeply-optimized native.