Closed Bug 311936 Opened 19 years ago Closed 19 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: 19 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: