Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

CSS: is transition: left/top GPU accelerated?

I know that you can force GPU acceleration to achieve smooth animation of elements across the screen by applying a transition to the 'transform' property, e.g.:

elem.style.transition = 'all 3s ease-out';
elem.style.transform = 'translateX(600px)';

But I was wondering what would happen if you replaced the second line with:

elem.style.left = '600px'; 

Would/could GPU acceleration kick in for the "left" (or "top") property, or does it have to be on the transform property? It seems to me that it should be GPU accelerate-able, but I can't glean a final answer from any of the documentation I've read.

like image 853
Alexander Wallace Matchneer Avatar asked Mar 12 '12 04:03

Alexander Wallace Matchneer


People also ask

Can CSS animations be hardware accelerated?

Note: You may need to attach a translateZ(0.1) transform if you wish to get hardware acceleration on your CSS animations, depending on platform. As noted above, this can improve performance.

Do CSS animations use GPU?

We already know that animation of transform and opacity via CSS transitions or animations automatically creates a compositing layer and works on the GPU.

Is SVG GPU accelerated?

SVG animations are now GPU-accelerated in Chrome Such constant repainting can have a negative impact on the smoothness of the animation and the performance of the page itself.


1 Answers

It's not accelerated. You have to use the specific CSS3 properties for it to be accelerateable. I think you'll find these links interesting:

http://www.html5rocks.com/en/tutorials/speed/html5/

http://www.chromium.org/developers/design-documents/gpu-accelerated-compositing-in-chrome

Does animating the value of a CSS3 transform with javascript rule out hardware acceleration?

like image 117
trusktr Avatar answered Sep 21 '22 21:09

trusktr