[cairo-bugs] [Bug 17971] New: Extreme slowdown for manual convolutions in most vector backends.

bugzilla-daemon at freedesktop.org bugzilla-daemon at freedesktop.org
Wed Oct 8 05:48:21 PDT 2008


http://bugs.freedesktop.org/show_bug.cgi?id=17971

           Summary: Extreme slowdown for manual convolutions in most vector
                    backends.
           Product: cairo
           Version: 1.8.1
          Platform: Other
        OS/Version: All
            Status: NEW
          Severity: normal
          Priority: medium
         Component: pdf backend
        AssignedTo: ajohnson at redneon.com
        ReportedBy: jpihlaja at cc.helsinki.fi
         QAContact: cairo-bugs at cairographics.org


Created an attachment (id=19487)
 --> (http://bugs.freedesktop.org/attachment.cgi?id=19487)
addblur.c convolves with ADD and paint_with_alpha

When simulating a blur effect with OPERATOR_ADD and paint_with_alpha(), the pdf
backends suffer from extreme slowdown as the number of convolutions is
increased compared to the image backend or the PDF backend of cairo-1.2.4.  The
attached mini program addblur.c illustrates the issue for various backends. The
issue affects the svg1.1, ps2, ps3, and the pdf backends at least, but not the
svg backend when emitting SVG1.2.

The run times below were generated with cairo HEAD at commit
0c777a3e0de0d48289432a3 (similar results can be seen with cairo-1.6.4). After
the first few blur levels the times seem to grow exponentially.

0 misc $ time ./addblur pdf 1

real    0m0.376s
user    0m0.348s
sys     0m0.028s
0 misc $ time ./addblur pdf 2

real    0m0.418s
user    0m0.388s
sys     0m0.028s
0 misc $ time ./addblur pdf 3

real    0m0.602s
user    0m0.528s
sys     0m0.072s
0 misc $ time ./addblur pdf 4

real    0m1.334s
user    0m1.080s
sys     0m0.252s
0 misc $ time ./addblur pdf 5

real    0m4.198s
user    0m3.188s
sys     0m0.960s
0 misc $ time ./addblur pdf 6

real    0m15.672s
user    0m11.957s
sys     0m3.712s
0 misc $ time ./addblur pdf 7 

real    1m3.895s
user    0m47.687s
sys     0m15.917s

With cairo-1.2.4 the times were much less sensitive to the blur level:

0 misc $ time ./addblur pdf 1 

real    0m0.395s
user    0m0.336s
sys     0m0.028s
0 misc $ time ./addblur pdf 2

real    0m0.371s
user    0m0.348s
sys     0m0.024s
0 misc $ time ./addblur pdf 3

real    0m0.384s
user    0m0.352s
sys     0m0.016s
0 misc $ time ./addblur pdf 4

real    0m0.380s
user    0m0.364s
sys     0m0.012s
0 misc $ time ./addblur pdf 5

real    0m0.400s
user    0m0.368s
sys     0m0.028s
0 misc $ time ./addblur pdf 6

real    0m0.409s
user    0m0.300s
sys     0m0.100s
0 misc $ time ./addblur pdf 7

real    0m0.450s
user    0m0.400s
sys     0m0.020s


-- 
Configure bugmail: http://bugs.freedesktop.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the QA contact for the bug.


More information about the cairo-bugs mailing list