Bug 26869 - cairo 1.8.10 slows down firefox on sparc
Summary: cairo 1.8.10 slows down firefox on sparc
Alias: None
Product: cairo
Classification: Unclassified
Component: xlib backend (show other bugs)
Version: 1.8.10
Hardware: SPARC Solaris
: medium normal
Assignee: Carl Worth
QA Contact: cairo-bugs mailing list
Depends on:
Reported: 2010-03-03 11:42 UTC by Uwe
Modified: 2018-08-25 13:55 UTC (History)
1 user (show)

See Also:
i915 platform:
i915 features:


Description Uwe 2010-03-03 11:42:11 UTC
I do compile all stuff on Solaris 10 (Sparc) myself.
After compiling and installing cairo 1.8.10, firefox 3.0.18 feels
extremely sluggish. The Xsun process (Solaris' X11 server) consumes
lots of CPU cycles. I recompiled 1.8.8 and reverted to this version,
then firefox runs normal again.
Something's wrong with pixmap handling?

Both version have been compiled using the same options:
CC=cc CFLAGS="-O" ./configure --prefix=/export --enable-static=no
Comment 1 M Joonas Pihlaja 2010-03-03 11:57:51 UTC
There's not a lot of difference between 1.8.8 and 1.8.10, and the most probable culprit for the slowdown looks to me like it might be:

  [xlib] DO_XCOPYAREA and DO_XTILE optimizations break with Window source


If you could try reverting that patch and recompiling to see if it's causing your slowdowns that would be great.
Comment 2 Uwe 2010-03-03 14:26:57 UTC
I took the 1.8.10 sources, omitted both "src->owns_pixmap &&"
from cairo-xlib-surface.c, recompiled and tested again - firefox
runs fine with that.
So not only Windows but Solaris as well is affected, at least
on Sparc (afaik Solaris x86 uses the Xorg server that might
behave differently).
Comment 3 Jason McCarty 2010-05-04 16:14:52 UTC
I'm also affected by this bug, on linux 2.6.28, with a 1.3 GHz athlon. Please see http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=580175 . I can confirm that removing the first src->owns_pixmap change restores my performance. The second src_owns_pixmap test makes no difference for me.
Comment 4 Chris Wilson 2010-06-13 02:00:34 UTC
This is unfortunate but that patch is a correctness fix as we cannot determine when using XCopyArea is actually going to leave blank areas where the source is clipped by children. This is an incorrect result.

A patch to perform the intermediate blit instead of falling back would be appreciated. The alternatives are to do as Mozilla do and patch this out and ignore the consequences, somehow determine whether an external drawable is a pixmap or window on construction [this would be useful in any case], or fix your Xserver to support XRENDER. The last option will the biggest performance improvement.
Comment 5 GitLab Migration User 2018-08-25 13:55:58 UTC
-- GitLab Migration Automatic Message --

This bug has been migrated to freedesktop.org's GitLab instance and has been closed from further activity.

You can subscribe and participate further through the new bug through this link to our GitLab instance: https://gitlab.freedesktop.org/cairo/cairo/issues/273.

Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.