Веб-анимация может значительно улучшить взаимодействие с пользователем, но также может повлиять на производительность веб-сайта, если ее не реализовать тщательно. В этой статье я сравню три разных подхода к анимации элемента круга, который постоянно меняется в размерах. Я буду использовать CSS, неоптимизированный и оптимизированный JavaScript и покажу вам, как измерить их производительность с помощью Chrome DevTools.
Анимация — ключевая часть современного веб-дизайна. Их можно реализовать различными методами, чаще всего с помощью чистого CSS или JavaScript. Однако не все методы работают одинаково хорошо. Чтобы продемонстрировать это, я решил протестировать три разных подхода:
Проект доступен на GitHub. Вы можете легко скачать и опробовать его.
клон git https://github.com/TomasDevs/animation- Performance-test.git
cd анимация-тест производительности
После загрузки проверьте папки css-animation, js-animation-optimized и js-animation-unoptimized.
Попробуйте проект на GitHub
Для измерения производительности я использовал панель Performance Chrome DevTools. Каждая анимация длилась 10 секунд.
Источник: Создано TomasDevs (2024)
Примечания:
CSS-анимации, как правило, работают лучше, поскольку они передаются в собственный механизм рендеринга браузера, особенно при работе с такими свойствами, как преобразование или непрозрачность. Эта анимация очень эффективна и минимально влияет на время написания сценариев и рендеринга.
Источник: Создано TomasDevs (2024)
Примечания:
Оптимизированная версия JS использует requestAnimationFrame и функцию плавной синусоидальной волны для управления анимацией. Хотя для его написания требуется больше времени, чем для CSS-анимации, он по-прежнему работает достаточно эффективно и сокращает время рендеринга и рисования.
Источник: Создано TomasDevs (2024)
Примечания:
Неоптимизированная версия JS использует простой цикл без учета прогресса времени. Это приводит к значительному увеличению времени написания сценариев, рендеринга и рисования из-за неэффективных вычислений для каждого кадра анимации.
Каков ваш опыт оптимизации веб-анимации? Есть ли у вас какие-либо дополнительные советы или рекомендации по повышению производительности? Дайте мне знать в комментариях ниже!
Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.
Copyright© 2022 湘ICP备2022001581号-3