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

Issue 1800923002: cc: Directly use property trees to calculate clip rect (Closed)

Created:
4 years, 9 months ago by weiliangc
Modified:
4 years, 7 months ago
Reviewers:
ajuma, enne (OOO)
CC:
ajuma, cc-bugs_chromium.org, chrishtr, chromium-reviews, danakj, jaydasika, Ian Vollick
Base URL:
https://chromium.googlesource.com/chromium/src.git@master
Target Ref:
refs/pending/heads/master
Project:
chromium
Visibility:
Public.

Description

cc: Directly use property trees to calculate clip rect Clip tree at this point uses top down recursion with caching to calculate clips. This matches the behavior old CDP. Now that CDP is gone, clip rect can be calculated directly from property trees without recursion. This CL is only turned on for cc_unittests. This CL is a proof of concept. There is no caching so this CL would not be as performance. This CL is behind a flag, and only switched to after caching and visible rect calculations are finished. R=enne BUG=594675 CQ_INCLUDE_TRYBOTS=tryserver.blink:linux_blink_rel Committed: https://crrev.com/365a6fe2125dd821db7df698778fc05f3099bcff Cr-Commit-Position: refs/heads/master@{#393331}

Patch Set 1 : clean up and try #

Total comments: 6

Patch Set 2 : address review comments #

Patch Set 3 : make sure when rect is empty it returns (0,0) #

Patch Set 4 : rebase #

Patch Set 5 : add setting to only calculate and verify in cc_unittest #

Total comments: 10

Patch Set 6 : rebase #

Patch Set 7 : address review comments #

Patch Set 8 : rebase #

Patch Set 9 : fix perftests compile by not verify clip tree calc there #

Unified diffs Side-by-side diffs Delta from patch set Stats (+254 lines, -14 lines) Patch
M cc/BUILD.gn View 1 2 3 4 5 6 7 1 chunk +2 lines, -0 lines 0 comments Download
M cc/cc_tests.gyp View 1 2 3 4 5 6 7 1 chunk +2 lines, -0 lines 0 comments Download
M cc/layers/layer_impl_unittest.cc View 1 2 3 4 5 1 chunk +1 line, -0 lines 0 comments Download
M cc/layers/picture_layer_impl_unittest.cc View 1 2 3 4 5 6 7 1 chunk +1 line, -0 lines 0 comments Download
M cc/layers/picture_layer_unittest.cc View 1 2 3 4 5 6 7 3 chunks +3 lines, -1 line 0 comments Download
M cc/test/fake_layer_tree_host_impl.cc View 1 2 3 4 5 2 chunks +2 lines, -1 line 0 comments Download
M cc/test/layer_test_common.cc View 1 2 3 4 5 2 chunks +2 lines, -1 line 0 comments Download
A cc/test/layer_tree_settings_for_testing.h View 1 2 3 4 1 chunk +20 lines, -0 lines 0 comments Download
A cc/test/layer_tree_settings_for_testing.cc View 1 2 3 4 5 6 1 chunk +16 lines, -0 lines 0 comments Download
M cc/test/layer_tree_test.cc View 1 2 3 4 5 6 7 1 chunk +1 line, -0 lines 0 comments Download
M cc/tiles/tile_manager_unittest.cc View 1 2 3 4 5 6 7 4 chunks +5 lines, -0 lines 0 comments Download
M cc/trees/draw_property_utils.h View 1 2 3 4 5 1 chunk +3 lines, -0 lines 0 comments Download
M cc/trees/draw_property_utils.cc View 1 2 3 4 5 6 7 6 chunks +172 lines, -9 lines 0 comments Download
M cc/trees/layer_tree_host_common.h View 1 2 3 4 5 2 chunks +2 lines, -0 lines 0 comments Download
M cc/trees/layer_tree_host_common.cc View 1 2 3 4 5 6 7 4 chunks +7 lines, -0 lines 0 comments Download
M cc/trees/layer_tree_host_common_perftest.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_impl_unittest.cc View 1 2 3 4 5 6 7 1 chunk +1 line, -0 lines 0 comments Download
M cc/trees/layer_tree_impl.cc View 1 2 3 4 5 6 7 1 chunk +2 lines, -1 line 0 comments Download
M cc/trees/layer_tree_impl_unittest.cc View 1 2 3 4 5 2 chunks +2 lines, -0 lines 0 comments Download
M cc/trees/layer_tree_settings.h View 1 2 3 4 5 6 7 1 chunk +1 line, -0 lines 0 comments Download
M cc/trees/layer_tree_settings.cc View 1 2 3 4 5 6 7 2 chunks +2 lines, -0 lines 0 comments Download
M cc/trees/property_tree.h View 1 2 3 4 5 6 7 1 chunk +1 line, -0 lines 0 comments Download
M cc/trees/property_tree.cc View 1 2 3 4 5 6 7 1 chunk +1 line, -0 lines 0 comments Download
M cc/trees/property_tree_builder.cc View 1 2 3 4 5 6 7 3 chunks +4 lines, -1 line 0 comments Download

Messages

Total messages: 19 (9 generated)
weiliangc
Mostly send out as first draft. Right now this only added CHECKs trying to flush ...
4 years, 9 months ago (2016-03-15 01:37:07 UTC) #4
ajuma
Nice work, the overall logic looks great. https://codereview.chromium.org/1800923002/diff/20001/cc/trees/draw_property_utils.cc File cc/trees/draw_property_utils.cc (right): https://codereview.chromium.org/1800923002/diff/20001/cc/trees/draw_property_utils.cc#newcode692 cc/trees/draw_property_utils.cc:692: if (local_clip_id ...
4 years, 9 months ago (2016-03-15 14:59:56 UTC) #6
weiliangc
address review comments. https://codereview.chromium.org/1800923002/diff/20001/cc/trees/draw_property_utils.cc File cc/trees/draw_property_utils.cc (right): https://codereview.chromium.org/1800923002/diff/20001/cc/trees/draw_property_utils.cc#newcode692 cc/trees/draw_property_utils.cc:692: if (local_clip_id == target_node->data.clip_id) On 2016/03/15 ...
4 years, 9 months ago (2016-03-15 15:29:36 UTC) #7
weiliangc
Only verify with cc_unittests. Please take a look.
4 years, 9 months ago (2016-03-18 23:05:36 UTC) #10
ajuma
https://codereview.chromium.org/1800923002/diff/120001/cc/test/layer_tree_settings_for_testing.cc File cc/test/layer_tree_settings_for_testing.cc (right): https://codereview.chromium.org/1800923002/diff/120001/cc/test/layer_tree_settings_for_testing.cc#newcode11 cc/test/layer_tree_settings_for_testing.cc:11: this->verify_clip_tree_calculations = true; Nit: Using 'this' isn't really needed ...
4 years, 9 months ago (2016-03-19 00:29:41 UTC) #11
weiliangc
addressed review comments. https://codereview.chromium.org/1800923002/diff/120001/cc/test/layer_tree_settings_for_testing.cc File cc/test/layer_tree_settings_for_testing.cc (right): https://codereview.chromium.org/1800923002/diff/120001/cc/test/layer_tree_settings_for_testing.cc#newcode11 cc/test/layer_tree_settings_for_testing.cc:11: this->verify_clip_tree_calculations = true; On 2016/03/19 00:29:41, ...
4 years, 7 months ago (2016-05-11 23:08:08 UTC) #12
ajuma
Thanks, lgtm
4 years, 7 months ago (2016-05-11 23:26:40 UTC) #13
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1800923002/200001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1800923002/200001
4 years, 7 months ago (2016-05-12 18:44:03 UTC) #16
commit-bot: I haz the power
Committed patchset #9 (id:200001)
4 years, 7 months ago (2016-05-12 19:32:43 UTC) #17
commit-bot: I haz the power
4 years, 7 months ago (2016-05-12 19:33:49 UTC) #19
Message was sent while issue was closed.
Patchset 9 (id:??) landed as
https://crrev.com/365a6fe2125dd821db7df698778fc05f3099bcff
Cr-Commit-Position: refs/heads/master@{#393331}

Powered by Google App Engine
This is Rietveld 408576698