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

Issue 246673005: cc: Start using raster/eviction iterators in tile manager (Closed)

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

Description

cc: Start using raster/eviction iterators in tile manager This patch is a part of the series that enables raster and eviction iterators in cc. In particular, this patch actually starts using the iterators that have landed previously. There should be a perf improvement for the manage tiles case. Other than that, there should be no perf impact. This patch's main contribution is that it opens the door for more optimizations to be done in the future. As well, it simplifies the logic we have in tile manager. BUG=329686 R=enne, reveman Committed: https://src.chromium.org/viewvc/chrome?view=rev&revision=278654

Patch Set 1 #

Total comments: 16

Patch Set 2 : review #

Total comments: 11

Patch Set 3 : #

Patch Set 4 : #

Total comments: 25

Patch Set 5 : #

Patch Set 6 : #

Patch Set 7 : #

Total comments: 4

Patch Set 8 : #

Patch Set 9 : rebase #

Patch Set 10 : #

Total comments: 1

Patch Set 11 : rebase #

Patch Set 12 : #

Total comments: 21

Patch Set 13 : #

Patch Set 14 : update #

Total comments: 4

Patch Set 15 : update #

Total comments: 14

Patch Set 16 : update #

Total comments: 21

Patch Set 17 : update #

Patch Set 18 : #

Total comments: 24

Patch Set 19 : update #

Total comments: 4

Patch Set 20 : update #

Patch Set 21 : #

Total comments: 36

Patch Set 22 : update #

Total comments: 8

Patch Set 23 : update #

Total comments: 12

Patch Set 24 : update #

Total comments: 2

Patch Set 25 : update #

Patch Set 26 : updated BUILD.gn #

Unified diffs Side-by-side diffs Delta from patch set Stats (+235 lines, -1839 lines) Patch
M cc/BUILD.gn View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 2 chunks +0 lines, -3 lines 0 comments Download
M cc/cc.gyp View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 1 chunk +0 lines, -2 lines 0 comments Download
M cc/cc_tests.gyp View 1 2 3 4 5 6 7 8 9 10 1 chunk +0 lines, -1 line 0 comments Download
M cc/layers/heads_up_display_layer_impl.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 3 chunks +7 lines, -13 lines 0 comments Download
M cc/resources/memory_history.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 1 chunk +4 lines, -9 lines 0 comments Download
M cc/resources/memory_history.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 1 chunk +1 line, -1 line 0 comments Download
D cc/resources/prioritized_tile_set.h View 1 chunk +0 lines, -59 lines 0 comments Download
D cc/resources/prioritized_tile_set.cc View 1 chunk +0 lines, -140 lines 0 comments Download
D cc/resources/prioritized_tile_set_unittest.cc View 1 2 3 4 5 6 7 8 9 10 1 chunk +0 lines, -732 lines 0 comments Download
M cc/resources/tile.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 1 chunk +0 lines, -1 line 0 comments Download
M cc/resources/tile.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 2 chunks +0 lines, -9 lines 0 comments Download
M cc/resources/tile_manager.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 8 chunks +36 lines, -33 lines 0 comments Download
M cc/resources/tile_manager.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 13 chunks +186 lines, -410 lines 0 comments Download
M cc/resources/tile_manager_unittest.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 1 chunk +0 lines, -404 lines 0 comments Download
M cc/resources/tile_priority.h View 1 2 3 4 5 6 7 8 9 10 11 12 3 chunks +0 lines, -18 lines 0 comments Download
M cc/test/fake_tile_manager.h View 1 2 3 4 5 6 7 8 1 chunk +0 lines, -1 line 0 comments Download
M cc/test/fake_tile_manager.cc View 1 2 3 4 5 6 7 8 1 chunk +1 line, -3 lines 0 comments Download

Messages

Total messages: 46 (0 generated)
vmpstr
Hey, I think this is ready for a first round of comments. Several things are ...
6 years, 8 months ago (2014-04-23 16:43:22 UTC) #1
enne (OOO)
This all looks pretty reasonable to me at first blush. Excited to see what perf ...
6 years, 8 months ago (2014-04-23 17:29:58 UTC) #2
reveman
https://codereview.chromium.org/246673005/diff/1/cc/resources/picture_layer_tiling.h File cc/resources/picture_layer_tiling.h (right): https://codereview.chromium.org/246673005/diff/1/cc/resources/picture_layer_tiling.h#newcode62 cc/resources/picture_layer_tiling.h:62: bool HasTilesRequiredForActivation() const; hm, this returns some state that ...
6 years, 8 months ago (2014-04-24 00:17:34 UTC) #3
vmpstr
I've updated the patch, but I still have to rebase on top of https://codereview.chromium.org/257773009/ and ...
6 years, 7 months ago (2014-04-28 18:50:37 UTC) #4
reveman
https://codereview.chromium.org/246673005/diff/20001/cc/layers/picture_layer_impl.h File cc/layers/picture_layer_impl.h (right): https://codereview.chromium.org/246673005/diff/20001/cc/layers/picture_layer_impl.h#newcode41 cc/layers/picture_layer_impl.h:41: bool HasTilesRequiredForActivation() const; This will go away after rebase, ...
6 years, 7 months ago (2014-04-28 19:39:18 UTC) #5
vmpstr
https://codereview.chromium.org/246673005/diff/20001/cc/layers/picture_layer_impl.h File cc/layers/picture_layer_impl.h (right): https://codereview.chromium.org/246673005/diff/20001/cc/layers/picture_layer_impl.h#newcode41 cc/layers/picture_layer_impl.h:41: bool HasTilesRequiredForActivation() const; On 2014/04/28 19:39:18, reveman wrote: > ...
6 years, 7 months ago (2014-04-28 20:56:42 UTC) #6
vmpstr
On 2014/04/28 20:56:42, vmpstr wrote: > https://codereview.chromium.org/246673005/diff/20001/cc/layers/picture_layer_impl.h > File cc/layers/picture_layer_impl.h (right): > > https://codereview.chromium.org/246673005/diff/20001/cc/layers/picture_layer_impl.h#newcode41 > ...
6 years, 7 months ago (2014-04-28 21:27:32 UTC) #7
reveman
https://codereview.chromium.org/246673005/diff/20001/cc/resources/tile_manager.cc File cc/resources/tile_manager.cc (right): https://codereview.chromium.org/246673005/diff/20001/cc/resources/tile_manager.cc#newcode500 cc/resources/tile_manager.cc:500: *memory_nice_to_have_bytes = resource_pool_->total_memory_usage_bytes(); On 2014/04/28 20:56:42, vmpstr wrote: > ...
6 years, 7 months ago (2014-04-28 21:43:15 UTC) #8
vmpstr
PTAL https://codereview.chromium.org/246673005/diff/20001/cc/resources/tile_manager.cc File cc/resources/tile_manager.cc (right): https://codereview.chromium.org/246673005/diff/20001/cc/resources/tile_manager.cc#newcode500 cc/resources/tile_manager.cc:500: *memory_nice_to_have_bytes = resource_pool_->total_memory_usage_bytes(); On 2014/04/28 21:43:15, reveman wrote: ...
6 years, 7 months ago (2014-04-28 22:44:38 UTC) #9
vmpstr
David, can you take another look at this? I'm going to rebase this on top ...
6 years, 7 months ago (2014-05-20 17:53:36 UTC) #10
danakj
6 years, 7 months ago (2014-05-20 17:58:03 UTC) #11
reveman
How about you rebase this onto https://codereview.chromium.org/287643004/ and we land that first? https://codereview.chromium.org/246673005/diff/20001/cc/resources/tile_manager.cc File cc/resources/tile_manager.cc ...
6 years, 7 months ago (2014-05-20 23:00:59 UTC) #12
vmpstr
Hi, I think most of the comments concern eviction here. In general I do prefer ...
6 years, 7 months ago (2014-05-27 22:41:32 UTC) #13
reveman
https://codereview.chromium.org/246673005/diff/60001/cc/layers/picture_layer_impl.h File cc/layers/picture_layer_impl.h (right): https://codereview.chromium.org/246673005/diff/60001/cc/layers/picture_layer_impl.h#newcode42 cc/layers/picture_layer_impl.h:42: bool HasTilesRequiredForActivation() const; On 2014/05/27 22:41:32, vmpstr wrote: > ...
6 years, 6 months ago (2014-05-28 16:04:12 UTC) #14
vmpstr
Hi, As discussed offline, we agree that the final product here is probably going to ...
6 years, 6 months ago (2014-05-29 18:36:10 UTC) #15
reveman
On 2014/05/29 18:36:10, vmpstr wrote: > Hi, > > As discussed offline, we agree that ...
6 years, 6 months ago (2014-05-29 20:26:36 UTC) #16
vmpstr
On 2014/05/29 20:26:36, reveman wrote: > On 2014/05/29 18:36:10, vmpstr wrote: > > Hi, > ...
6 years, 6 months ago (2014-05-29 20:37:54 UTC) #17
vmpstr
+ccameron to cc
6 years, 6 months ago (2014-05-29 20:38:46 UTC) #18
reveman
On 2014/05/29 20:37:54, vmpstr wrote: > On 2014/05/29 20:26:36, reveman wrote: > > On 2014/05/29 ...
6 years, 6 months ago (2014-05-29 21:05:38 UTC) #19
reveman
Let me know when this is ready for me to review. https://codereview.chromium.org/246673005/diff/170001/cc/resources/tile_manager.cc File cc/resources/tile_manager.cc (right): ...
6 years, 6 months ago (2014-06-02 14:45:26 UTC) #20
vmpstr
PTAL https://codereview.chromium.org/246673005/diff/210001/cc/resources/tile_manager.cc File cc/resources/tile_manager.cc (right): https://codereview.chromium.org/246673005/diff/210001/cc/resources/tile_manager.cc#newcode460 cc/resources/tile_manager.cc:460: *memory_required_bytes = resource_pool_->total_memory_usage_bytes() + ccameron@, can you please ...
6 years, 6 months ago (2014-06-13 21:08:39 UTC) #21
reveman
https://codereview.chromium.org/246673005/diff/210001/cc/resources/tile.cc File cc/resources/tile.cc (right): https://codereview.chromium.org/246673005/diff/210001/cc/resources/tile.cc#newcode48 cc/resources/tile.cc:48: return; I don't think this early out makes sense ...
6 years, 6 months ago (2014-06-14 14:53:25 UTC) #22
vmpstr
PTAL https://codereview.chromium.org/246673005/diff/210001/cc/resources/tile.cc File cc/resources/tile.cc (right): https://codereview.chromium.org/246673005/diff/210001/cc/resources/tile.cc#newcode48 cc/resources/tile.cc:48: return; On 2014/06/14 14:53:24, reveman wrote: > I ...
6 years, 6 months ago (2014-06-16 18:18:20 UTC) #23
reveman
https://codereview.chromium.org/246673005/diff/250001/cc/resources/tile_manager.h File cc/resources/tile_manager.h (right): https://codereview.chromium.org/246673005/diff/250001/cc/resources/tile_manager.h#newcode259 cc/resources/tile_manager.h:259: struct MemoryBudget { I'm not a fan of this ...
6 years, 6 months ago (2014-06-16 22:06:52 UTC) #24
vmpstr
PTAL https://codereview.chromium.org/246673005/diff/250001/cc/resources/tile_manager.h File cc/resources/tile_manager.h (right): https://codereview.chromium.org/246673005/diff/250001/cc/resources/tile_manager.h#newcode259 cc/resources/tile_manager.h:259: struct MemoryBudget { On 2014/06/16 22:06:52, reveman wrote: ...
6 years, 6 months ago (2014-06-16 23:26:07 UTC) #25
reveman
https://codereview.chromium.org/246673005/diff/270001/cc/resources/tile_manager.cc File cc/resources/tile_manager.cc (right): https://codereview.chromium.org/246673005/diff/270001/cc/resources/tile_manager.cc#newcode524 cc/resources/tile_manager.cc:524: // tile. nit: I don't think this comment is ...
6 years, 6 months ago (2014-06-17 00:46:33 UTC) #26
vmpstr
https://codereview.chromium.org/246673005/diff/270001/cc/resources/tile_manager.h File cc/resources/tile_manager.h (right): https://codereview.chromium.org/246673005/diff/270001/cc/resources/tile_manager.h#newcode277 cc/resources/tile_manager.h:277: int64 hard_memory_bytes_; On 2014/06/17 00:46:33, reveman wrote: > I ...
6 years, 6 months ago (2014-06-17 02:07:41 UTC) #27
reveman
https://codereview.chromium.org/246673005/diff/270001/cc/resources/tile_manager.h File cc/resources/tile_manager.h (right): https://codereview.chromium.org/246673005/diff/270001/cc/resources/tile_manager.h#newcode277 cc/resources/tile_manager.h:277: int64 hard_memory_bytes_; On 2014/06/17 02:07:40, vmpstr wrote: > On ...
6 years, 6 months ago (2014-06-17 04:24:16 UTC) #28
vmpstr
PTAL https://codereview.chromium.org/246673005/diff/270001/cc/resources/tile_manager.cc File cc/resources/tile_manager.cc (right): https://codereview.chromium.org/246673005/diff/270001/cc/resources/tile_manager.cc#newcode524 cc/resources/tile_manager.cc:524: // tile. On 2014/06/17 00:46:33, reveman wrote: > ...
6 years, 6 months ago (2014-06-17 08:11:57 UTC) #29
reveman
https://codereview.chromium.org/246673005/diff/290001/cc/resources/tile_manager.cc File cc/resources/tile_manager.cc (right): https://codereview.chromium.org/246673005/diff/290001/cc/resources/tile_manager.cc#newcode504 cc/resources/tile_manager.cc:504: EvictionTileIterator* eviction_iterator, nit: this could just be named iterator, ...
6 years, 6 months ago (2014-06-17 17:15:08 UTC) #30
vmpstr
PTAL https://codereview.chromium.org/246673005/diff/290001/cc/resources/tile_manager.cc File cc/resources/tile_manager.cc (right): https://codereview.chromium.org/246673005/diff/290001/cc/resources/tile_manager.cc#newcode504 cc/resources/tile_manager.cc:504: EvictionTileIterator* eviction_iterator, On 2014/06/17 17:15:08, reveman wrote: > ...
6 years, 6 months ago (2014-06-17 18:23:23 UTC) #31
reveman
https://codereview.chromium.org/246673005/diff/330001/cc/resources/tile_manager.cc File cc/resources/tile_manager.cc (right): https://codereview.chromium.org/246673005/diff/330001/cc/resources/tile_manager.cc#newcode586 cc/resources/tile_manager.cc:586: size_t bytes_that_exceeded_memory_budget = 0; I don't think this function ...
6 years, 6 months ago (2014-06-17 19:30:07 UTC) #32
vmpstr
PTAL https://codereview.chromium.org/246673005/diff/330001/cc/resources/tile_manager.cc File cc/resources/tile_manager.cc (right): https://codereview.chromium.org/246673005/diff/330001/cc/resources/tile_manager.cc#newcode586 cc/resources/tile_manager.cc:586: size_t bytes_that_exceeded_memory_budget = 0; On 2014/06/17 19:30:07, reveman ...
6 years, 6 months ago (2014-06-17 21:34:07 UTC) #33
reveman
https://codereview.chromium.org/246673005/diff/330001/cc/resources/tile_manager.cc File cc/resources/tile_manager.cc (right): https://codereview.chromium.org/246673005/diff/330001/cc/resources/tile_manager.cc#newcode619 cc/resources/tile_manager.cc:619: have_hit_soft_memory |= !tile_uses_hard_limit; On 2014/06/17 21:34:05, vmpstr wrote: > ...
6 years, 6 months ago (2014-06-17 22:26:08 UTC) #34
vmpstr
https://codereview.chromium.org/246673005/diff/350001/cc/resources/tile_manager.cc File cc/resources/tile_manager.cc (right): https://codereview.chromium.org/246673005/diff/350001/cc/resources/tile_manager.cc#newcode609 cc/resources/tile_manager.cc:609: tile_uses_hard_limit ? hard_memory_limit : soft_memory_limit; On 2014/06/17 22:26:08, reveman ...
6 years, 6 months ago (2014-06-17 23:48:18 UTC) #35
vmpstr
(PTAL)
6 years, 6 months ago (2014-06-17 23:48:34 UTC) #36
reveman
https://codereview.chromium.org/246673005/diff/390001/cc/resources/tile_manager.cc File cc/resources/tile_manager.cc (right): https://codereview.chromium.org/246673005/diff/390001/cc/resources/tile_manager.cc#newcode308 cc/resources/tile_manager.cc:308: ++it) { Completely unrelated. How about we only release ...
6 years, 6 months ago (2014-06-18 03:35:43 UTC) #37
vmpstr
PTAL https://codereview.chromium.org/246673005/diff/390001/cc/resources/tile_manager.cc File cc/resources/tile_manager.cc (right): https://codereview.chromium.org/246673005/diff/390001/cc/resources/tile_manager.cc#newcode308 cc/resources/tile_manager.cc:308: ++it) { On 2014/06/18 03:35:42, reveman wrote: > ...
6 years, 6 months ago (2014-06-18 06:45:01 UTC) #38
reveman
https://codereview.chromium.org/246673005/diff/390001/cc/resources/tile_manager.cc File cc/resources/tile_manager.cc (right): https://codereview.chromium.org/246673005/diff/390001/cc/resources/tile_manager.cc#newcode308 cc/resources/tile_manager.cc:308: ++it) { On 2014/06/18 06:45:00, vmpstr wrote: > On ...
6 years, 6 months ago (2014-06-18 16:41:10 UTC) #39
vmpstr
PTAL https://codereview.chromium.org/246673005/diff/410001/cc/resources/tile_manager.cc File cc/resources/tile_manager.cc (right): https://codereview.chromium.org/246673005/diff/410001/cc/resources/tile_manager.cc#newcode578 cc/resources/tile_manager.cc:578: &eviction_it, hard_memory_limit, &memory_usage); On 2014/06/18 16:41:10, reveman wrote: ...
6 years, 6 months ago (2014-06-18 18:04:52 UTC) #40
reveman
Just a couple of nits. Can you also rebase this on https://codereview.chromium.org/342483007/ so I can ...
6 years, 6 months ago (2014-06-18 18:55:14 UTC) #41
vmpstr
PTAL. I absentmindedly submitted tryjobs, but they will probably all fail since this is rebased ...
6 years, 6 months ago (2014-06-18 21:05:13 UTC) #42
reveman
LGTM after updating the description and fixing two minor nits The stats for this patch ...
6 years, 6 months ago (2014-06-18 21:35:36 UTC) #43
vmpstr
The CQ bit was checked by vmpstr@chromium.org
6 years, 6 months ago (2014-06-19 23:56:20 UTC) #44
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/vmpstr@chromium.org/246673005/490001
6 years, 6 months ago (2014-06-19 23:57:54 UTC) #45
commit-bot: I haz the power
6 years, 6 months ago (2014-06-20 09:37:58 UTC) #46
Message was sent while issue was closed.
Change committed as 278654

Powered by Google App Engine
This is Rietveld 408576698