Small pattern width (relative to pattern source size) causes long freezes

Bug #656247 reported by David Eccles (gringer)
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Inkscape
Fix Released
Medium
Krzysztof Kosinski

Bug Description

When a pattern width of a pattern is less than the width of the object, duplicate object elements can occupy the same space. When this width is very small, this duplication can cause Inkscape / Inkview to freeze for long periods of time (the attached example uses a width of 1px, which freezes inkview for about 30s).

This is related to bug 167416 in terms of why it is caused (i.e. processor trying to make too many copies of an object). A quick fix would be similar in nature -- if a pattern width is less than 10% (say) of the object bounding box, don't display anything. My idea of a correct fix would be to work out what the image might look like, instead stamping multiple copies of an object.

Possibly related bugs that may be touched by a fix to this: bug 165780, bug 167503.

Found on trunk Inkscape from bzr (revno: 9816).

Revision history for this message
David Eccles (gringer) (gringer) wrote :
Revision history for this message
David Eccles (gringer) (gringer) wrote :

Based on bug 167416, code changes needed to fix this will probably be in src/sp-pattern.cpp.

su_v (suv-lp)
tags: added: performance renderer
removed: freeze
Revision history for this message
jazzynico (jazzynico) wrote :

Bug confirmed on Ubuntu 10.10, Inkscape 0.48.
Not reproduced with revision 10376 (with the new cairo renderer).

Changed in inkscape:
importance: Undecided → Medium
milestone: none → 0.49
status: New → Fix Committed
Changed in inkscape:
assignee: nobody → Krzysztof Kosinski (tweenk)
Bryce Harrington (bryce)
Changed in inkscape:
status: Fix Committed → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.