Closed Bug 418201 Opened 12 years ago Closed 12 years ago
Restrict filter processing to the dirty area
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.
roc, do you want to block on this?
No, but we could make it wanted1.9.
12 years ago
Not for 1.9. I'm working on it for the next release.
I have a fix for this in my tree, works great. I'll break it out for submission later.
-- 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: review?(longsonr) → review+
Comment on attachment 329380 [details] [diff] [review] fix sr=mats There are couple of white-space problems from an earlier checkin: http://hg.mozilla.org/mozilla-central/index.cgi/annotate/tip/content/svg/content/src/nsSVGFilters.cpp#l573 on line 575 and 581, please fix those while you're here.
Attachment #329380 - Flags: superreview?(mats.palmgren) → superreview+
Status: NEW → RESOLVED
Closed: 12 years ago
Resolution: --- → FIXED
12 years ago
Depends on: 445410
You need to log in before you can comment on or make changes to this bug.