Runs awful for me in Firefox, but looks and runs great in Chrome. Really impressive - I think this is the first 'pure HTML' demo I've seen that really sells me on what can be done with Canvas, <audio>, etc - it doesn't feel like a compromised or 'it's cool because it's in the browser' experience, it's a legitimate demo that stands on its own without even considering how it was made.
The first few seconds work well for me in Chrome, but as soon as it gets to the Galaxies it starts to get real slow. This is on a 2GHz Core2Duo. What version of Chrome are you using?
Compiled for what platform? jamii mentions NaCl, but x86 is a very complicated architecture to emulate. Java applets are better, but there is still a lot of overhead (and most people never performance optimize their Java). I would like to see a plugin system based on LLVM, but we have a ways to go there.
All of the heavy lifting that this demo is doing can (and should) be done on the GPU. WebGL should allow that, and the next versions of firefox, chrome, and safari will ship with it (you can play with it in their nightly builds).
Amen to that, I was going to point out the same thing. With the new drivers from AMD supporting OpenGL ES 2.0 on all their cards and Nvidia supporting Opengl 4.1(full OpenGL ES compatibility) for their newest cards (fermi) WebGL is going to kick ass. I'm already using it in Firefox 4 beta 2 and chrome nightlies for work (building some scientific visualization software with it).
It's harder to verify that a program doesn't violate the browser's security policies and try to get out of the sandbox. That's why NaCl is such an impressive project.
I don't think compilation per se would make this sort of program run faster. The slowness would be better addressed by giving a lot of computation to the GPU, which is the direction browsers are headed (e.g. WebGL). For whatever reason, people don't like compiling stuff, and I think that's a primary constraint.
Amazing demo for JS. I was really hoping it would work on any iOS device but all they i've tried 3GS/IPAD don't work, but it renders beautifully in chrome.
On a somewhat related but off topic note, I've had this strange idea for a while now that if one had cassandra bindings for JS and a VM image that joined a cassandra image on boot and executed a JS file via Node.JS stored at a well-known key that you could build clusters of almost infinite size that would be accessible to almost every developer. Yes, I think that per node performance would be horrible initially but that the sheer scale and accessibility would make up for it.
Runs relatively decent on Chrome 5.0.375.125. As usual, utter functional failure on Opera (10.60).
Can someone more informed explain which one is closer to the truth?
a) Opera's JS engine does not fully support standard functionality
b) the demo uses yet-to-be-standardized functions that have been implemented in Chrome