Вече всички знаем, особено от тази хубава статия, че трябва да предпочитаме css-трансформации пред анимирана позиция.
Но имаме избор между translate()
и translate3d()
...
Кой е като цяло по-бърз?
Вече всички знаем, особено от тази хубава статия, че трябва да предпочитаме css-трансформации пред анимирана позиция.
Но имаме избор между translate()
и translate3d()
...
Кой е като цяло по-бърз?
Този сайт по-долу провежда тестове, сравняващи translate()
, translate3d()
и няколко други свойства. Според него translate3d()
е по-бърз в повечето браузъри.
http://jsperf.com/translate3d-vs-xy
Използването на translate3d тласка CSS анимациите към хардуерно ускорение. Дори ако искате да направите основен 2d превод, използвайте translate3d за повече мощност! Така че „T3d“ е просто по-добро, защото казва на CSS анимациите да прокарат анимациите в 3D мощност! Ето защо е по-бързо. (Отговорът на Камерън Литъл е доказателството)
y
на translate3d за преместване по вертикалната ос. transform: translate3d(0, 42px, 0);
- person Florian; 11.12.2019
Както Камерън предложи translate3d
трябва да бъде по-бърз в много браузъри, най-вече тези, които използват gfx хардуерно ускорение за ускоряване на изобразяването. особено на webkit translate3d
беше предпочитаният начин за принудително хардуерно ускорение на елементи на страница.
въпреки че според опита на mit понякога има един недостатък при използването на 3d трансформации - в определени комбинации браузър-версии/os (osx+safari, гледам ви) хардуерно ускореното изобразяване може леко да промени изглаждането на шрифта, както и интерполацията, като по този начин причинява незначително трептене или размазване. тези ситуации в повечето случаи могат да бъдат заобиколени, но трябва да се имат предвид.