WebKit Bugzilla
New
Browse
Log In
×
Sign in with GitHub
or
Remember my login
Create Account
·
Forgot Password
Forgotten password account recovery
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+
Details
Formatted Diff
Diff
View All
Add attachment
proposed patch, testcase, etc.
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
Created
attachment 198114
[details]
patch
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
http://trac.webkit.org/changeset/148432
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.
Top of Page
Format For Printing
XML
Clone This Bug