|
|
|
@ -628,11 +628,7 @@ function reconcile(state, array, anchor, flags, get_key) {
|
|
|
|
var controlled_anchor = (flags & EACH_IS_CONTROLLED) !== 0 && length === 0 ? anchor : null;
|
|
|
|
var controlled_anchor = (flags & EACH_IS_CONTROLLED) !== 0 && length === 0 ? anchor : null;
|
|
|
|
|
|
|
|
|
|
|
|
if (is_animated) {
|
|
|
|
if (is_animated) {
|
|
|
|
// Three batched phases minimise layout flushes. With the per-item
|
|
|
|
// Doing all the reads _then_ all the writes minimises layout flushes
|
|
|
|
// `fix()` body each iteration forced two reflows (one for the
|
|
|
|
|
|
|
|
// `getComputedStyle` read, one for the post-absolute
|
|
|
|
|
|
|
|
// `getBoundingClientRect` read); batching brings the whole batch
|
|
|
|
|
|
|
|
// down to ~2 flushes total.
|
|
|
|
|
|
|
|
for (i = 0; i < destroy_length; i += 1) to_destroy[i].nodes?.a?.measure();
|
|
|
|
for (i = 0; i < destroy_length; i += 1) to_destroy[i].nodes?.a?.measure();
|
|
|
|
for (i = 0; i < destroy_length; i += 1) to_destroy[i].nodes?.a?.capture_size();
|
|
|
|
for (i = 0; i < destroy_length; i += 1) to_destroy[i].nodes?.a?.capture_size();
|
|
|
|
for (i = 0; i < destroy_length; i += 1) to_destroy[i].nodes?.a?.set_position();
|
|
|
|
for (i = 0; i < destroy_length; i += 1) to_destroy[i].nodes?.a?.set_position();
|
|
|
|
|