[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 .


reply via email to

[Prev in Thread] Current Thread [Next in Thread]