Closed Bug 311936 Opened 21 years ago Closed 21 years ago

Clipping causing serious performance problems

Categories

(Core :: SVG, defect)

defect
Not set
critical

Tracking

()

RESOLVED FIXED

People

(Reporter: tor, Assigned: tor)

References

()

Details

(Keywords: fixed1.8, hang)

Attachments

(1 file)

If the clip path is larger than the target surface, cairo ends up creating a clip surface big enough to contain the clip trapezoids. When the pan&zoom apis are being used, this can cause very serious performance problems.
Attachment #199086 - Flags: review?(cworth)
marking critical and adding hang keyword
Severity: normal → critical
Keywords: hang
I've reviewed this patch, and it seems an obviously correct performance fix. I've tested it with cairo's test suite as well as with a cairo-using svg2png on the W3C SVG suite, and in both cases found no differences in the output result. The patch can only affect performance in a positive way, and can do so dramatically, as you have noted. Will you please commit this (with an appropriate ChangeLog entry) to both cairo HEAD and cairo BRANCH_1_0. Thanks, -Carl
Comment on attachment 199086 [details] [diff] [review] bound clip surface to target surface Setting review flag based on comment 3 by Carl Worth (cairo author), as he doesn't have permission to change the flags. Checked into cairo cvs trunk and branch. Requesting 1.8rc1 approval as this is a denial of service problem that content developers can stumble into accidentally. Cartography is an example of a userbase whose document structures are prone to experience this. Patch has been reviewed by the author of cairo, and is merged upstream. Risk is very small.
Attachment #199086 - Flags: review?(cworth)
Attachment #199086 - Flags: review+
Attachment #199086 - Flags: approval1.8rc1?
Attachment #199086 - Flags: approval1.8rc1? → approval1.8rc1+
Checked in on branch.
Status: NEW → RESOLVED
Closed: 21 years ago
Keywords: fixed1.8
Resolution: --- → FIXED
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Creator:
Created:
Updated:
Size: