<img src="http://upload.wikimedia.org/wikipedia/commons/3/39/WebGL_logo.png" border="0">
<font size="5">Its Great... But DON'T enable it from Configuration Settings yet, and here's Why..</font>
Provide WebGL as an OPTION!
WebGL is awesome it really is, when things are working properly. But (because of crappy video drivers and/or hardware) some Computers will render the WebGL content, but it is painfully SLOW and therefore the game isn't really playable, <font color="red">Resulting in a Closed window or Backspace - LOSS OF POTENTIAL LONG-TERM FANS OF YOUR GAME!!!!</font>
So what can be done for Computers that can run WebGL, but really shouldn't be?
1. Regular Website:
If you have your own website a work around is easy. Build 2 versions (one with WebGL, another without). Have a start screen where the Person can also choose a button "Enable WebGL" which will open the URL using the browser object to where the WebGL version is (Open URL - "http://mydomain.com/game/webgl.html"). If it is slow they can simply backspace and choose to Play the Regular (canvas2D) version. Or on the start page, some type of testing can be done to determine if it can run GOOD WebGL, if not it will go to a page on your site where the Regular version is.
<img src="http://darren.netne.net/images/webgloption.PNG" border="0">
The Game is compiled twice (without WebGL and with it) into separate directories. Then we just rename the c2runtime.js file and index.html from the WebGL build to webgl.html and webgl.js. Then copy these 2 files where the regular version is. Make sure you change the source of webgl.html to reference webgl.js instead of c2runtime.js. Now there will be no loading time between switching webgl and canvas because they will both be using the same source directories for images and media - which will already be loaded into cache memory.
2. Game on the Arcade:
I have not done any testing. I do not know a work around, other than the icon trick mentioned below. Anyone have any suggestions or methods?
3. Chrome Web Store?
I have not done enough testing, I will report my results soon. In theory you should be able to use a method similar to 1. Regular website, but instead your Open URL action to your WebGL version would be something like "chrome-extension://YOURAPPID/webgl.html" if you are exporting a Packaged App.
4. Other Exports.
More testing needs to be done. Feel free to help.
I tested a WebGL game on my friends computer and It was so painful to watch!, because of the above mentioned problem. I updated their driver, but it was still painful to watch. So I just disabled WebGL in Chrome using --disable-webgl on the chrome icon, and the game ran perfect under canvas2D. But most people who just want to play a game on the internet, wont think to change any icon settings; they will just close the page if its painfully slow. WebGL will continue to get better as time goes along. Maybe one day Chrome will give a message "Your computer isn't running the WebGL content well, Click OK to switch to 2D mode." which then will disable WebGL on the tabs process.
Example:
Edited Space Blaster Demo
Edited Space Blaster Demo Source:
Edited Space Blaster Source
Note: The example is on a free web server, so i apologize if you get a server busy message.