[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