[Laszlo-reviews] For Review: Change 20100605-maxcarlson-o Summary: Make animators more efficient when animating the same attribute

Max Carlson max at openlaszlo.org
Sat Jun 5 20:33:24 PDT 2010


Change 20100605-maxcarlson-o by maxcarlson at friendly on 2010-06-05 19:36:35 PDT
    in /Users/maxcarlson/openlaszlo/trunk-clean
    for http://svn.openlaszlo.org/openlaszlo/trunk

Summary: Make animators more efficient when animating the same attribute

Bugs Fixed: LPP-9088 - Make animators more efficient when animating the same attribute

Technical Reviewer: ptw
QA Reviewer: hminsky

Details: I'm sending this out so someone else can take a look.  It makes animators more efficient when animating the same attribute, but that causes some visual artifacts in swf10 - which still uses enterframe events to drive the idle queue.  If I switch to using setInterval (kernel/LzIdleKernel) the jitteriness goes away but the framerate drops to match that in swf8.  Maybe the right thing to do is only do this for swf8/dhtml runtimes, unless folks have more ideas.

swf9/Library - Comment out swf9/LzIdleKernel

kernel/Library - Include kernel/LzIdleKernel for all runtimes

LzIdleKernel - Update to compile in as3.

LzAnimatorGroup - Update comments to prevent warnings, Remove unneeded test, add ignore arg to __LZhalt() so it can be called from delegates.  destroy() shouldn't try to remove itself when the immediateparent is null.

LaszloAnimation - Call __LZhalt() after an idle event to allow the system to settle - this prevents extra animators when onstop calls animate().  Add counter key to track number of updates per-attribute.  Rename updateCounter() -> __setCounter().  Inline setValue() into update().  When more than one animation is running on the same attribute, use update counter to only call setAttribute() once per cycle.

Tests: Testcase from LPP-9088 performs much better in swf8, dhtml.  Also runs in swf10, but animation looks jerky when using enterframe to drive the idle queue.

Files:
M       WEB-INF/lps/lfc/kernel/swf9/Library.lzs
M       WEB-INF/lps/lfc/kernel/Library.lzs
M       WEB-INF/lps/lfc/kernel/LzIdleKernel.lzs
M       WEB-INF/lps/lfc/controllers/LzAnimatorGroup.lzs
M       WEB-INF/lps/lfc/controllers/LaszloAnimation.lzs

Changeset: http://svn.openlaszlo.org/openlaszlo/patches/20100605-maxcarlson-o.tar



More information about the Laszlo-reviews mailing list