Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(270)

Issue 375923005: cc: Explicitly invalidate all dropped recordings on the main thread. (Closed)

Created:
6 years, 5 months ago by danakj
Modified:
6 years, 5 months ago
Reviewers:
enne (OOO)
CC:
chromium-reviews, cc-bugs_chromium.org, reveman, vmpstr
Project:
chromium
Visibility:
Public.

Description

cc: Explicitly invalidate all dropped recordings on the main thread. Currently PictureLayerTiling drops tiles when bounds change under the assumption that these recordings have been dropped by the main thread, however it misses some cases. For instance if the layer grows, and the main thread has to drop recording tiles along the growing edge, but it is outside the interest rect, then the PictureLayerTiling has no idea that these recordings are gone, which leads to us having Tiles on the compositor thread which can not be rastered. Instead of having the impl side try to guess at these things, we now have the PicturePile explicitly expand invalidation to cover every recoding tile that has its picture dropped or that is removed from the recording. Then the impl-side PictureLayerTiling only drops what the main thread tells it to, and does not make any guesses of its own. Perf sheriffs: This is expected to change results for "invalidation" tests as it changes what code paths those tests execute. R=enne BUG=386998 Committed: https://src.chromium.org/viewvc/chrome?view=rev&revision=282744

Patch Set 1 : invalid-resize: . #

Patch Set 2 : invalid-resize: . #

Total comments: 1

Patch Set 3 : invalid-resize: . #

Total comments: 15

Patch Set 4 : invalid-resize: reviewd #

Patch Set 5 : invalid-resize: extradcheck #

Patch Set 6 : invalid-resize: doublecall #

Total comments: 3

Patch Set 7 : invalid-resize: nowwithmoreinvalidation #

Patch Set 8 : invalid-resize: rebase #

Patch Set 9 : invalid-resize: fixperftestcompile #

Patch Set 10 : invalid-resize: resizedeletestiles #

Unified diffs Side-by-side diffs Delta from patch set Stats (+778 lines, -222 lines) Patch
M cc/layers/picture_layer.cc View 1 2 3 chunks +2 lines, -3 lines 0 comments Download
M cc/layers/picture_layer_impl.cc View 1 2 3 4 5 6 7 2 chunks +11 lines, -10 lines 0 comments Download
M cc/layers/picture_layer_impl_unittest.cc View 1 2 3 4 5 6 7 1 chunk +102 lines, -14 lines 0 comments Download
M cc/resources/picture_layer_tiling.h View 1 2 3 4 5 6 7 8 9 4 chunks +5 lines, -6 lines 0 comments Download
M cc/resources/picture_layer_tiling.cc View 1 2 3 4 5 6 7 8 9 3 chunks +34 lines, -42 lines 0 comments Download
M cc/resources/picture_layer_tiling_perftest.cc View 1 2 3 4 5 6 7 8 1 chunk +2 lines, -1 line 0 comments Download
M cc/resources/picture_layer_tiling_set.h View 1 chunk +0 lines, -2 lines 0 comments Download
M cc/resources/picture_layer_tiling_set.cc View 2 chunks +2 lines, -11 lines 0 comments Download
M cc/resources/picture_layer_tiling_set_unittest.cc View 1 2 3 1 chunk +4 lines, -1 line 0 comments Download
M cc/resources/picture_layer_tiling_unittest.cc View 1 2 3 4 5 6 7 8 9 2 chunks +30 lines, -2 lines 0 comments Download
M cc/resources/picture_pile.h View 1 2 1 chunk +3 lines, -0 lines 0 comments Download
M cc/resources/picture_pile.cc View 1 2 3 4 5 6 7 6 chunks +116 lines, -16 lines 0 comments Download
M cc/resources/picture_pile_base.h View 1 chunk +0 lines, -1 line 0 comments Download
M cc/resources/picture_pile_base.cc View 1 chunk +0 lines, -44 lines 0 comments Download
M cc/resources/picture_pile_unittest.cc View 1 2 3 4 5 6 32 chunks +456 lines, -63 lines 0 comments Download
M cc/resources/tile.h View 1 2 3 4 5 6 7 1 chunk +3 lines, -1 line 0 comments Download
M cc/resources/tile_manager_unittest.cc View 1 2 3 2 chunks +8 lines, -4 lines 0 comments Download
M cc/test/fake_picture_pile_impl.cc View 1 2 3 4 5 1 chunk +0 lines, -1 line 0 comments Download

Messages

Total messages: 12 (0 generated)
enne (OOO)
https://codereview.chromium.org/375923005/diff/60001/cc/resources/picture_layer_tiling.h File cc/resources/picture_layer_tiling.h (right): https://codereview.chromium.org/375923005/diff/60001/cc/resources/picture_layer_tiling.h#newcode130 cc/resources/picture_layer_tiling.h:130: void UpdateTilesToCurrentPile(const Region& layer_invalidation, Ooh, this is a much ...
6 years, 5 months ago (2014-07-11 00:12:04 UTC) #1
danakj
https://codereview.chromium.org/375923005/diff/80001/cc/layers/picture_layer_impl_unittest.cc File cc/layers/picture_layer_impl_unittest.cc (right): https://codereview.chromium.org/375923005/diff/80001/cc/layers/picture_layer_impl_unittest.cc#newcode1553 cc/layers/picture_layer_impl_unittest.cc:1553: // Force the active tree to sync to the ...
6 years, 5 months ago (2014-07-11 17:06:17 UTC) #2
enne (OOO)
https://codereview.chromium.org/375923005/diff/80001/cc/resources/picture_pile.cc File cc/resources/picture_pile.cc (right): https://codereview.chromium.org/375923005/diff/80001/cc/resources/picture_pile.cc#newcode231 cc/resources/picture_pile.cc:231: right_side.Subtract(interest_rect_over_tiles); On 2014/07/11 17:06:17, danakj wrote: > On 2014/07/11 ...
6 years, 5 months ago (2014-07-11 17:30:05 UTC) #3
danakj
On Fri, Jul 11, 2014 at 1:30 PM, <enne@chromium.org> wrote: > > https://codereview.chromium.org/375923005/diff/80001/cc/ > resources/picture_pile.cc ...
6 years, 5 months ago (2014-07-11 17:32:31 UTC) #4
danakj
PTAL https://codereview.chromium.org/375923005/diff/80001/cc/resources/picture_pile.cc File cc/resources/picture_pile.cc (right): https://codereview.chromium.org/375923005/diff/80001/cc/resources/picture_pile.cc#newcode231 cc/resources/picture_pile.cc:231: right_side.Subtract(interest_rect_over_tiles); On 2014/07/11 17:30:05, enne wrote: > On ...
6 years, 5 months ago (2014-07-11 18:06:27 UTC) #5
enne (OOO)
https://codereview.chromium.org/375923005/diff/80001/cc/layers/picture_layer_impl_unittest.cc File cc/layers/picture_layer_impl_unittest.cc (right): https://codereview.chromium.org/375923005/diff/80001/cc/layers/picture_layer_impl_unittest.cc#newcode1553 cc/layers/picture_layer_impl_unittest.cc:1553: // Force the active tree to sync to the ...
6 years, 5 months ago (2014-07-11 18:21:54 UTC) #6
danakj
So... let me tell you a story. Once we used to invalidate newly exposed pixels ...
6 years, 5 months ago (2014-07-11 20:15:26 UTC) #7
danakj
On 2014/07/11 20:15:26, danakj wrote: > So, ya I think it can go. Ok so, ...
6 years, 5 months ago (2014-07-11 20:33:56 UTC) #8
danakj
On 2014/07/11 20:33:56, danakj wrote: > On 2014/07/11 20:15:26, danakj wrote: > > So, ya ...
6 years, 5 months ago (2014-07-11 20:56:47 UTC) #9
enne (OOO)
lgtm
6 years, 5 months ago (2014-07-11 23:04:16 UTC) #10
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/danakj@chromium.org/375923005/190001
6 years, 5 months ago (2014-07-11 23:05:46 UTC) #11
commit-bot: I haz the power
6 years, 5 months ago (2014-07-12 00:02:57 UTC) #12
Message was sent while issue was closed.
Change committed as 282744

Powered by Google App Engine
This is Rietveld 408576698