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

Issue 1494223003: cc: Shrink size of display item (Closed)

Created:
5 years ago by enne (OOO)
Modified:
5 years ago
Reviewers:
danakj, chrishtr, vmpstr
CC:
cc-bugs_chromium.org, chromium-reviews
Base URL:
https://chromium.googlesource.com/chromium/src.git@master
Target Ref:
refs/pending/heads/master
Project:
chromium
Visibility:
Public.

Description

cc: Shrink size of display item This removes all of the base class members from display item and instead calculates them during allocation. This is done by processing each item as it is added, which requires passing in all the ctor args to CreateAndAppendItem. This reduces the size of all display items by 16 bytes so that the largest is now "only" 80 bytes and the smallest is 8. Also, DisplayItemList had a bug where it would allocate an item, (maybe) process all added items, and then SetNew on that last item. In that case, the processing would skip the final item because it was just a newly allocated item. This patch fixes that by the above changes to CreateAndAppendItem. R=vmpstr@chromium.org,chrishtr@chromium.org CQ_INCLUDE_TRYBOTS=tryserver.blink:linux_blink_rel Committed: https://crrev.com/3b006fb5a67c9e9bc0adf3f68d72a10afa221198 Cr-Commit-Position: refs/heads/master@{#364437}

Patch Set 1 #

Patch Set 2 : Make ui compile too oops #

Total comments: 5

Patch Set 3 : Address vmpstr; no virtuals #

Patch Set 4 : Make SetNew private #

Total comments: 23

Patch Set 5 : Rebase #

Patch Set 6 : Now with more moving #

Patch Set 7 : danakj review #

Total comments: 4

Patch Set 8 : danakj review #

Patch Set 9 : Fix some compilation issues in ui oops #

Unified diffs Side-by-side diffs Delta from patch set Stats (+496 lines, -553 lines) Patch
M cc/blink/web_display_item_list_impl.cc View 1 2 3 4 5 6 7 8 7 chunks +25 lines, -42 lines 0 comments Download
M cc/layers/picture_image_layer.cc View 1 chunk +2 lines, -3 lines 0 comments Download
M cc/playback/clip_display_item.h View 1 2 3 4 5 6 7 2 chunks +15 lines, -6 lines 0 comments Download
M cc/playback/clip_display_item.cc View 1 2 3 4 5 6 7 5 chunks +30 lines, -29 lines 0 comments Download
M cc/playback/clip_path_display_item.h View 1 2 3 4 5 6 7 3 chunks +13 lines, -5 lines 0 comments Download
M cc/playback/clip_path_display_item.cc View 1 2 3 4 5 6 7 6 chunks +36 lines, -30 lines 0 comments Download
M cc/playback/compositing_display_item.h View 1 2 3 4 5 6 7 3 chunks +19 lines, -8 lines 0 comments Download
M cc/playback/compositing_display_item.cc View 1 2 3 4 5 6 7 6 chunks +44 lines, -37 lines 0 comments Download
M cc/playback/display_item.h View 1 2 3 4 5 6 7 1 chunk +2 lines, -22 lines 0 comments Download
M cc/playback/display_item_list.h View 1 2 3 4 5 6 7 4 chunks +18 lines, -25 lines 0 comments Download
M cc/playback/display_item_list.cc View 1 2 3 4 5 6 12 chunks +20 lines, -70 lines 0 comments Download
M cc/playback/display_item_list_unittest.cc View 1 2 28 chunks +43 lines, -83 lines 0 comments Download
M cc/playback/display_item_proto_factory.h View 1 chunk +3 lines, -3 lines 0 comments Download
M cc/playback/display_item_proto_factory.cc View 1 chunk +27 lines, -15 lines 0 comments Download
M cc/playback/drawing_display_item.h View 1 2 3 4 5 6 7 1 chunk +9 lines, -3 lines 0 comments Download
M cc/playback/drawing_display_item.cc View 1 2 3 4 5 6 7 4 chunks +35 lines, -19 lines 0 comments Download
M cc/playback/filter_display_item.h View 1 2 3 4 5 6 7 3 chunks +13 lines, -5 lines 0 comments Download
M cc/playback/filter_display_item.cc View 1 2 3 4 5 6 7 4 chunks +29 lines, -28 lines 0 comments Download
M cc/playback/float_clip_display_item.h View 1 2 3 4 5 6 7 2 chunks +13 lines, -5 lines 0 comments Download
M cc/playback/float_clip_display_item.cc View 1 2 3 4 5 6 7 6 chunks +24 lines, -20 lines 0 comments Download
M cc/playback/transform_display_item.h View 1 2 3 4 5 6 7 2 chunks +13 lines, -5 lines 0 comments Download
M cc/playback/transform_display_item.cc View 1 2 3 4 5 6 7 6 chunks +24 lines, -20 lines 0 comments Download
M cc/test/fake_content_layer_client.cc View 1 2 3 chunks +9 lines, -16 lines 0 comments Download
M cc/test/solid_color_content_layer_client.cc View 1 2 3 4 5 6 1 chunk +2 lines, -4 lines 0 comments Download
M cc/trees/layer_tree_host_pixeltest_masks.cc View 1 2 3 chunks +6 lines, -17 lines 0 comments Download
M cc/trees/layer_tree_host_pixeltest_tiles.cc View 1 2 1 chunk +2 lines, -7 lines 0 comments Download
M ui/compositor/clip_recorder.cc View 1 2 3 4 3 chunks +6 lines, -9 lines 0 comments Download
M ui/compositor/compositing_recorder.cc View 1 2 3 4 1 chunk +3 lines, -4 lines 0 comments Download
M ui/compositor/paint_cache.h View 1 2 3 4 1 chunk +1 line, -1 line 0 comments Download
M ui/compositor/paint_cache.cc View 1 2 3 4 5 6 7 8 1 chunk +4 lines, -5 lines 0 comments Download
M ui/compositor/paint_recorder.cc View 1 1 chunk +4 lines, -4 lines 0 comments Download
M ui/compositor/transform_recorder.cc View 1 2 3 4 5 6 7 8 1 chunk +2 lines, -3 lines 0 comments Download

Messages

Total messages: 30 (7 generated)
enne (OOO)
I could have probably fixed the processing bug first and then after removed the debug ...
5 years ago (2015-12-03 20:15:38 UTC) #2
enne (OOO)
5 years ago (2015-12-03 23:34:41 UTC) #4
chrishtr
This undoes optimizations made in patches like https://chromium.googlesource.com/chromium/src/+/b929714ec046700f577c5ecc098767e8b74b9f77. Right? Will this hurt record time?
5 years ago (2015-12-04 00:34:22 UTC) #5
vmpstr
https://codereview.chromium.org/1494223003/diff/20001/cc/playback/clip_display_item.h File cc/playback/clip_display_item.h (right): https://codereview.chromium.org/1494223003/diff/20001/cc/playback/clip_display_item.h#newcode27 cc/playback/clip_display_item.h:27: void SetNew(gfx::Rect clip_rect, Are the SetNew functions in all ...
5 years ago (2015-12-04 00:43:09 UTC) #6
danakj
https://codereview.chromium.org/1494223003/diff/20001/cc/trees/layer_tree_host_pixeltest_tiles.cc File cc/trees/layer_tree_host_pixeltest_tiles.cc (right): https://codereview.chromium.org/1494223003/diff/20001/cc/trees/layer_tree_host_pixeltest_tiles.cc#newcode137 cc/trees/layer_tree_host_pixeltest_tiles.cc:137: std::move(picture)); On 2015/12/04 00:43:09, vmpstr wrote: > For all ...
5 years ago (2015-12-04 00:53:55 UTC) #7
vmpstr
https://codereview.chromium.org/1494223003/diff/20001/cc/trees/layer_tree_host_pixeltest_tiles.cc File cc/trees/layer_tree_host_pixeltest_tiles.cc (right): https://codereview.chromium.org/1494223003/diff/20001/cc/trees/layer_tree_host_pixeltest_tiles.cc#newcode137 cc/trees/layer_tree_host_pixeltest_tiles.cc:137: std::move(picture)); On 2015/12/04 00:53:54, danakj (behind on reviews) wrote: ...
5 years ago (2015-12-04 01:24:29 UTC) #8
danakj
https://codereview.chromium.org/1494223003/diff/20001/cc/trees/layer_tree_host_pixeltest_tiles.cc File cc/trees/layer_tree_host_pixeltest_tiles.cc (right): https://codereview.chromium.org/1494223003/diff/20001/cc/trees/layer_tree_host_pixeltest_tiles.cc#newcode137 cc/trees/layer_tree_host_pixeltest_tiles.cc:137: std::move(picture)); On 2015/12/04 01:24:28, vmpstr wrote: > On 2015/12/04 ...
5 years ago (2015-12-04 01:24:54 UTC) #9
enne (OOO)
PTAL On 2015/12/04 at 00:34:22, chrishtr wrote: > This undoes optimizations made in patches like ...
5 years ago (2015-12-04 19:53:30 UTC) #10
enne (OOO)
...ping?
5 years ago (2015-12-08 18:54:08 UTC) #11
vmpstr
lgtm https://codereview.chromium.org/1494223003/diff/60001/cc/playback/drawing_display_item.cc File cc/playback/drawing_display_item.cc (right): https://codereview.chromium.org/1494223003/diff/60001/cc/playback/drawing_display_item.cc#newcode42 cc/playback/drawing_display_item.cc:42: picture_ = picture; Still move to save on ...
5 years ago (2015-12-08 19:07:02 UTC) #12
danakj
https://codereview.chromium.org/1494223003/diff/60001/cc/playback/clip_display_item.cc File cc/playback/clip_display_item.cc (right): https://codereview.chromium.org/1494223003/diff/60001/cc/playback/clip_display_item.cc#newcode21 cc/playback/clip_display_item.cc:21: gfx::Rect clip_rect, This should be const Rect& https://codereview.chromium.org/1494223003/diff/60001/cc/playback/clip_display_item.cc#newcode30 cc/playback/clip_display_item.cc:30: ...
5 years ago (2015-12-08 19:18:16 UTC) #13
enne (OOO)
Thanks, PTAL https://codereview.chromium.org/1494223003/diff/60001/cc/playback/clip_display_item.h File cc/playback/clip_display_item.h (right): https://codereview.chromium.org/1494223003/diff/60001/cc/playback/clip_display_item.h#newcode28 cc/playback/clip_display_item.h:28: void FromProtobuf(const proto::DisplayItem& proto) override; On 2015/12/08 ...
5 years ago (2015-12-08 19:47:27 UTC) #14
danakj
https://codereview.chromium.org/1494223003/diff/120001/cc/playback/display_item.h File cc/playback/display_item.h (right): https://codereview.chromium.org/1494223003/diff/120001/cc/playback/display_item.h#newcode36 cc/playback/display_item.h:36: virtual void FromProtobuf(const proto::DisplayItem& proto) = 0; Why is ...
5 years ago (2015-12-08 19:52:04 UTC) #15
enne (OOO)
PTAL https://codereview.chromium.org/1494223003/diff/120001/cc/playback/display_item.h File cc/playback/display_item.h (right): https://codereview.chromium.org/1494223003/diff/120001/cc/playback/display_item.h#newcode36 cc/playback/display_item.h:36: virtual void FromProtobuf(const proto::DisplayItem& proto) = 0; On ...
5 years ago (2015-12-08 20:00:59 UTC) #16
enne (OOO)
chrishtr, danakj: you both responded here previously. Did you have any other comments?
5 years ago (2015-12-09 22:57:52 UTC) #17
danakj
oops sorry LGTM
5 years ago (2015-12-09 22:59:34 UTC) #18
chrishtr
lgtm
5 years ago (2015-12-09 23:21:32 UTC) #19
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1494223003/160001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1494223003/160001
5 years ago (2015-12-09 23:38:06 UTC) #22
commit-bot: I haz the power
Try jobs failed on following builders: linux_android_rel_ng on tryserver.chromium.linux (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.linux/builders/linux_android_rel_ng/builds/108158)
5 years ago (2015-12-10 03:59:52 UTC) #24
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1494223003/160001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1494223003/160001
5 years ago (2015-12-10 18:30:29 UTC) #26
commit-bot: I haz the power
Committed patchset #9 (id:160001)
5 years ago (2015-12-10 19:50:30 UTC) #27
commit-bot: I haz the power
Patchset 9 (id:??) landed as https://crrev.com/3b006fb5a67c9e9bc0adf3f68d72a10afa221198 Cr-Commit-Position: refs/heads/master@{#364437}
5 years ago (2015-12-10 19:51:25 UTC) #29
enne (OOO)
5 years ago (2015-12-14 22:03:29 UTC) #30
Message was sent while issue was closed.
A revert of this CL (patchset #9 id:160001) has been created in
https://codereview.chromium.org/1521373005/ by enne@chromium.org.

The reason for reverting is: Causes regression in smoothness benchmark.

I think issue 513016 probably needs to be fixed before
turning on display list rasterization, for this reason.

BUG=569021.

Powered by Google App Engine
This is Rietveld 408576698