RESOLVED FIXED143637
Too much repainting on scrolling with fixed backgrounds
https://bugs.webkit.org/show_bug.cgi?id=143637
Summary Too much repainting on scrolling with fixed backgrounds
Simon Fraser (smfr)
Reported 2015-04-11 14:53:00 PDT
Too much repainting on scrolling with fixed backgrounds
Attachments
Patch (28.96 KB, patch)
2015-04-11 14:58 PDT, Simon Fraser (smfr)
darin: review+
buildbot: commit-queue-
Archive of layout-test-results from ews106 for mac-mavericks-wk2 (584.52 KB, application/zip)
2015-04-11 15:54 PDT, Build Bot
no flags
Simon Fraser (smfr)
Comment 1 2015-04-11 14:58:44 PDT
Simon Fraser (smfr)
Comment 2 2015-04-11 14:59:42 PDT
Build Bot
Comment 3 2015-04-11 15:54:26 PDT
Comment on attachment 250586 [details] Patch Attachment 250586 [details] did not pass mac-wk2-ews (mac-wk2): Output: http://webkit-queues.appspot.com/results/5647105804730368 New failing tests: compositing/repaint/fixed-background-scroll.html
Build Bot
Comment 4 2015-04-11 15:54:30 PDT
Created attachment 250589 [details] Archive of layout-test-results from ews106 for mac-mavericks-wk2 The attached test failures were seen while running run-webkit-tests on the mac-wk2-ews. Bot: ews106 Port: mac-mavericks-wk2 Platform: Mac OS X 10.9.5
Darin Adler
Comment 5 2015-04-11 18:19:47 PDT
Comment on attachment 250586 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=250586&action=review Looks like compositing/repaint/fixed-background-scroll.html failed on the WK2 bot. Clearly that needs to be diagnosed and fixed before landing. > Source/WebCore/page/FrameView.cpp:1874 > + if (!usesCompositedScrolling()) { > + if (RenderWidget* frameRenderer = frame().ownerRenderer()) { > + if (isEnclosedInCompositingLayer()) { Is this the optimal order for checking these, with the inexpensive checks most likely to fail first? > Source/WebCore/page/FrameView.cpp:1876 > + LayoutRect rect(frameRenderer->borderLeft() + frameRenderer->paddingLeft(), frameRenderer->borderTop() + frameRenderer->paddingTop(), > + visibleWidth(), visibleHeight()); Makes me wish this code used points and sizes instead of scalars; the X and Y parts of this computation are the same.
Simon Fraser (smfr)
Comment 6 2015-04-12 10:33:11 PDT
Note You need to log in before you can comment on or make changes to this bug.