Совет по оптимизации(JS-Анимация)
В статье JS-Анимация автор дает рекомендации по оптимизации:
Большое количество таймеров сильно нагружают процессор. Если вы хотите запустить несколько анимаций одновременно, например, показать много падающих снежинок, то управляйте ими с помощью одного таймера. Дело в том, что каждый таймер вызывает перерисовку. Поэтому браузер работает гораздо эффективней, если для всех анимаций приходится делать одну объединенную перерисовку вместо нескольких. Фреймворки обычно используют один setInterval и запускают все кадры в заданном интервале. В общем вопрос. Как можно реализовать с помощью одного setInterval 2 анимации причем 2-я начинаеться и заканчиваеться позже, чем первая и движение идет по разным мат-законам. |
Цитата:
app.draw(); внутри которого существует единый таймер. На этот таймер будут "опираться" твои анимации. |
img.onclick = function() {
var height = document.getElementById('field').clientHeight - img.clientHeight
var width = 100
animate({
delay: 20,
duration: 1000,
delta: makeEaseOut(bounce),
step: function(delta) {
img.style.top = height*delta + 'px'
}
});
animate({
delay: 20,
duration: 1000,
delta: makeEaseOut(quad),
step: function(delta) {
img.style.left = width*delta + "px"
}
});
}
т.е. я правильно понял? Здесь будет создаваться один таймер, а не два? |
Цитата:
|
| Часовой пояс GMT +3, время: 17:31. |