Я делаю анимацию в Рафаэле, которая включает пару квадратичных линий Безье, выходящих из div и оживляющих по пути к паре дочерних элементов. Я хочу, чтобы кривые, идущие к каждому дочернему элементу, любопытно рисовали себя понемногу, пока не дойдут до конечной точки. Образом я хожу вокруг этого заключается в следующем:Поиск положения точки вдоль пути в Рафаэле
1) Создать центральную нить для всей анимации
2) в каждом кадре, увеличить переменную, currentLength, на определенную величину
3) в каждом кадре, найти текущую точку на каждой кривой с помощью getPointAtLength
4) в каждом кадре, переместить маленькую точку в этой точке
5) в каждом кадре, LineTo новое положение маленькой точки - прямая линия, но есть en что конечный результат все еще выглядит красивым и квадратичным и изогнутым
Это все работает как абсолютное очарование, за исключением одного - getPointAtLength кажется медленным. Я пробовал как 10 различных подходов к этой проблеме, и вышеупомянутое решение является самым быстрым из тех, что я придумал до сих пор. Все они работают, но включение getPointAtLength делает его слишком медленным. Использование animateAlong с точкой, а затем lineTo с координатами этой точки не намного лучше, сначала создайте столько потоков, сколько есть дочерних узлов, и потому, что это просто не намного быстрее.
Пожалуйста, помогите! Прочтите мое сообщение, поймите его, помогите мне найти решение! getPointAtLength кажется waaaaaaaaaaaay слишком медленным - назовите его один раз для каждого кадра для 40 кадров для 7 строк, и все это замедляет сканирование. Любая помощь будет оценена по достоинству.