Hi all,
The issue is solely to do with graphics card drivers. It is a technical issue and nothing to do with anyone trying to force you to buy a new computer. The problem is manufacturers not letting you use the latest graphics card driver. Then, because many old drivers crash all the time, browser makers block any drivers that are unstable to ensure your computer does not crash while browsing the web. This means you get software rendering and the game will run very slowly.
For background, read these two blog posts:
Graphics card drivers: a lesson in software engineering
Introducing the graphics driver updater utility
If you experience poor performance in a HTML5 game, the very first thing you should do is update the drivers! Try using that updater utility to help you. This will fix the problem a lot of the time.
WebGL is consistently faster than Canvas 2D in our benchmarks. However, Chrome 18 has recently thrown a spanner in the works. They introduced "Swiftshader", a software renderer for WebGL. This has totally screwed us over, because when starting a game, we do the following:
1. Try to create a WebGL renderer.
2. If that fails, create a canvas 2D renderer instead.
This used to work, because WebGL would always be hardware accelerated and if it was not available it'd just use canvas 2D instead, which might be hardware accelerated. However now in Chrome 18 it always succeeds in creating a WebGL renderer - half the time, it'll be a crappy slow software renderer - and never uses the canvas 2D, which might have been hardware accelerated!
I'm actively trying to push for there to be some way to detect software-rendered WebGL so we can fall back to canvas 2D. However it's still a work in progress. I'll keep pushing and see if I can get them to do anything. In the mean time you may want to disable WebGL.
I'm also considering automatically disabling WebGL in Chrome for the time being. Do you think that would cause more problems than it fixes, though?