[Top][All Lists]
[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