firefox slowness with xorg 6.9.0

Vladimir Vukicevic vladimirv at gmail.com
Tue Mar 7 12:18:56 PST 2006


On 3/7/06, Roland Scheidegger <rscheidegger_lists at hispeed.ch> wrote:
> FWIW, I noticed some massive slowdowns when using firefox too recently,
> but after some digging it seems firefox 1.5 is fully to blame. The
> slowdowns only happen with firefox 1.5 or seamonkey 1.0, but firefox 1.0
> is fast. Maybe it simply has to do how it's compiled (using gtk2 and
> such), I don't know.
> Some quick profiling showed this however (scrolling on a VERY slow page
> since it updated its layout, http://www.hardocp.com/):
> 8608     43.2107  libfb.so                 fbBlt
> 5168     25.9425  vmlinux                  default_idle
> 830       4.1665  libgklayout.so           (no symbols)
> 436       2.1886  Xorg                     (no symbols)
> 344       1.7268  libxpcom_core.so         (no symbols)
> 255       1.2801  libfb.so                 fbBltOne
> 188       0.9437  libmozjs.so              (no symbols)
> 157       0.7881  libgfx_gtk.so            (no symbols)
> 153       0.7680  libfb.so                 fbSolid
> So, firefox 1.5 causes some massive use of libfb.so which firefox 1.0
> probably didn't (I did not profile firefox 1.0). As to why and how to
> fix it, no idea... My setup used radeons too if it matters (7200, 9000
> with xorg 6.9, and a x550 with xorg 6.8.2)

Hmm, I don't think our gtk2 rendering changed significantly from 1.0,
but that's an interesting data point.  Firefox 1.5's text rendering is
quite slow with 7.0 (FC5 devel); I've done some profiling at
https://bugzilla.mozilla.org/show_bug.cgi?id=328811 , and most of the
time is in fbCompositeSolidMask_*.  Scrolling goes through
gdk_window_scroll(), so I'm not sure how that's implemented with the
latest gtk and X but I'd guess that's where the calls to fbBlt are
coming from.

Note that many of those profiles are firefox off the trunk using cairo
as the rendering backend, but there are some with firefox-trunk using
the current backend as well.  If Xft is used directly, performance is
similar in both cases.  That's also a profile of just text rendering;
I haven't looked into scrolling yet.

    - Vlad



More information about the xorg mailing list