Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Why transitions for some CSS properties are slow and none fluent

I spent a bout 4 hours on having a simple transition with an acceptable performance:

First I tried this code :

left: 2000px;
-webkit-transition: left 1s linear;
-moz-transition: left 1s linear;
-ms-transition: left 1s linear;

The result was terrible on Chrome v21.0.1180.89 and FireFox v15.0.1, but was great on IE10. I captured the CPU usage and GPU usage graph and found that chrome does not use GPU for basic css properties, enter image description hereenter image description here What is the solution for modern-browsers?

like image 801
Ata Iravani Avatar asked Sep 10 '12 08:09

Ata Iravani


People also ask

Which delay CSS property is used for transition effect?

The transition-delay property specifies when the transition effect will start. The transition-delay value is defined in seconds (s) or milliseconds (ms).

Why is transition CSS not working?

If you have a transition not working, check that the starting value of the property is explicitly set. Sometimes, you'll want to animate height and width when the starting or finishing value is auto . (For example, to make a div collapse, when its height is auto and must stay that way.)

What is transition-delay in CSS?

The transition-delay CSS property specifies the duration to wait before starting a property's transition effect when its value changes.


1 Answers

Don't use left or top, bottom, margin or padding properties to move elements, but only "transform: translate".

In the same way, to resize elements use only "transform: scale" instead of height or width.

Left, top, bottom, margin, padding, height, width properties (and many others) force the browser to recalculate all the layout, so geometry of many elements, with a lot of CPU work.

Each property has a different weight, in this article it's clearly explained high performance animations

Edit1: triggers.com seems to be a good page if you don't remember each property weight

like image 110
Andrea Mattioli Avatar answered Sep 20 '22 14:09

Andrea Mattioli