Fire a tick immediately on start.

This improves the performance of transitions that have already ended (those with
zero duration), as the transition can end immediately on start rather than
waiting for a second tick.
This commit is contained in:
Mike Bostock 2011-08-28 18:28:22 -07:00
Родитель cd135d5e90
Коммит 55759258fd
3 изменённых файлов: 5 добавлений и 5 удалений

4
d3.js поставляемый
Просмотреть файл

@ -1780,7 +1780,7 @@ function d3_transition(groups, id) {
delay <= elapsed ? start() : d3.timer(start, delay, then);
function start() {
function start(elapsed) {
if (lock.active > id) return stop();
lock.active = id;
@ -1791,7 +1791,7 @@ function d3_transition(groups, id) {
}
event.start.dispatch.call(node, d, i);
d3.timer(tick, 0, then);
if (!tick(elapsed)) d3.timer(tick, 0, then);
return 1;
}

2
d3.min.js поставляемый

Различия файлов скрыты, потому что одна или несколько строк слишком длинны

Просмотреть файл

@ -39,7 +39,7 @@ function d3_transition(groups, id) {
delay <= elapsed ? start() : d3.timer(start, delay, then);
function start() {
function start(elapsed) {
if (lock.active > id) return stop();
lock.active = id;
@ -50,7 +50,7 @@ function d3_transition(groups, id) {
}
event.start.dispatch.call(node, d, i);
d3.timer(tick, 0, then);
if (!tick(elapsed)) d3.timer(tick, 0, then);
return 1;
}