RESOLVED FIXED 114440
Dynamically triggered subframe loads are causing tile churn
https://bugs.webkit.org/show_bug.cgi?id=114440
Summary Dynamically triggered subframe loads are causing tile churn
Antti Koivisto
Reported 2013-04-11 07:12:03 PDT
We use minimal tile coverage while page is loading. Subframe loads that start after the main load has finishes are causing us to re-enter minimal tiling mode, causing unnecessary churn.
Attachments
patch (5.82 KB, patch)
2013-04-15 05:25 PDT, Antti Koivisto
kling: review+
Antti Koivisto
Comment 1 2013-04-11 07:14:01 PDT
This shows up in the tile map with speculative tiles disappearing and reappearing after end of the load.
Antti Koivisto
Comment 2 2013-04-15 05:25:34 PDT
Andreas Kling
Comment 3 2013-04-15 05:41:41 PDT
Comment on attachment 198114 [details] patch View in context: https://bugs.webkit.org/attachment.cgi?id=198114&action=review r=me, good catch. I wonder if there are cases where the window resize optimization is too clever and just causing churn. > Source/WebCore/ChangeLog:8 > + In some cases we switch in and out of minimal times multiple times during page loading. This minimal times -> minimal tiles > Source/WebCore/ChangeLog:9 > + creates tile churn where we create speculatively tiles and then throw them out. This can be speculatively -> speculative > Source/WebCore/ChangeLog:16 > + tiles while waiting response for the initial requests. waiting -> awaiting > Source/WebCore/ChangeLog:18 > + (WebCore): <darin>Please remove this useless line. Better yet, please fix the script to stop generating them!</darin> > Source/WebCore/ChangeLog:28 > + Only switch into minimal coverage mode once per page load. Indentation is different here. > Source/WebCore/rendering/RenderLayerBacking.cpp:226 > + useMinimalTilesDuringLoading = !frameView->isVisuallyNonEmpty() || (frame->page()->progress()->isLoadProgressing() && !frameView->wasScrolledByUser()); "!frameView->isVisuallyNonEmpty()" :|
Antti Koivisto
Comment 4 2013-04-15 05:59:53 PDT
Simon Fraser (smfr)
Comment 5 2013-04-15 13:17:58 PDT
Comment on attachment 198114 [details] patch View in context: https://bugs.webkit.org/attachment.cgi?id=198114&action=review > Source/WebCore/rendering/RenderLayerBacking.h:312 > + bool m_didSwitchToFullTileCoverageDuringLoading; Shame to use a bool on every RLB when only the root needs one.
Note You need to log in before you can comment on or make changes to this bug.