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

Issue 475233002: cc: Avoid redraw for missing tile outside visible rect (Closed)

Created:
6 years, 4 months ago by boliu
Modified:
6 years, 4 months ago
CC:
aelias_OOO_until_Jul13, cc-bugs_chromium.org, chromium-reviews
Project:
chromium
Visibility:
Public.

Description

cc: Avoid redraw for missing tile outside visible rect Tiles outside of the visible rect for tile priority but inside the draw viewport should be drawn on a best effort basis. There is no need to redraw or block activations on missing or incomplete tiles in this region. Rename tile priority rect/matrix to activation rect, and use this to control activation as well. Add new counts for missing/incomplete tiles in the activation rect, and only these tiles will lead to redraws. BUG=403982 NOTRY=true Committed: https://src.chromium.org/viewvc/chrome?view=rev&revision=290937

Patch Set 1 #

Patch Set 2 : MarkRequiredOffscreenTiles failing #

Patch Set 3 : Fix MarkRequiredOffscreenTiles #

Total comments: 18

Patch Set 4 : rebase #

Patch Set 5 : separate counts, renames #

Patch Set 6 : typo #

Patch Set 7 : rebase #

Patch Set 8 : add tests #

Total comments: 6

Patch Set 9 : review #

Patch Set 10 : rebase #

Patch Set 11 : review #

Total comments: 3

Patch Set 12 : fix optimization condition #

Total comments: 2

Patch Set 13 : fix comments #

Total comments: 3

Patch Set 14 : rebase #

Patch Set 15 : remove skip_viewport_for_tile_priority_check #

Unified diffs Side-by-side diffs Delta from patch set Stats (+137 lines, -19 lines) Patch
M cc/layers/picture_layer_impl.h View 1 2 3 4 5 6 7 8 9 10 1 chunk +1 line, -0 lines 0 comments Download
M cc/layers/picture_layer_impl.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 6 chunks +42 lines, -19 lines 0 comments Download
M cc/layers/picture_layer_impl_unittest.cc View 1 2 3 4 5 6 7 8 9 10 1 chunk +93 lines, -0 lines 0 comments Download
M cc/test/fake_picture_layer_impl.h View 1 2 3 4 5 6 7 8 9 10 1 chunk +1 line, -0 lines 0 comments Download

Messages

Total messages: 53 (0 generated)
boliu
Factored out the code to calculate the "visible rect for tile priority in content space" ...
6 years, 4 months ago (2014-08-15 21:24:06 UTC) #1
aelias_OOO_until_Jul13
This is looking fine to me, just needs tests. Enne, any objections?
6 years, 4 months ago (2014-08-15 21:38:02 UTC) #2
danakj
https://codereview.chromium.org/475233002/diff/40001/cc/layers/picture_layer_impl.cc File cc/layers/picture_layer_impl.cc (right): https://codereview.chromium.org/475233002/diff/40001/cc/layers/picture_layer_impl.cc#newcode297 cc/layers/picture_layer_impl.cc:297: geometry_rect.Intersects(tile_rect)) { We only iterate over the visible_content_rect in ...
6 years, 4 months ago (2014-08-15 21:43:44 UTC) #3
hush (inactive)
https://codereview.chromium.org/475233002/diff/40001/cc/layers/picture_layer_impl.cc File cc/layers/picture_layer_impl.cc (right): https://codereview.chromium.org/475233002/diff/40001/cc/layers/picture_layer_impl.cc#newcode779 cc/layers/picture_layer_impl.cc:779: rect.Intersect(GetVisibleRectForTilePriorityInContentSpace()); I think you need to early out when ...
6 years, 4 months ago (2014-08-15 21:53:19 UTC) #4
boliu
https://codereview.chromium.org/475233002/diff/40001/cc/layers/picture_layer_impl.cc File cc/layers/picture_layer_impl.cc (right): https://codereview.chromium.org/475233002/diff/40001/cc/layers/picture_layer_impl.cc#newcode297 cc/layers/picture_layer_impl.cc:297: geometry_rect.Intersects(tile_rect)) { On 2014/08/15 21:43:44, danakj wrote: > We ...
6 years, 4 months ago (2014-08-15 21:56:27 UTC) #5
danakj
https://codereview.chromium.org/475233002/diff/40001/cc/layers/picture_layer_impl.cc File cc/layers/picture_layer_impl.cc (right): https://codereview.chromium.org/475233002/diff/40001/cc/layers/picture_layer_impl.cc#newcode267 cc/layers/picture_layer_impl.cc:267: gfx::Rect tile_rect = GetVisibleRectForTilePriorityInContentSpace(); scaled_tile_priority_rect? https://codereview.chromium.org/475233002/diff/40001/cc/layers/picture_layer_impl.cc#newcode297 cc/layers/picture_layer_impl.cc:297: geometry_rect.Intersects(tile_rect)) { ...
6 years, 4 months ago (2014-08-15 22:09:08 UTC) #6
hush (inactive)
https://codereview.chromium.org/475233002/diff/40001/cc/layers/picture_layer_impl.cc File cc/layers/picture_layer_impl.cc (right): https://codereview.chromium.org/475233002/diff/40001/cc/layers/picture_layer_impl.cc#newcode297 cc/layers/picture_layer_impl.cc:297: geometry_rect.Intersects(tile_rect)) { I'm not exactly sure about the scales ...
6 years, 4 months ago (2014-08-15 22:12:37 UTC) #7
danakj
https://codereview.chromium.org/475233002/diff/40001/cc/layers/picture_layer_impl.cc File cc/layers/picture_layer_impl.cc (right): https://codereview.chromium.org/475233002/diff/40001/cc/layers/picture_layer_impl.cc#newcode297 cc/layers/picture_layer_impl.cc:297: geometry_rect.Intersects(tile_rect)) { On 2014/08/15 22:12:37, hush wrote: > I'm ...
6 years, 4 months ago (2014-08-15 22:20:45 UTC) #8
boliu
https://codereview.chromium.org/475233002/diff/40001/cc/layers/picture_layer_impl.cc File cc/layers/picture_layer_impl.cc (right): https://codereview.chromium.org/475233002/diff/40001/cc/layers/picture_layer_impl.cc#newcode297 cc/layers/picture_layer_impl.cc:297: geometry_rect.Intersects(tile_rect)) { On 2014/08/15 22:09:08, danakj wrote: > On ...
6 years, 4 months ago (2014-08-15 22:33:42 UTC) #9
enne (OOO)
https://codereview.chromium.org/475233002/diff/40001/cc/layers/picture_layer_impl.cc File cc/layers/picture_layer_impl.cc (right): https://codereview.chromium.org/475233002/diff/40001/cc/layers/picture_layer_impl.cc#newcode267 cc/layers/picture_layer_impl.cc:267: gfx::Rect tile_rect = GetVisibleRectForTilePriorityInContentSpace(); "ForTilePriority" also seems not true ...
6 years, 4 months ago (2014-08-15 22:33:50 UTC) #10
hush (inactive)
https://codereview.chromium.org/475233002/diff/40001/cc/layers/picture_layer_impl.cc File cc/layers/picture_layer_impl.cc (right): https://codereview.chromium.org/475233002/diff/40001/cc/layers/picture_layer_impl.cc#newcode297 cc/layers/picture_layer_impl.cc:297: geometry_rect.Intersects(tile_rect)) { Thanks Dana! So I suppose the dest_scale_ ...
6 years, 4 months ago (2014-08-15 22:35:36 UTC) #11
danakj
https://codereview.chromium.org/475233002/diff/40001/cc/layers/picture_layer_impl.cc File cc/layers/picture_layer_impl.cc (right): https://codereview.chromium.org/475233002/diff/40001/cc/layers/picture_layer_impl.cc#newcode297 cc/layers/picture_layer_impl.cc:297: geometry_rect.Intersects(tile_rect)) { On 2014/08/15 22:35:36, hush wrote: > Thanks ...
6 years, 4 months ago (2014-08-15 22:36:06 UTC) #12
boliu
https://codereview.chromium.org/475233002/diff/40001/cc/layers/picture_layer_impl.cc File cc/layers/picture_layer_impl.cc (right): https://codereview.chromium.org/475233002/diff/40001/cc/layers/picture_layer_impl.cc#newcode267 cc/layers/picture_layer_impl.cc:267: gfx::Rect tile_rect = GetVisibleRectForTilePriorityInContentSpace(); On 2014/08/15 22:33:50, enne wrote: ...
6 years, 4 months ago (2014-08-15 23:07:26 UTC) #13
boliu
Renamed new code to "activation rect". Will rename existing code in follow up. Added separate ...
6 years, 4 months ago (2014-08-16 00:05:33 UTC) #14
hush (inactive)
On 2014/08/16 00:05:33, boliu wrote: > Renamed new code to "activation rect". Will rename existing ...
6 years, 4 months ago (2014-08-16 00:21:52 UTC) #15
boliu
Add tests
6 years, 4 months ago (2014-08-18 13:44:17 UTC) #16
boliu
This is ready for a more thorough review. Chose "activation rect" as the name. Only ...
6 years, 4 months ago (2014-08-18 18:42:22 UTC) #17
hush (inactive)
https://codereview.chromium.org/475233002/diff/140001/cc/layers/picture_layer_impl_unittest.cc File cc/layers/picture_layer_impl_unittest.cc (right): https://codereview.chromium.org/475233002/diff/140001/cc/layers/picture_layer_impl_unittest.cc#newcode1516 cc/layers/picture_layer_impl_unittest.cc:1516: tile_version.SetSolidColorForTesting(SK_ColorRED); are you going to test if the color ...
6 years, 4 months ago (2014-08-18 20:48:16 UTC) #18
boliu
https://codereview.chromium.org/475233002/diff/140001/cc/layers/picture_layer_impl_unittest.cc File cc/layers/picture_layer_impl_unittest.cc (right): https://codereview.chromium.org/475233002/diff/140001/cc/layers/picture_layer_impl_unittest.cc#newcode1516 cc/layers/picture_layer_impl_unittest.cc:1516: tile_version.SetSolidColorForTesting(SK_ColorRED); On 2014/08/18 20:48:16, hush wrote: > are you ...
6 years, 4 months ago (2014-08-18 21:32:57 UTC) #19
boliu
ping?
6 years, 4 months ago (2014-08-19 16:07:59 UTC) #20
enne (OOO)
Why does AppendQuadsData need a separate set of variables for activation rect?
6 years, 4 months ago (2014-08-19 17:55:18 UTC) #21
danakj
On Tue, Aug 19, 2014 at 1:55 PM, <enne@chromium.org> wrote: > Why does AppendQuadsData need ...
6 years, 4 months ago (2014-08-19 17:58:46 UTC) #22
enne (OOO)
On 2014/08/19 at 17:58:46, danakj wrote: > On Tue, Aug 19, 2014 at 1:55 PM, ...
6 years, 4 months ago (2014-08-19 18:04:48 UTC) #23
boliu
On 2014/08/19 18:04:48, enne wrote: > On 2014/08/19 at 17:58:46, danakj wrote: > > On ...
6 years, 4 months ago (2014-08-19 18:11:02 UTC) #24
enne (OOO)
On 2014/08/19 at 18:11:02, boliu wrote: > Webview does not upload any UMA :(, but ...
6 years, 4 months ago (2014-08-19 18:20:41 UTC) #25
boliu
On 2014/08/19 18:20:41, enne wrote: > On 2014/08/19 at 18:11:02, boliu wrote: > > > ...
6 years, 4 months ago (2014-08-19 18:39:14 UTC) #26
danakj
On Tue, Aug 19, 2014 at 2:39 PM, <boliu@chromium.org> wrote: > On 2014/08/19 18:20:41, enne ...
6 years, 4 months ago (2014-08-19 19:16:03 UTC) #27
danakj
Ok enne@ talked to me about this. I was under the impression you wanted to ...
6 years, 4 months ago (2014-08-19 19:29:39 UTC) #28
boliu
On 2014/08/19 19:29:39, danakj wrote: > Ok enne@ talked to me about this. I was ...
6 years, 4 months ago (2014-08-19 20:32:49 UTC) #29
enne (OOO)
On 2014/08/19 at 20:32:49, boliu wrote: > On 2014/08/19 19:29:39, danakj wrote: > > Ok ...
6 years, 4 months ago (2014-08-19 20:44:34 UTC) #30
boliu
On 2014/08/19 20:44:34, enne wrote: > On 2014/08/19 at 20:32:49, boliu wrote: > > On ...
6 years, 4 months ago (2014-08-19 20:55:17 UTC) #31
boliu
On 2014/08/19 20:55:17, boliu wrote: > On 2014/08/19 20:44:34, enne wrote: > > Maybe I ...
6 years, 4 months ago (2014-08-19 22:50:46 UTC) #32
enne (OOO)
Thanks for all the explanation. I apologize for my misunderstanding. I think I prefer what ...
6 years, 4 months ago (2014-08-19 22:59:55 UTC) #33
boliu
On 2014/08/19 22:59:55, enne wrote: > Thanks for all the explanation. I apologize for my ...
6 years, 4 months ago (2014-08-19 23:22:36 UTC) #34
enne (OOO)
On 2014/08/19 at 23:22:36, boliu wrote: > Name.. > > The name hush introduced is ...
6 years, 4 months ago (2014-08-19 23:32:29 UTC) #35
boliu
PTAL https://codereview.chromium.org/475233002/diff/200001/cc/layers/picture_layer_impl.cc File cc/layers/picture_layer_impl.cc (right): https://codereview.chromium.org/475233002/diff/200001/cc/layers/picture_layer_impl.cc#newcode274 cc/layers/picture_layer_impl.cc:274: bool viewport_for_tile_priority_contains_visible_rect = This is always true for ...
6 years, 4 months ago (2014-08-20 03:00:06 UTC) #36
danakj
https://codereview.chromium.org/475233002/diff/200001/cc/layers/picture_layer_impl.cc File cc/layers/picture_layer_impl.cc (right): https://codereview.chromium.org/475233002/diff/200001/cc/layers/picture_layer_impl.cc#newcode304 cc/layers/picture_layer_impl.cc:304: !viewport_for_tile_priority_contains_visible_rect && Shouldn't this be viewport_for_tile_prio_contains_vis_rect || geometry_rect.Intersects(scaled_viewport_for_tile_priority) ? ...
6 years, 4 months ago (2014-08-20 14:27:48 UTC) #37
boliu
https://codereview.chromium.org/475233002/diff/200001/cc/layers/picture_layer_impl.cc File cc/layers/picture_layer_impl.cc (right): https://codereview.chromium.org/475233002/diff/200001/cc/layers/picture_layer_impl.cc#newcode304 cc/layers/picture_layer_impl.cc:304: !viewport_for_tile_priority_contains_visible_rect && On 2014/08/20 14:27:48, danakj wrote: > Shouldn't ...
6 years, 4 months ago (2014-08-20 15:26:15 UTC) #38
danakj
https://codereview.chromium.org/475233002/diff/220001/cc/layers/picture_layer_impl.cc File cc/layers/picture_layer_impl.cc (right): https://codereview.chromium.org/475233002/diff/220001/cc/layers/picture_layer_impl.cc#newcode273 cc/layers/picture_layer_impl.cc:273: // Optmization to avoid Contains checks. No need for ...
6 years, 4 months ago (2014-08-20 15:31:12 UTC) #39
boliu
https://codereview.chromium.org/475233002/diff/220001/cc/layers/picture_layer_impl.cc File cc/layers/picture_layer_impl.cc (right): https://codereview.chromium.org/475233002/diff/220001/cc/layers/picture_layer_impl.cc#newcode273 cc/layers/picture_layer_impl.cc:273: // Optmization to avoid Contains checks. No need for ...
6 years, 4 months ago (2014-08-20 15:38:05 UTC) #40
enne (OOO)
lgtm % danakj https://codereview.chromium.org/475233002/diff/240001/cc/layers/picture_layer_impl.cc File cc/layers/picture_layer_impl.cc (right): https://codereview.chromium.org/475233002/diff/240001/cc/layers/picture_layer_impl.cc#newcode275 cc/layers/picture_layer_impl.cc:275: bool skip_viewport_for_tile_priority_check = I don't know ...
6 years, 4 months ago (2014-08-20 17:33:21 UTC) #41
boliu
https://codereview.chromium.org/475233002/diff/240001/cc/layers/picture_layer_impl.cc File cc/layers/picture_layer_impl.cc (right): https://codereview.chromium.org/475233002/diff/240001/cc/layers/picture_layer_impl.cc#newcode275 cc/layers/picture_layer_impl.cc:275: bool skip_viewport_for_tile_priority_check = On 2014/08/20 17:33:21, enne wrote: > ...
6 years, 4 months ago (2014-08-20 17:38:03 UTC) #42
danakj
LGTM https://codereview.chromium.org/475233002/diff/240001/cc/layers/picture_layer_impl.cc File cc/layers/picture_layer_impl.cc (right): https://codereview.chromium.org/475233002/diff/240001/cc/layers/picture_layer_impl.cc#newcode275 cc/layers/picture_layer_impl.cc:275: bool skip_viewport_for_tile_priority_check = On 2014/08/20 17:38:03, boliu wrote: ...
6 years, 4 months ago (2014-08-20 19:14:52 UTC) #43
boliu
Removed skip_viewport_for_tile_priority_check. Thanks all for the review. cq-ing now :)
6 years, 4 months ago (2014-08-20 19:22:27 UTC) #44
boliu
The CQ bit was checked by boliu@chromium.org
6 years, 4 months ago (2014-08-20 19:22:48 UTC) #45
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/boliu@chromium.org/475233002/280001
6 years, 4 months ago (2014-08-20 19:24:08 UTC) #46
commit-bot: I haz the power
FYI, CQ is re-trying this CL (attempt #1). The failing builders are: linux_gpu on tryserver.chromium.gpu ...
6 years, 4 months ago (2014-08-20 21:08:53 UTC) #47
commit-bot: I haz the power
The CQ bit was unchecked by commit-bot@chromium.org
6 years, 4 months ago (2014-08-20 21:12:36 UTC) #48
commit-bot: I haz the power
Try jobs failed on following builders: linux_gpu on tryserver.chromium.gpu (http://build.chromium.org/p/tryserver.chromium.gpu/builders/linux_gpu/builds/55091)
6 years, 4 months ago (2014-08-20 21:12:37 UTC) #49
boliu
win_chromium_rel_swarming is known flake (crbug.com/253092) linux_gpu has a bot issue (trooper notified) Plus everything was ...
6 years, 4 months ago (2014-08-20 22:43:39 UTC) #50
boliu
The CQ bit was checked by boliu@chromium.org
6 years, 4 months ago (2014-08-20 22:44:23 UTC) #51
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/boliu@chromium.org/475233002/280001
6 years, 4 months ago (2014-08-20 22:48:38 UTC) #52
commit-bot: I haz the power
6 years, 4 months ago (2014-08-20 22:51:23 UTC) #53
Message was sent while issue was closed.
Committed patchset #15 (280001) as 290937

Powered by Google App Engine
This is Rietveld 408576698