Angular 2 анимация vs css анимация - когда использовать что?
В настоящее время я тестирую анимацию angular2, и мне было интересно, какое конкретное преимущество они приносят за стандартные анимации/переходы css.
например. типичный материал, разработанный для карты и зависания с тенями коробки. Большинство фреймворков css используют: hover и css-переходы. Есть ли особенное преимущество при использовании анимаций angular 2?
Я где-то читал, что некоторые свойства анимации css не вызывают GPU столько, поэтому там что-то задерживается и отстает. Что относительно анимации angular2?
Ответы
Ответ 1
Вопрос на самом деле больше анимации javascript vs css (потому что анимация angular2 основана на javascript-анимации).
Ответ заключается в том, что когда вы можете - использовать анимацию CSS.
Современные браузеры используют разные темы для анимации CSS, поэтому анимация CSS не влияет на javascript-поток.
Вы можете использовать тест скорости анимации HTML5, чтобы проверить предварительную настройку анимации VS CSS различных фреймворков (javscript-based) в вашем браузере.
В общем:
Браузеры могут оптимизировать потоки рендеринга. Таким образом, мы всегда должны пытаться создавать анимацию с использованием переходов/анимаций CSS, где это возможно. Если ваши анимации действительно сложны, вам, возможно, придется полагаться только на анимацию на основе JavaScript.
Если вы хотите точно знать анимацию angular2 - просто просмотрите элемент в своем браузере и проверьте, есть ли в анимации CSS (переходный/анимационный фрейм или javascript (вы сможете увидеть значения в style
изменение атрибута во время анимации).
Ответ 2
Ответ на самом деле находится в документах:
https://angular.io/guide/animations
Система анимации Angular позволяет создавать анимации, которые запускаются с помощью такой же родной производительности, найденный в чистых анимациях CSS. Ты можешь также плотно интегрируйте свою анимационную логику с остальной частью вашей код приложения для простоты управления.
Он также абстрагирует необходимость отслеживать длины анимаций, чтобы шататься и избегать перегрузки браузера или цепочки анимации.
Как правило, если у вас простая мелочь, CSS, вероятно, проще. Но если вы последовательно выполняете анимацию в своем приложении, вы получаете много энергии с небольшой стороны от анимации Angular.