registry team mailing list archive
-
registry team
-
Mailing list archive
-
Message #27717
[Bug 655024] Re: Using higher cpu usage
It looks like if you could have the cairo stroker use a temporary
surface in this case, it would be much faster than direct rendering. The
major CPU in this bug is spent in a "tesselating" function. Long story
short, it looks like there are ways to avoid activating that function.
The function is used when cairo renders to xlib or xcb, which I imagine
is what murrine does now. This quote indicates that drawing to a
"temporary surface" and copying from there should help a lot (future
cairo optimizations may fix this):
.. (T)he rasterization method (new in 1.10) used by the image backend can deal with self-intersecting
polygons just fine, so there's no need for tessellating the outline polygon.
.. from cairo bugzilla on this issue at
https://bugs.freedesktop.org/show_bug.cgi?id=31589#c3
I assume that rendering to a temporary surface will use this faster
"image" backend (6 or 7 times faster in transmission-gtk+murrine,
according to cairo profiling tools I've used.)
Before I dig deeper, can you tell me something about this code:
pango_cairo_layout_path (cr, layout);
murrine_set_color_rgba (cr, &temp, 0.5);
cairo_stroke (cr);
.. you mentioned "pango_cairo_layout_path (cr, layout);
is slow". Is that definite, or could it be cairo_stroke(cr);
Thanks!
--
Using higher cpu usage
https://bugs.launchpad.net/bugs/655024
You received this bug notification because you are a member of Registry
Administrators, which is the registrant for libcairo.