WebKit Bugzilla
New
Browse
Log In
×
Sign in with GitHub
or
Remember my login
Create Account
·
Forgot Password
Forgotten password account recovery
RESOLVED FIXED
133335
REGRESSION (Margin tiles): Background gradient on dom.spec.whatwg.org is very slow to render
https://bugs.webkit.org/show_bug.cgi?id=133335
Summary
REGRESSION (Margin tiles): Background gradient on dom.spec.whatwg.org is very...
Tim Horton
Reported
2014-05-27 21:01:23 PDT
<
rdar://problem/17011392
>
Attachments
patch
(4.24 KB, patch)
2014-05-27 21:37 PDT
,
Tim Horton
simon.fraser
: review+
Details
Formatted Diff
Diff
View All
Add attachment
proposed patch, testcase, etc.
Tim Horton
Comment 1
2014-05-27 21:10:52 PDT
Here's the story: 1. Margin tiles mean that we use drawPattern() instead of draw() for the background gradient, because it gets tiled into the margin. 2. drawPattern() paints into an ImageBuffer and uses that to do the pattern tiling. There was already code in Image::drawTiled to avoid proper ImageBuffer-backed patterned drawing and instead repeatedly call draw() in the case where the tile buffer would be very large, but it was only enabled on iOS. It seems like a pretty reasonable thing to do everywhere, so let's do that (but with a bigger limit than on iOS).
Tim Horton
Comment 2
2014-05-27 21:13:32 PDT
3. The ImageBuffer is the size of the gradient. The gradient on this page is the size of the document. A bitmap the size of the document is nearly 2GB here.
Tim Horton
Comment 3
2014-05-27 21:37:44 PDT
Created
attachment 232167
[details]
patch
Tim Horton
Comment 4
2014-05-27 21:50:47 PDT
http://trac.webkit.org/changeset/169412
Note
You need to
log in
before you can comment on or make changes to this bug.
Top of Page
Format For Printing
XML
Clone This Bug