I\'ve been reading several references like \"X is GPU accelerated\" and \"Y is not GPU accelarated\", but I can\'t find a full list. What exact parts of CSS
Right, this is an interesting topic, and it does really depend on the browser + graphics card. I've been meaning to do some research on this for a while, so here's a quick summary.
In Webkit, AnimationBase.cpp used to specify it, but it seems to have moved! Doh! Well, anyway, if you search the code for ACCELERATED_COMPOSITING
, you'll find it.
Specifically, if something matches one of these, then it can be accelerated (at least in Chromium):
Source
In Gecko, https://wiki.mozilla.org/Platform/GFX/HardwareAcceleration explains their plan/implementation, much like IE, on XP the options are more limited, but every other OS gets some acceleration if the graphics card is supported properly. Firefox 4 (I think!) added acceleration for text, canvas and transforms.
IE10 seems to have pretty much everything HW accelerated. http://blogs.msdn.com/b/ie/archive/2011/04/26/understanding-differences-in-hardware-acceleration-through-paintball.aspx
It is pretty quick, so I don't really doubt their claim!
There is no CSS3 specification that discusses anything about GPU acceleration. Instead, it is up to each browser maker or the company that implements the browser on specific hardware to decide which parts of CSS3 they will use the GPU for. And, this can easily change from one device to the next.
For example, as of about a year ago (I don't have more current info), 3d transformations were GPU accelerated on an iPhone3, but not 2d tranformations. But, I would expect that that info could be completely different for the iPhone3s or iPhone4 or future iPhone5.