> I guess the main problem here would be profiling as gprof won't > notice the amount of time spent there, similarly to how allocation > costs went unnoticed in the ninja case.
Here's another angle on profiling gnash. I am running "powertop" on Ubuntu 9.04 on an Acer Aspire One, and have gnash-0.8.5 (the standard Ubuntu package) running in a web browser for YouTube. Powertop showed more than 1000 wakeups/second from gnash doing nanosleeps. The screen only refreshes at 60 Hz; you can't draw any faster than that. Why is gnash waking up at 1-ms intervals? The result is that the CPU jumps between its lowest possible speed (800 MHz) and its highest, because it sees intermittent but significant CPU load. This burns a lot of power. When I quit gnash, the wakeup load goes down to 78 wakeups/sec, mostly hardware interrupts. When I refresh the page and run a Youtube video, it goes down to 270 wakeups per second, half of which come from gnash. When I pause the video, it goes up to about 400 wakeups/sec (140 from schedule_hrtimeout_range from gnash, and 120 from do_nanosleep from gnash). When the video is done, and YouTube is just showing thumbnails of other videos, that's when the wakeups go to 1300/sec. It seems to be really jamming the CPU when it *isn't* playing video! John _______________________________________________ Gnash-dev mailing list Gnash-dev@gnu.org http://lists.gnu.org/mailman/listinfo/gnash-dev