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

Issue 672283003: cc: ReadyToDraw notifications. (Closed)

Created:
6 years, 2 months ago by ernstm
Modified:
6 years, 1 month ago
CC:
cc-bugs_chromium.org, chromium-reviews, sunnyps
Base URL:
https://chromium.googlesource.com/chromium/src.git@master
Project:
chromium
Visibility:
Public.

Description

cc: ReadyToDraw notifications. Send notifications when all visible tiles on the active tree are ready to draw. R=enne@chromium.org,reveman@chromium.org,brianderson@chromium.org,vmpstr@chromium.org BUG=426501 Committed: https://crrev.com/dfac03e1bd435b80b3c6a588ca8dd98954073185 Cr-Commit-Position: refs/heads/master@{#303706}

Patch Set 1 #

Total comments: 33

Patch Set 2 : clean-ups #

Total comments: 30

Patch Set 3 : More clean-ups. #

Total comments: 6

Patch Set 4 : Switch to operator ->* #

Patch Set 5 : Match trace event formatting with existing code #

Total comments: 6

Patch Set 6 : Use using. #

Total comments: 4

Patch Set 7 : Add unit test. #

Total comments: 7

Patch Set 8 : Improve tests. #

Total comments: 10

Patch Set 9 : Check required tile count in unit tests. #

Patch Set 10 : Fix counting of required for activation tiles. #

Unified diffs Side-by-side diffs Delta from patch set Stats (+495 lines, -117 lines) Patch
M cc/layers/picture_layer_impl.h View 1 2 3 4 5 6 7 8 2 chunks +7 lines, -0 lines 0 comments Download
M cc/layers/picture_layer_impl.cc View 1 2 3 4 5 6 7 8 3 chunks +21 lines, -9 lines 0 comments Download
M cc/resources/picture_layer_tiling.h View 1 2 3 4 5 6 7 8 1 chunk +2 lines, -1 line 0 comments Download
M cc/resources/picture_layer_tiling.cc View 1 2 3 4 5 6 7 8 4 chunks +30 lines, -9 lines 0 comments Download
M cc/resources/raster_worker_pool_perftest.cc View 1 1 chunk +1 line, -1 line 0 comments Download
M cc/resources/raster_worker_pool_unittest.cc View 1 2 3 4 5 6 1 chunk +1 line, -1 line 0 comments Download
M cc/resources/rasterizer.h View 1 2 1 chunk +5 lines, -1 line 0 comments Download
M cc/resources/tile.h View 1 2 2 chunks +5 lines, -0 lines 0 comments Download
M cc/resources/tile.cc View 1 2 1 chunk +1 line, -0 lines 0 comments Download
M cc/resources/tile_manager.h View 1 2 4 chunks +9 lines, -2 lines 0 comments Download
M cc/resources/tile_manager.cc View 1 2 3 4 5 6 6 chunks +117 lines, -73 lines 0 comments Download
M cc/scheduler/scheduler.h View 1 1 chunk +1 line, -0 lines 0 comments Download
M cc/scheduler/scheduler.cc View 1 2 3 4 5 6 7 8 1 chunk +5 lines, -0 lines 0 comments Download
M cc/test/fake_layer_tree_host_impl_client.h View 1 1 chunk +1 line, -0 lines 0 comments Download
M cc/test/fake_picture_layer_impl.h View 1 2 3 4 5 6 7 8 1 chunk +5 lines, -0 lines 0 comments Download
M cc/test/fake_picture_layer_impl.cc View 1 2 3 4 5 6 7 8 9 1 chunk +59 lines, -0 lines 0 comments Download
M cc/test/fake_tile_manager_client.h View 1 1 chunk +1 line, -0 lines 0 comments Download
M cc/test/layer_tree_test.h View 1 2 3 4 5 6 7 8 7 chunks +53 lines, -18 lines 0 comments Download
M cc/test/layer_tree_test.cc View 1 2 3 4 5 6 7 8 1 chunk +9 lines, -2 lines 0 comments Download
M cc/trees/layer_tree_host_impl.h View 1 2 3 4 5 6 7 8 2 chunks +2 lines, -0 lines 0 comments Download
M cc/trees/layer_tree_host_impl.cc View 1 2 3 4 5 6 7 8 1 chunk +4 lines, -0 lines 0 comments Download
M cc/trees/layer_tree_host_impl_unittest.cc View 1 2 3 4 5 6 7 8 1 chunk +1 line, -0 lines 0 comments Download
M cc/trees/layer_tree_host_unittest.cc View 1 2 3 4 5 6 7 8 9 1 chunk +145 lines, -0 lines 0 comments Download
M cc/trees/single_thread_proxy.h View 1 2 3 4 5 6 7 8 1 chunk +1 line, -0 lines 0 comments Download
M cc/trees/single_thread_proxy.cc View 1 2 3 4 5 6 7 8 1 chunk +3 lines, -0 lines 0 comments Download
M cc/trees/thread_proxy.h View 1 2 3 4 5 6 7 8 1 chunk +1 line, -0 lines 0 comments Download
M cc/trees/thread_proxy.cc View 1 2 3 4 5 6 7 8 1 chunk +5 lines, -0 lines 0 comments Download

Messages

Total messages: 55 (4 generated)
ernstm
PTAL
6 years, 2 months ago (2014-10-23 21:28:22 UTC) #1
brianderson
https://codereview.chromium.org/672283003/diff/1/cc/resources/tile_manager.cc File cc/resources/tile_manager.cc (right): https://codereview.chromium.org/672283003/diff/1/cc/resources/tile_manager.cc#newcode391 cc/resources/tile_manager.cc:391: if (task_set == REQUIRED_FOR_DRAW) { Can a task_set be ...
6 years, 2 months ago (2014-10-24 01:34:04 UTC) #2
ernstm
https://codereview.chromium.org/672283003/diff/1/cc/resources/tile_manager.cc File cc/resources/tile_manager.cc (right): https://codereview.chromium.org/672283003/diff/1/cc/resources/tile_manager.cc#newcode391 cc/resources/tile_manager.cc:391: if (task_set == REQUIRED_FOR_DRAW) { On 2014/10/24 01:34:04, brianderson ...
6 years, 2 months ago (2014-10-24 04:54:20 UTC) #3
vmpstr
I'm wondering if there's a better way to capture the fact that activation and draw ...
6 years, 2 months ago (2014-10-24 18:02:24 UTC) #4
reveman
https://codereview.chromium.org/672283003/diff/1/cc/resources/tile.h File cc/resources/tile.h (right): https://codereview.chromium.org/672283003/diff/1/cc/resources/tile.h#newcode94 cc/resources/tile.h:94: bool required_for_draw() const { return required_for_draw_; } "required_for_draw" makes ...
6 years, 2 months ago (2014-10-24 18:16:31 UTC) #5
enne (OOO)
https://codereview.chromium.org/672283003/diff/1/cc/resources/picture_layer_tiling.cc File cc/resources/picture_layer_tiling.cc (right): https://codereview.chromium.org/672283003/diff/1/cc/resources/picture_layer_tiling.cc#newcode745 cc/resources/picture_layer_tiling.cc:745: // activation on tiles outside of the viewport. "activation", ...
6 years, 2 months ago (2014-10-24 19:16:28 UTC) #6
ernstm
https://codereview.chromium.org/672283003/diff/1/cc/layers/picture_layer_impl.cc File cc/layers/picture_layer_impl.cc (right): https://codereview.chromium.org/672283003/diff/1/cc/layers/picture_layer_impl.cc#newcode1372 cc/layers/picture_layer_impl.cc:1372: const char* action_name, On 2014/10/24 18:02:23, vmpstr wrote: > ...
6 years, 1 month ago (2014-10-27 21:13:57 UTC) #7
reveman
https://codereview.chromium.org/672283003/diff/20001/cc/resources/tile_manager.h File cc/resources/tile_manager.h (right): https://codereview.chromium.org/672283003/diff/20001/cc/resources/tile_manager.h#newcode50 cc/resources/tile_manager.h:50: // Called when all tiles required to draw are ...
6 years, 1 month ago (2014-10-28 15:52:25 UTC) #8
enne (OOO)
https://codereview.chromium.org/672283003/diff/20001/cc/scheduler/scheduler.cc File cc/scheduler/scheduler.cc (right): https://codereview.chromium.org/672283003/diff/20001/cc/scheduler/scheduler.cc#newcode202 cc/scheduler/scheduler.cc:202: // crbugs 352894, 383157, 421923. On 2014/10/28 at 15:52:24, ...
6 years, 1 month ago (2014-10-28 19:07:47 UTC) #9
reveman
https://codereview.chromium.org/672283003/diff/20001/cc/scheduler/scheduler.cc File cc/scheduler/scheduler.cc (right): https://codereview.chromium.org/672283003/diff/20001/cc/scheduler/scheduler.cc#newcode202 cc/scheduler/scheduler.cc:202: // crbugs 352894, 383157, 421923. On 2014/10/28 15:52:24, reveman ...
6 years, 1 month ago (2014-10-28 19:20:10 UTC) #10
brianderson
Schduler parts lgtm. https://codereview.chromium.org/672283003/diff/20001/cc/scheduler/scheduler.cc File cc/scheduler/scheduler.cc (right): https://codereview.chromium.org/672283003/diff/20001/cc/scheduler/scheduler.cc#newcode202 cc/scheduler/scheduler.cc:202: // crbugs 352894, 383157, 421923. On ...
6 years, 1 month ago (2014-10-28 22:11:07 UTC) #11
ernstm
https://codereview.chromium.org/672283003/diff/20001/cc/resources/tile_manager.h File cc/resources/tile_manager.h (right): https://codereview.chromium.org/672283003/diff/20001/cc/resources/tile_manager.h#newcode50 cc/resources/tile_manager.h:50: // Called when all tiles required to draw are ...
6 years, 1 month ago (2014-10-28 22:13:09 UTC) #12
ernstm
On 2014/10/28 22:13:09, ernstm wrote: > https://codereview.chromium.org/672283003/diff/20001/cc/resources/tile_manager.h > File cc/resources/tile_manager.h (right): > > https://codereview.chromium.org/672283003/diff/20001/cc/resources/tile_manager.h#newcode50 > ...
6 years, 1 month ago (2014-10-30 22:07:13 UTC) #13
reveman
just some cleanup requests. this looks good in general and I I think we should ...
6 years, 1 month ago (2014-10-31 16:23:13 UTC) #14
danakj
https://codereview.chromium.org/672283003/diff/20001/cc/layers/picture_layer_impl.cc File cc/layers/picture_layer_impl.cc (right): https://codereview.chromium.org/672283003/diff/20001/cc/layers/picture_layer_impl.cc#newcode1363 cc/layers/picture_layer_impl.cc:1363: const base::Callback<bool(PictureLayerTiling* tiling, const Tile*)>& Can you give this ...
6 years, 1 month ago (2014-10-31 17:00:58 UTC) #16
danakj
https://codereview.chromium.org/672283003/diff/20001/cc/resources/tile_manager.cc File cc/resources/tile_manager.cc (right): https://codereview.chromium.org/672283003/diff/20001/cc/resources/tile_manager.cc#newcode910 cc/resources/tile_manager.cc:910: rasterizer_->CheckForCompletedTasks(); reveman: In my patch you said we shouldn't ...
6 years, 1 month ago (2014-10-31 17:07:55 UTC) #17
reveman
https://codereview.chromium.org/672283003/diff/20001/cc/resources/tile_manager.cc File cc/resources/tile_manager.cc (right): https://codereview.chromium.org/672283003/diff/20001/cc/resources/tile_manager.cc#newcode887 cc/resources/tile_manager.cc:887: for (std::vector<PictureLayerImpl*>::const_iterator it = layers.begin(); On 2014/10/31 17:00:57, danakj ...
6 years, 1 month ago (2014-10-31 17:46:08 UTC) #18
danakj
I think I get what's going in this patch and it looks good overall. I've ...
6 years, 1 month ago (2014-10-31 18:41:31 UTC) #19
danakj
https://codereview.chromium.org/672283003/diff/20001/cc/trees/layer_tree_host_impl.cc File cc/trees/layer_tree_host_impl.cc (right): https://codereview.chromium.org/672283003/diff/20001/cc/trees/layer_tree_host_impl.cc#newcode1334 cc/trees/layer_tree_host_impl.cc:1334: client_->NotifyReadyToDraw(); Oh, since if you remove the scheduler plumbing ...
6 years, 1 month ago (2014-10-31 18:42:10 UTC) #20
reveman
https://codereview.chromium.org/672283003/diff/20001/cc/resources/rasterizer.h File cc/resources/rasterizer.h (right): https://codereview.chromium.org/672283003/diff/20001/cc/resources/rasterizer.h#newcode90 cc/resources/rasterizer.h:90: static const size_t kNumberOfTaskSets = 3; On 2014/10/31 18:41:31, ...
6 years, 1 month ago (2014-10-31 19:38:52 UTC) #21
danakj
https://codereview.chromium.org/672283003/diff/20001/cc/resources/rasterizer.h File cc/resources/rasterizer.h (right): https://codereview.chromium.org/672283003/diff/20001/cc/resources/rasterizer.h#newcode90 cc/resources/rasterizer.h:90: static const size_t kNumberOfTaskSets = 3; On 2014/10/31 19:38:51, ...
6 years, 1 month ago (2014-10-31 19:40:50 UTC) #22
reveman
https://codereview.chromium.org/672283003/diff/20001/cc/resources/rasterizer.h File cc/resources/rasterizer.h (right): https://codereview.chromium.org/672283003/diff/20001/cc/resources/rasterizer.h#newcode90 cc/resources/rasterizer.h:90: static const size_t kNumberOfTaskSets = 3; On 2014/10/31 19:40:50, ...
6 years, 1 month ago (2014-10-31 20:06:06 UTC) #23
danakj
https://codereview.chromium.org/672283003/diff/20001/cc/resources/rasterizer.h File cc/resources/rasterizer.h (right): https://codereview.chromium.org/672283003/diff/20001/cc/resources/rasterizer.h#newcode90 cc/resources/rasterizer.h:90: static const size_t kNumberOfTaskSets = 3; On 2014/10/31 20:06:06, ...
6 years, 1 month ago (2014-10-31 20:45:03 UTC) #24
reveman
On 2014/10/31 20:45:03, danakj wrote: > https://codereview.chromium.org/672283003/diff/20001/cc/resources/rasterizer.h > File cc/resources/rasterizer.h (right): > > https://codereview.chromium.org/672283003/diff/20001/cc/resources/rasterizer.h#newcode90 > ...
6 years, 1 month ago (2014-10-31 21:23:06 UTC) #25
brianderson
https://codereview.chromium.org/672283003/diff/20001/cc/scheduler/scheduler.cc File cc/scheduler/scheduler.cc (right): https://codereview.chromium.org/672283003/diff/20001/cc/scheduler/scheduler.cc#newcode202 cc/scheduler/scheduler.cc:202: // crbugs 352894, 383157, 421923. On 2014/10/31 17:07:55, danakj ...
6 years, 1 month ago (2014-10-31 23:04:24 UTC) #26
danakj
https://codereview.chromium.org/672283003/diff/20001/cc/scheduler/scheduler.cc File cc/scheduler/scheduler.cc (right): https://codereview.chromium.org/672283003/diff/20001/cc/scheduler/scheduler.cc#newcode202 cc/scheduler/scheduler.cc:202: // crbugs 352894, 383157, 421923. On 2014/10/31 23:04:24, brianderson ...
6 years, 1 month ago (2014-11-03 16:11:12 UTC) #27
brianderson
On 2014/11/03 16:11:12, danakj wrote: > https://codereview.chromium.org/672283003/diff/20001/cc/scheduler/scheduler.cc > File cc/scheduler/scheduler.cc (right): > > https://codereview.chromium.org/672283003/diff/20001/cc/scheduler/scheduler.cc#newcode202 > ...
6 years, 1 month ago (2014-11-03 21:27:29 UTC) #28
ernstm
All comments should be addressed by the latest patch. I've left the scheduler plumbing in ...
6 years, 1 month ago (2014-11-03 22:34:42 UTC) #29
vmpstr
lgtm % other people. Please move the anonymous functions to the top of the file, ...
6 years, 1 month ago (2014-11-03 23:07:00 UTC) #30
reveman
lgtm % other reviewers https://codereview.chromium.org/672283003/diff/40001/cc/resources/tile_manager.cc File cc/resources/tile_manager.cc (right): https://codereview.chromium.org/672283003/diff/40001/cc/resources/tile_manager.cc#newcode336 cc/resources/tile_manager.cc:336: TaskSetName(task_set)); hm, did cl format ...
6 years, 1 month ago (2014-11-03 23:55:53 UTC) #31
ernstm
https://codereview.chromium.org/672283003/diff/40001/cc/layers/picture_layer_impl.cc File cc/layers/picture_layer_impl.cc (right): https://codereview.chromium.org/672283003/diff/40001/cc/layers/picture_layer_impl.cc#newcode1408 cc/layers/picture_layer_impl.cc:1408: template <typename F> On 2014/11/03 23:07:00, vmpstr wrote: > ...
6 years, 1 month ago (2014-11-04 00:21:55 UTC) #32
danakj
https://codereview.chromium.org/672283003/diff/80001/cc/layers/picture_layer_impl.h File cc/layers/picture_layer_impl.h (right): https://codereview.chromium.org/672283003/diff/80001/cc/layers/picture_layer_impl.h#newcode156 cc/layers/picture_layer_impl.h:156: typedef bool (PictureLayerTiling::*TileRequirementCheck)(const Tile*) const; can you do this ...
6 years, 1 month ago (2014-11-04 22:02:59 UTC) #33
danakj
https://codereview.chromium.org/672283003/diff/80001/cc/resources/tile_manager.cc File cc/resources/tile_manager.cc (right): https://codereview.chromium.org/672283003/diff/80001/cc/resources/tile_manager.cc#newcode206 cc/resources/tile_manager.cc:206: default: same here, no default please, move it below ...
6 years, 1 month ago (2014-11-04 22:06:13 UTC) #34
danakj
On 2014/11/03 21:27:29, brianderson wrote: > The intent is to wait for NotifyReadyToDraw in those ...
6 years, 1 month ago (2014-11-04 22:09:52 UTC) #35
ernstm
https://codereview.chromium.org/672283003/diff/80001/cc/layers/picture_layer_impl.h File cc/layers/picture_layer_impl.h (right): https://codereview.chromium.org/672283003/diff/80001/cc/layers/picture_layer_impl.h#newcode156 cc/layers/picture_layer_impl.h:156: typedef bool (PictureLayerTiling::*TileRequirementCheck)(const Tile*) const; On 2014/11/04 22:02:58, danakj ...
6 years, 1 month ago (2014-11-04 22:41:15 UTC) #36
reveman
On 2014/11/04 22:09:52, danakj wrote: > On 2014/11/03 21:27:29, brianderson wrote: > > The intent ...
6 years, 1 month ago (2014-11-04 22:42:16 UTC) #37
danakj
On 2014/11/04 22:42:16, reveman wrote: > On 2014/11/04 22:09:52, danakj wrote: > > On 2014/11/03 ...
6 years, 1 month ago (2014-11-04 22:44:03 UTC) #38
reveman
On 2014/11/04 22:44:03, danakj wrote: > On 2014/11/04 22:42:16, reveman wrote: > > On 2014/11/04 ...
6 years, 1 month ago (2014-11-04 23:02:29 UTC) #39
enne (OOO)
In general, this all looks good to me % some tile manager tests like reveman ...
6 years, 1 month ago (2014-11-06 01:18:58 UTC) #40
danakj
https://codereview.chromium.org/672283003/diff/100001/cc/layers/picture_layer_impl.cc File cc/layers/picture_layer_impl.cc (right): https://codereview.chromium.org/672283003/diff/100001/cc/layers/picture_layer_impl.cc#newcode1454 cc/layers/picture_layer_impl.cc:1454: TRACE_EVENT0("cc", The equivalent traces were removed from TOT, so ...
6 years, 1 month ago (2014-11-07 15:53:52 UTC) #41
ernstm
Added a smoke test for ReadyToActivate and ReadyToDraw signals. https://codereview.chromium.org/672283003/diff/100001/cc/layers/picture_layer_impl.cc File cc/layers/picture_layer_impl.cc (right): https://codereview.chromium.org/672283003/diff/100001/cc/layers/picture_layer_impl.cc#newcode1454 cc/layers/picture_layer_impl.cc:1454: ...
6 years, 1 month ago (2014-11-07 18:44:54 UTC) #42
danakj
https://codereview.chromium.org/672283003/diff/120001/cc/resources/tile_manager.cc File cc/resources/tile_manager.cc (right): https://codereview.chromium.org/672283003/diff/120001/cc/resources/tile_manager.cc#newcode865 cc/resources/tile_manager.cc:865: TRACE_EVENT0("cc", "TileManager::IsReadyToActivate"); Should we add a similar trace in ...
6 years, 1 month ago (2014-11-07 19:08:19 UTC) #43
enne (OOO)
If it helps, the test cases I think would be most useful would be: (1) ...
6 years, 1 month ago (2014-11-07 19:12:02 UTC) #44
ernstm
I add tests that create raster tasks. What's missing is a good way to cause ...
6 years, 1 month ago (2014-11-08 01:57:27 UTC) #45
enne (OOO)
lgtm with a suggestions. https://codereview.chromium.org/672283003/diff/140001/cc/test/layer_tree_test.h File cc/test/layer_tree_test.h (right): https://codereview.chromium.org/672283003/diff/140001/cc/test/layer_tree_test.h#newcode249 cc/test/layer_tree_test.h:249: SINGLE_THREAD_DIRECT_RENDERER_IMPL_TEST_F(TEST_FIXTURE_NAME); nit: no semicolon here ...
6 years, 1 month ago (2014-11-10 20:02:12 UTC) #46
ernstm
The latest patch checks the number of required tiles in the unit tests. I had ...
6 years, 1 month ago (2014-11-11 01:36:39 UTC) #47
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/672283003/160001
6 years, 1 month ago (2014-11-11 01:38:30 UTC) #49
commit-bot: I haz the power
Try jobs failed on following builders: linux_chromium_rel_ng on tryserver.chromium.linux (http://build.chromium.org/p/tryserver.chromium.linux/builders/linux_chromium_rel_ng/builds/4494)
6 years, 1 month ago (2014-11-11 02:29:15 UTC) #51
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/672283003/180001
6 years, 1 month ago (2014-11-11 18:29:29 UTC) #53
commit-bot: I haz the power
Committed patchset #10 (id:180001)
6 years, 1 month ago (2014-11-11 20:18:14 UTC) #54
commit-bot: I haz the power
6 years, 1 month ago (2014-11-11 20:19:04 UTC) #55
Message was sent while issue was closed.
Patchset 10 (id:??) landed as
https://crrev.com/dfac03e1bd435b80b3c6a588ca8dd98954073185
Cr-Commit-Position: refs/heads/master@{#303706}

Powered by Google App Engine
This is Rietveld 408576698