#580175 xulrunner-1.9.1: slow rendering with current libcairo2

Package:
libcairo2
Source:
cairo
Description:
Cairo 2D vector graphics library
Submitter:
Jason McCarty
Date:
2010-05-04 23:09:06 UTC
Severity:
important
#580175#5
Date:
2010-05-04 03:29:13 UTC
From:
To:
After upgrading iceweasel from 3.0.14-1 to 3.5.9-3, I found that pages
now render much more slowly. I can actually watch the page being redrawn
from top to bottom now, whereas before a redraw/initial render was
almost instant. Scrolling is also very slow. Menus draw slowly, and the
cursor freezes for a moment whenever the focus switches to/from a
different application. This makes iceweasel painful to use.

I tried version 3.6.4~build2-1 from experimental with the same results.

Against dpkg's better judgment, I downgraded libcairo2 to version
1.8.6-2+b1 (the newest old version I could find), with the result that
iceweasel 3.5.9 renders at normal speed.

I also tried version 1.9.6-6 of cairo and got the same slowdown.

The binary package of 3.6.3 from mozilla.org renders normally with
any of these versions of cairo.

I'm not sure whether this is really a cairo bug, or if xulrunner is
doing something funny. If I get time I'll try to find the patch in cairo
that makes the difference.

I haven't seen any ill effects from using cairo 1.8.6, so I'm leaving it
installed as a work-around.

Thanks.

#580175#14
Date:
2010-05-04 23:07:12 UTC
From:
To:
Hi,

I used git bisect and found that the following commit causes iceweasel
redraws and focus changes to greatly slow down.

http://cgit.freedesktop.org/cairo/commit/?id=40aefac5d714bf7536632ed38c7a8ee05049f30b

Removing the first src->owns_pixmap test in this commit restores
performance so that redraws and focus changes are almost instant again.

In reference to https://bugs.freedesktop.org/show_bug.cgi?id=12996#c4 ,
yes, my old and slow machine (1.3 GHz athlon, circa 2001) breaks.
However, I imagine that modern netbooks and the like won't do much
better.

Having found this, I think this is the same bug as
https://bugs.freedesktop.org/show_bug.cgi?id=26869 .