Opera and EXA: ``X Shared memory extension is not available''

Eirik Byrkjeflot Anonsen eirik at opera.com
Mon Jun 23 10:11:40 PDT 2008

Keith Packard <keithp at keithp.com> writes:

> On Mon, 2008-06-23 at 11:45 +0200, Eirik Byrkjeflot Anonsen wrote:
>> I believe it was a performance hack for web pages with several layers
>> of partial transparency.  At the time we had an evil test case which
>> saw great speed-up with this hack.  If the shm stuff isn't available,
>> I'm sure we'll revert to ordinary rendering (that's basically what the
>> "error" message is about).  So nothing should break.
> Please let us know precisely what performance problem you're working
> around so we can fix it.

Drawing lots of images with alpha-blending on top of each other was
slow :)

This was several years ago, and I wasn't the one doing it.  So I'm not
too sure I remember the details correctly.

I believe it was a performance hack for drawing a stack of multiple
alpha-blended pixmaps ("pixmaps" here being the generic term, not the
X11 one).  Probably the "slow" alternative was leaving the drawing to
Qt.  For the specific test case, using shm pixmaps turned out to be
much faster.

If I remember correctly, we had a reason to think that we were copying
large amounts of data from client memory to server memory on every
redraw.  Which is why we thought shm would help.  Why we used X
pixmaps instead of X images?  Probably from an idea of saving one
conversion.  Which may even have been correct at the time.  I don't
think we ever tested that.


More information about the xorg mailing list