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: ZouJQ
Subject: RE: [Gnash-dev] gnash on mips performance issue
Date: Wed, 3 Feb 2010 20:30:03 +0800

Something about frame dropping.
There is #define SKIP_RENDERING_IF_LATE 1 in gui.cpp. It checks whether the frame should be dropped.
 
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.
 
Can we add some aditional logic in movie_root::advance().
 
    try {
        const size_t elapsed = now - _lastMovieAdvancement;
     if (elapsed >= _movieAdvancementDelay)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~  
                                         Does it necessary? 
                                         I think it waste time.
                                         it don't skip any frame here.    
     {
            advanced = true;
      advanceMovie();
      // To catch-up lateness we pretend we advanced when
            // was time for it.
            // NOTE:
            //   now - _lastMovieAdvancement
            // gives you actual lateness in milliseconds
            //
            _lastMovieAdvancement += _movieAdvancementDelay;
     }
        //log_debug("Latenss: %d", now-_lastMovieAdvancement);
       
        executeAdvanceCallbacks();
    
     executeTimers();
 
 }


 
> Date: Fri, 29 Jan 2010 10:49:34 +0100
> Subject: Re: [Gnash-dev] gnash on mips performance issue
> From: address@hidden
> To: address@hidden
> CC: address@hidden
>
> 2010/1/29 ZouJQ <address@hidden>:
> > I am use --enable-gui=sdl with agg as renderer.
> > After run gprof, it shows the bottleneck is agg renderer.
> >
> > Now I do a test. In function "Gui::display(movie_root* m)" gui.cpp, remove
> > "m->display();"(Render the frame) and "renderBuffer();"(show frame on
> > screen). The fps is the same as x86 !!!
>
> Could be a false alarm, but I would check if SDL GUI deals correctly
> with invalidated regions.
> It migth be faster to compare the SDL gui with the GTK gui first. If
> GTK is faster then we
> would have found a culprit.
>
> > 1. Is there any way to optimize agg? Can agg do something changing on mips
> > for better performance?
>
> Most likely.
> Do you have fundings or expertise to help with that ?
>
> Also frame dropping (which I've been thinking about) could reduce the
> problem with lower
> effort, but improving AGG use is surely something worth doing.
>
> > 2. It is an exciting news that the next release will come soon, thank you
> > very much. Does this release modify renderer much, such as agg and cairo ?
>
> No significant changes in rendering performance.
> More details on changes here: http://wiki.gnashdev.org/Release_0.8.7
>
> --strk;
>
> () Free GIS & Flash consultant/developer
> /\ http://foo.keybit.net/~strk/services.html
>
>
> _______________________________________________
> Gnash-dev mailing list
> address@hidden
> http://lists.gnu.org/mailman/listinfo/gnash-dev


使用新一代 Windows Live Messenger 轻松交流和共享! 立刻下载!

reply via email to

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