Как анимация Greensock работает под капотом, что она настолько производительна?

На веб-сайте greensock есть тест скорости, сравнивающий скорость с другими библиотеками анимации, JQuery или даже переходами CSS. Это бенчмаркинг FPS путем анимации сотен/тысяч пертиклов.

FPS анимаций зеленых носков превосходит все остальное. Переходы Css и JQuery не очень близки к greensock.

Я попытался найти о гринсоке, но не смог найти много полезной информации. Большинство из них плохо объяснены.

Я все еще любитель в javascript. Если я попытаюсь сделать свои собственные JS-анимации, они будут не такими быстрыми, как gsap. Даже не близко. Так что было бы здорово узнать, что происходит под капотом. Как они оптимизируют так много!

Не думайте, что «будет не так быстро, как gsap». Даже не смотрите на них, если хотите быть быстрее. Потратьте время на то, чтобы попробовать свои собственные способы, вместо того, чтобы беспокоиться о конкурентах. Много отрицательных голосов — это признак того, что им понравились ваши идеи.

user985399 04.07.2019 23:08

Я немного расстроен тем, что у меня нет времени опробовать мою идею, но мне было бы интересно получить информацию, которую нелегко получить на SO только с помощью вопросов: stackoverflow.com/questions/56842747/…

user985399 04.07.2019 23:13

Насколько быстро вы это сделаете, зависит от алгоритма. Попробуйте столько, сколько вы найдете.

user985399 04.07.2019 23:20
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Безумие обратных вызовов в javascript [JS]
Безумие обратных вызовов в javascript [JS]
Здравствуйте! Юный падаван 🚀. Присоединяйся ко мне, чтобы разобраться в одной из самых запутанных концепций, когда вы начинаете изучать мир...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
JavaScript Вопросы с множественным выбором и ответы
JavaScript Вопросы с множественным выбором и ответы
Если вы ищете платформу, которая предоставляет вам бесплатный тест JavaScript MCQ (Multiple Choice Questions With Answers) для оценки ваших знаний,...
0
3
207
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Джек (создатель GreenSock) рассказывает, почему GSAP так быстр в этот пост на форуме среди других мест. Напомним некоторые моменты:

  1. Use highly optimized JavaScript across the board (this entails many things like using linked lists, local variables, quick lookup tables, inlining code, bitwise operators, leveraging prototypes instead of recreating functions/variables for each instance, etc.)
  2. Engineer the structure of the platform so that it lends itself very well to high-pressure situations, minimizing function calls and making sure things are gc-friendly.
  3. Make updates in a single update loop that's driven by requestAnimationFrame, only falling back to setTimeout() if necessary.
  4. Cache some important values internally for faster updates.
  5. For CSS transforms, we calculate matrix values and construct either a matrix() or matrix3d() when there's any rotation or skewing because our tests showed that it was faster.

Нет серебряной пули, которая сделает его быстрым. Он просто умен в том смысле, что делает вещи, основанные на более чем десятилетнем опыте.

Другие вопросы по теме