gnash-dev
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Gnash-dev] gnash on mips performance issue


From: strk
Subject: Re: [Gnash-dev] gnash on mips performance issue
Date: Wed, 3 Feb 2010 14:53:20 +0100

On Wed, Feb 03, 2010 at 08:30:03PM +0800, ZouJQ wrote:
> 
> Something about frame dropping.
> 
> There is #define SKIP_RENDERING_IF_LATE 1 in gui.cpp. It checks whether the 
> frame should be dropped.

Correct. It's disabled by default though.

> I have also checked Gui::advanceMovie() in gui.cpp, and found:
> 
> bool advanced = m->advance(); -> movie_root::advance() -> 
> movie_root::advanceMovie()
> 
> There is advanceLiveChars(); this function seems consuming much cpu timing.

That's a callback for each MovieClips on the stage (for things like 
onEnterFrame triggering
AND for timeline frames advances). It should be the most time-consuming part 
*after* the rendering cal (m->display()).

> Can we add some aditional logic in movie_root::advance(). 

>         const size_t elapsed = now - _lastMovieAdvancement;
>      if (elapsed >= _movieAdvancementDelay)
> ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~  
> 
>                                          Does it necessary? 
>                                          I think it waste time.
>                                          it don't skip any frame here.     

It checks what time is it to decide whether or not *timeline* cursor should
advanced. If you want, it's a waste of time to call movie_root::advance before
it's time to advance timeline, and that can be improved by having movie_root
expose a method to tell the GUI *when* it'll be a good time.

Mind you, it's not just FPS affecting this, as AS timers or media streaming
might need to get called faster.

--strk;

  ()   Free GIS & Flash consultant/developer
  /\   http://foo.keybit.net/~strk/services.html




reply via email to

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