gnash-dev
[Top][All Lists]
Advanced

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

[Gnash-dev] Performance drop


From: Udo Giacomozzi
Subject: [Gnash-dev] Performance drop
Date: Tue, 29 May 2007 19:00:17 +0200

Yes, I know performance is not important for the moment, but it *is*
for me, so please don't blame me if I come up with this topic ;)


I noticed a significant performance drop in Gnash. "Significant",
because the difference is obvious when interacting with a simple movie
on a 800 MHz (!) CPU.

My first thought was that it is related to the new timeline design, so
I created a little profiling movie that does ten different tests. I
compared the results between the current HEAD and a CVS version from
May 09 this year.

One test was about 40% faster (looping 3-frames movie without
animation) but others dropped by nearly 50% - that's much!

AGG patches after May09 are not the problem because the current CVS
HEAD with AGG sources from May09 shows the same result.


Here's a simple scenario:

- a single-frame movieclip (just a filled circle) without any kind of
  animation is played at 100 frames per second with the old *and* the
  new version [Note: I believe more than 100 fps can't be handled by
  the frontend timer]

- when applying matrix transformations (be it _rotation or _xscale)
  the old version (May09) comes to 50 fps, while the current version
  comes to 29 fps at best (42% less).

The computed invalidated bounds are the same, so they can't be the
problem.

The fact that the matrix xform makes the difference leads me to the
conclusion that in this case the new timeline design does not matter.

I compared the code for character.cpp and matrix.cpp but could not
find any relevant part that could cause this slow-down.


So, anybody has a clue what's going on? Some patch in May that could
have this consequence?

Udo


PS: Test movie attached. Watch the traces.

Attachment: profiler.swf
Description: application/shockwave-flash


reply via email to

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