[gs-bugs] [Bug 692057] Ghostscript hangs at 300 dpi

bugzilla-daemon at ghostscript.com bugzilla-daemon at ghostscript.com
Mon Jun 20 18:44:11 UTC 2011


http://bugs.ghostscript.com/show_bug.cgi?id=692057

Robin Watts <robin.watts at artifex.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|ASSIGNED                    |RESOLVED
         Resolution|                            |FIXED

--- Comment #7 from Robin Watts <robin.watts at artifex.com> 2011-06-20 18:44:07 UTC ---
Fixed in:

commit da1152191fb97516b82303ab187b08c971bfd360
Author: Robin Watts <Robin.Watts at artifex.com>
Date:   Mon Jun 20 17:57:46 2011 +0100

    Fix Bug 692057, 'hang' while converting mask->rectangle list.

    Previously the clip accumulator code would attempt to add a new
    rectangle would always search backwards from the tail of the
    list when looking for a new place to insert a rectangle.

    This works well when rectangles are coming in at (or near) the
    end of the list. For cases where this doesn't happen we quickly
    break down to O(n^2) operation.

    The example file on the bug shows one such circumstance, where
    we process a landscape image; this results in the masks coming
    in as '8 bit columns'. The first column accumulates nicely,
    subsequent ones do not.

    The fix here, as suggested by Chris Liddell, is to store the
    'last insert point', and to search from that. Locality of
    reference should pay off here and lead to much improved
    performance. Certainly tests with the example file show that we
    complete within 2.5 minutes on my machine, compared to 1.5 minutes
    with -dMaxPatternBitmap=32000000, and an unknown time over 5 minutes
    with the old code.

(Old code was tested on Rays machine and took over 2 hours before we gave up
and killed it).

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


More information about the gs-bugs mailing list