Closed
Bug 311936
Opened 21 years ago
Closed 21 years ago
Clipping causing serious performance problems
Categories
(Core :: SVG, defect)
Core
SVG
Tracking
()
RESOLVED
FIXED
People
(Reporter: tor, Assigned: tor)
References
()
Details
(Keywords: fixed1.8, hang)
Attachments
(1 file)
|
1.63 KB,
patch
|
tor
:
review+
asa
:
approval1.8rc1+
|
Details | Diff | Splinter Review |
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)
Comment 2•21 years ago
|
||
marking critical and adding hang keyword
Severity: normal → critical
Keywords: hang
Comment 3•21 years ago
|
||
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?
Updated•21 years ago
|
Attachment #199086 -
Flags: approval1.8rc1? → approval1.8rc1+
Checked in on branch.
You need to log in
before you can comment on or make changes to this bug.
Description
•