Minimize the size of the offscreen surfaces created for SVG group opacity, masks and complex clipPaths

RESOLVED FIXED in mozilla16

Status

()

Core
SVG
RESOLVED FIXED
5 years ago
5 years ago

People

(Reporter: jwatt, Assigned: jwatt)

Tracking

(Blocks: 1 bug, {perf})

Trunk
mozilla16
Points:
---
Dependency tree / graph

Firefox Tracking Flags

(Not tracked)

Details

Attachments

(1 attachment, 1 obsolete attachment)

(Assignee)

Description

5 years ago
Now that bug 734082 is fixed and we have valid visual overflow rects on both SVG leaf and container frames, we can use these rects to minimize the size of the surfaces we create for SVG group opacity, masking and complex clipping. This should be a fairly substantial perf win on some SVG demos where we performed much worse than other implementations.
(Assignee)

Comment 1

5 years ago
Created attachment 634710 [details] [diff] [review]
patch
Attachment #634710 - Flags: review?(roc)
(Assignee)

Comment 2

5 years ago
Created attachment 634713 [details] [diff] [review]
patch

Forgot to qrefresh.
Attachment #634710 - Attachment is obsolete: true
Attachment #634710 - Flags: review?(roc)
Attachment #634713 - Flags: review?(roc)
Attachment #634713 - Flags: review?(roc) → review+
(Assignee)

Comment 3

5 years ago
Pushed https://hg.mozilla.org/integration/mozilla-inbound/rev/74a1fc0f4859
Target Milestone: --- → mozilla16

Comment 4

5 years ago
It seems to me that this has made bug 614840 much more frequent
(Assignee)

Comment 5

5 years ago
Interesting. Still, it's not due to the clip added in this patch clipping away stuff that shouldn't be clipped away. It's just an off-by-one difference to the R and B components of two pixels that are clearly well inside this additional clip, and only on Win6.1. I think we should just mark those test with fuzzy-if for that platform.

Comment 6

5 years ago
a 2 pixel fuzzy-if sounds good.
https://hg.mozilla.org/mozilla-central/rev/74a1fc0f4859
Status: ASSIGNED → RESOLVED
Last Resolved: 5 years ago
Resolution: --- → FIXED
(Assignee)

Updated

5 years ago
Blocks: 309782
(Assignee)

Updated

5 years ago
Blocks: 608495
(Assignee)

Updated

5 years ago
Blocks: 754644
(Assignee)

Comment 8

5 years ago
For me, this gave the IE Test Drive Helicopter demo in bug 608495 a huge 150x speedup.

It seems to have also fixed the freezes that occurred when interacting with the maps on genomemaps.org reported in bug 754644.
(Assignee)

Updated

5 years ago
Blocks: 762647
(Assignee)

Updated

5 years ago
Depends on: 779035
You need to log in before you can comment on or make changes to this bug.