Closed Bug 418201 Opened 12 years ago Closed 12 years ago

Restrict filter processing to the dirty area


(Core :: SVG, defect)

Not set





(Reporter: roc, Assigned: roc)




(1 file)

With the infrastructure that's just landed on trunk it should be pretty easy to restrict filter computation and intermediate surfaces to rerender just the dirty area (in most cases; some filter primitives would still do the whole area). This would be a huge speedup for use cases like scrolling a large static image with filters and large static backgrounds using filters with some dynamic effects going on on top. Might be worth doing for 1.9.
Flags: blocking1.9?
Flags: tracking1.9? → blocking1.9?
roc, do you want to block on this?
No, but we could make it wanted1.9.
Flags: wanted1.9+
Flags: blocking1.9?
Flags: blocking1.9-
Blocks: 421358
Blocks: 421318
Not for 1.9. I'm working on it for the next release.
Flags: wanted1.9-
Flags: wanted1.9+
Flags: wanted-next+
Blocks: 431984
I have a fix for this in my tree, works great. I'll break it out for submission later.
Attached patch fixSplinter Review
-- Take the dirty rect into account when we compute needed-bounding-boxes
-- Ensure that GenerateNormal doesn't apply boundary conditions at the computation rect boundary, but the surface boundary
-- Ensure that Gaussian blur applies boundary conditions at the surface boundary, not the computation rect boundary, but still doesn't let stuff leak out of the filter primitive subregion
-- Some extra Gaussian blur reftests to cover that
Attachment #329380 - Flags: superreview?(mats.palmgren)
Attachment #329380 - Flags: review?(longsonr)
Attachment #329380 - Flags: review?(longsonr) → review+
Comment on attachment 329380 [details] [diff] [review]


There are couple of white-space problems from an earlier checkin:
on line 575 and 581, please fix those while you're here.
Attachment #329380 - Flags: superreview?(mats.palmgren) → superreview+
Pushed 8ffe8a29e52b.
Closed: 12 years ago
Resolution: --- → FIXED
You need to log in before you can comment on or make changes to this bug.