В статье
JS-Анимация автор дает рекомендации по оптимизации:
Большое количество таймеров сильно нагружают процессор.
Если вы хотите запустить несколько анимаций одновременно, например, показать много падающих снежинок, то управляйте ими с помощью одного таймера.
Дело в том, что каждый таймер вызывает перерисовку. Поэтому браузер работает гораздо эффективней, если для всех анимаций приходится делать одну объединенную перерисовку вместо нескольких.
Фреймворки обычно используют один setInterval и запускают все кадры в заданном интервале.
В общем вопрос. Как можно реализовать с помощью одного setInterval 2 анимации причем 2-я начинаеться и заканчиваеться позже, чем первая и движение идет по разным мат-законам.