Change 20100605-maxcarlson-o by maxcarl...@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