Slow exaOffscreenAlloc ?

Eric Anholt eric at
Mon Dec 8 15:23:15 PST 2008

On Mon, 2008-12-08 at 12:32 +0100, Zdenek Kabelac wrote:
> Hi
> Recently I've noticed that scrolling in firefox is getting very very
> slow on some pages - especially those with some static background on
> the sides of pages. So I've started oprofile - and to my surprise the
> most of the time has been spent in two Xorg libexa functions:
> Of course I could be completely wrong in my interpretation of these
> oprofile results - from the fast look into the exa/exa_offscreen.c
> it seems like a major time is spent in some loop going through
> possible quite large list of offScreenAreas?
> I'm running the latest fedora rawhide xorg-x11-server-Xorg-1.5.3-5.fc10.x86_64
> X.Org X Server 1.5.3
> Release Date: 5 November 2008
> and linus-git kernel tree 2.6.28-rc7
> Any ideas, solution ?

My suspicion is that firefox is chewing through a lot more temporary
pixmaps than it used to.  I was just doing some profiling with UXA for
scrolling in the slashdot comments section, and while things seem to be
better than described by people using EXA, I'm still seeing unimpressive
performance and indications that ff is using a lot of pixmaps (working
set exceeding my 180MB of aperture space).  We've got a few ideas to
improve things for UXA performance still, so it may get better.  It's
already a win over EXA, since EXA's stuck with only 50MB of aperture

On the other hand I've still got rendering issues with UXA, so you've
been warned before you go playing with it.

> Zdenek
> CPU: Core 2, speed 2200 MHz (estimated)
> Counted CPU_CLK_UNHALTED events (Clock cycles when not halted) with a
> unit mask of 0x00 (Unhalted core cycles) count 100000
> samples  %        image name               app name
> symbol name
> -------------------------------------------------------------------------------
> 35766    26.1526                Xorg
> exaOffscreenAlloc
> 35766    100.000              Xorg
> exaOffscreenAlloc [self]

This says to me that you're stuck allocating/freeing offscreen memory
space to handle a working set that exceeds the size of your EXA
offscreen space.  UXA makes the pixmap offscreen space be unified with
3D and every other GPU activity.

Eric Anholt
eric at                         eric.anholt at

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 197 bytes
Desc: This is a digitally signed message part
URL: <>

More information about the xorg mailing list