addAsyncAnimTest(async function() { var [ div, cs ] = new_div("animation: anim 10s 2 linear alternate");
// Animation is initially running on compositor
await waitForPaintsFlushed();
advance_clock(1000);
omta_is(div, "transform", { tx: 10 }, RunningOn.Compositor, "Animation is initally animating on compositor");
// pause() means it is no longer on the compositor var animation = div.getAnimations()[0];
animation.pause();
// pause() should set up the changes to animations for the next layer
// transaction but it won't schedule a paint immediately so we need to tick
// the refresh driver before we can wait on the next paint.
advance_clock(0);
await waitForPaints();
omta_is(div, "transform", { tx: 10 }, RunningOn.MainThread, "After pausing, animation is removed from compositor");
// play() puts the animation back on the compositor
animation.play();
// As with pause(), play() will set up pending animations for the next layer
// transaction but won't schedule a paint so we need to tick the refresh
// driver before waiting on the next paint.
advance_clock(0);
await waitForPaints();
omta_is(div, "transform", { tx: 10 }, RunningOn.Compositor, "After playing, animation is sent to compositor");
// Where it continues to run
advance_clock(1000);
omta_is(div, "transform", { tx: 20 }, RunningOn.Compositor, "Animation continues playing on compositor");
done_div();
});
</script>
</body>
</html>
Messung V0.5
¤ Dauer der Verarbeitung: 0.11 Sekunden
(vorverarbeitet)
¤
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.