[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Gnash-dev] Re:Serious performance problem
From: |
Sandro Santilli |
Subject: |
Re: [Gnash-dev] Re:Serious performance problem |
Date: |
Mon, 7 May 2007 14:12:13 +0200 |
On Mon, May 07, 2007 at 01:59:19PM +0200, Udo Giacomozzi wrote:
> The movieclip itself is just a single frame sprite, placed statically
> on the root movie which prints a message using trace().
>
> The root movie loops from frame 3 to frame 2 using
>
> gotoAndPlay(2);
gotoAndPlay(2) currently executes all frame tags
from frame 1 to frame 2 (inclusive).
Tags execution likely contain placeObject and removeObject,
which sets the invalidated flag.
A possibility could be to NOT all set_invalidated from
the placer/remover but rather do a catch-all comparison
using old and current DisplayList, if not already invalidated
by something else.
This would allow sprite_instance::goto_frame to compare the
DisplayList of *before* executing any tags to the one obtained
after execution of *all* frame tags up to the target frame.
::advance would then have to do the same check.
Feel free to use a local "old" DisplayList variable for now to
avoid messing with the class member (oldDisplayList).
If it works we can analyze current use of oldDisplayList and maybe
use that .
--strk;