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

Issue 1418573002: cc: Add image decode control in the compositor. (Closed)

Created:
5 years, 2 months ago by vmpstr
Modified:
4 years, 11 months ago
CC:
aelias_OOO_until_Jul13, cblume, 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: Add image decode control in the compositor. This patch reworks ImageDecodeController and the surrounding system to give control over image decodes to the compositor. Perf note: This is disabled on android, and should only affect desktop. That being said, this patch changes the behavior with respect to image decodes, so some perf changes are expected. BUG=516751 R=enne, reed1 CQ_INCLUDE_TRYBOTS=tryserver.blink:linux_blink_rel Committed: https://crrev.com/9dd810a16253140466189823394288ed60dfbb30 Cr-Commit-Position: refs/heads/master@{#370188}

Patch Set 1 #

Patch Set 2 : #

Patch Set 3 : #

Patch Set 4 : update #

Patch Set 5 : #

Total comments: 1

Patch Set 6 : #

Total comments: 5

Patch Set 7 : #

Patch Set 8 : #

Patch Set 9 : #

Patch Set 10 : rebase #

Patch Set 11 : #

Patch Set 12 : #

Patch Set 13 : #

Patch Set 14 : #

Patch Set 15 : #

Patch Set 16 : #

Patch Set 17 : update #

Patch Set 18 : #

Patch Set 19 : #

Patch Set 20 : #

Total comments: 28

Patch Set 21 : +tests #

Patch Set 22 : #

Patch Set 23 : update #

Total comments: 10

Patch Set 24 : rebase #

Patch Set 25 : handle paint bounds #

Patch Set 26 : #

Patch Set 27 : #

Patch Set 28 : update #

Patch Set 29 : #

Patch Set 30 : #

Total comments: 29

Patch Set 31 : #

Patch Set 32 : #

Total comments: 2

Patch Set 33 : #

Patch Set 34 : rebase #

Patch Set 35 : #

Patch Set 36 : fix fast/borders/border-image-width-numbers.html #

Patch Set 37 : rebase #

Patch Set 38 : try with none filter quality #

Patch Set 39 : don't handle negative scales #

Patch Set 40 : #

Patch Set 41 : test expectations #

Patch Set 42 : rebase #

Patch Set 43 : rebase #

Patch Set 44 : rebase #

Unified diffs Side-by-side diffs Delta from patch set Stats (+2212 lines, -129 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 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 3 chunks +3 lines, -0 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 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 2 chunks +2 lines, -0 lines 0 comments Download
M cc/cc_tests.gyp 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 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 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 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 1 chunk +6 lines, -0 lines 0 comments Download
A cc/playback/decoded_draw_image.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 25 26 27 28 1 chunk +59 lines, -0 lines 0 comments Download
M cc/playback/discardable_image_map.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 25 26 27 28 29 30 31 32 33 34 35 36 1 chunk +15 lines, -0 lines 0 comments Download
M cc/playback/discardable_image_map.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 25 26 27 28 29 30 31 32 33 34 35 36 5 chunks +90 lines, -22 lines 0 comments Download
M cc/playback/display_item_list.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 25 26 27 28 29 30 31 32 33 34 35 36 37 1 chunk +1 line, -0 lines 0 comments Download
M cc/playback/display_item_list.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 25 26 27 28 29 30 31 32 33 34 35 36 1 chunk +4 lines, -0 lines 0 comments Download
M cc/playback/display_list_raster_source.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 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 3 chunks +9 lines, -0 lines 0 comments Download
M cc/playback/display_list_raster_source.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 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 5 chunks +201 lines, -8 lines 0 comments Download
M cc/playback/draw_image.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 25 26 1 chunk +19 lines, -6 lines 0 comments Download
A cc/playback/draw_image.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 25 26 1 chunk +36 lines, -0 lines 0 comments Download
M cc/tiles/image_decode_controller.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 25 26 27 28 29 30 31 32 33 34 35 1 chunk +225 lines, -22 lines 0 comments Download
M cc/tiles/image_decode_controller.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 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 3 chunks +672 lines, -57 lines 0 comments Download
A cc/tiles/image_decode_controller_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 24 25 26 1 chunk +822 lines, -0 lines 0 comments Download
M cc/tiles/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 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 2 chunks +6 lines, -0 lines 0 comments Download
M cc/tiles/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 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 9 chunks +27 lines, -11 lines 0 comments Download
M content/renderer/render_thread_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 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 1 chunk +6 lines, -3 lines 0 comments Download
M third_party/WebKit/LayoutTests/TestExpectations 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 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 1 chunk +8 lines, -0 lines 0 comments Download

Messages

Total messages: 43 (14 generated)
vmpstr
Hey, can you peeps take a look at this? This isn't landable, because we need ...
5 years, 1 month ago (2015-10-26 22:17:00 UTC) #4
reed1
https://codereview.chromium.org/1418573002/diff/80001/cc/playback/display_list_raster_source.cc File cc/playback/display_list_raster_source.cc (right): https://codereview.chromium.org/1418573002/diff/80001/cc/playback/display_list_raster_source.cc#newcode65 cc/playback/display_list_raster_source.cc:65: SkNWayCanvas::scale(1.f / (decoded_image.scale_adjustment().width()), Is scale_adjustment = scaled_version.width / original_version ...
5 years, 1 month ago (2015-10-27 17:35:07 UTC) #5
enne (OOO)
Can you leave some more comments in general about how this works in the code? ...
5 years, 1 month ago (2015-10-29 22:59:46 UTC) #6
vmpstr
I've updated this quite a bit since the last review. Please take a look. This ...
5 years ago (2015-12-01 18:25:51 UTC) #9
enne (OOO)
https://codereview.chromium.org/1418573002/diff/420001/cc/layers/picture_layer_impl.cc File cc/layers/picture_layer_impl.cc (right): https://codereview.chromium.org/1418573002/diff/420001/cc/layers/picture_layer_impl.cc#newcode541 cc/layers/picture_layer_impl.cc:541: // Only set the image decode controller when we're ...
5 years ago (2015-12-02 23:33:25 UTC) #10
vmpstr
ptal https://codereview.chromium.org/1418573002/diff/420001/cc/layers/picture_layer_impl.cc File cc/layers/picture_layer_impl.cc (right): https://codereview.chromium.org/1418573002/diff/420001/cc/layers/picture_layer_impl.cc#newcode541 cc/layers/picture_layer_impl.cc:541: // Only set the image decode controller when ...
5 years ago (2015-12-03 21:20:23 UTC) #11
ericrk
https://codereview.chromium.org/1418573002/diff/480001/cc/playback/decoded_draw_image.h File cc/playback/decoded_draw_image.h (right): https://codereview.chromium.org/1418573002/diff/480001/cc/playback/decoded_draw_image.h#newcode41 cc/playback/decoded_draw_image.h:41: SkSize scale_adjustment_; const? same below. https://codereview.chromium.org/1418573002/diff/480001/cc/playback/display_list_raster_source.cc File cc/playback/display_list_raster_source.cc (right): ...
5 years ago (2015-12-04 00:50:46 UTC) #13
vmpstr
https://codereview.chromium.org/1418573002/diff/480001/cc/playback/display_list_raster_source.cc File cc/playback/display_list_raster_source.cc (right): https://codereview.chromium.org/1418573002/diff/480001/cc/playback/display_list_raster_source.cc#newcode26 cc/playback/display_list_raster_source.cc:26: return false; This is debug code :D
5 years ago (2015-12-04 01:05:54 UTC) #14
vmpstr
Please take another look. I've updated this and I think I've addressed most comments.
5 years ago (2015-12-08 21:11:22 UTC) #16
ericrk
https://codereview.chromium.org/1418573002/diff/620001/cc/playback/discardable_image_map.h File cc/playback/discardable_image_map.h (right): https://codereview.chromium.org/1418573002/diff/620001/cc/playback/discardable_image_map.h#newcode33 cc/playback/discardable_image_map.h:33: bool ComputeNewRectFromPaintBounds( nit: name is a bit weird, as ...
5 years ago (2015-12-08 21:34:26 UTC) #17
reed1
lgtm w/ a comment/suggestion https://codereview.chromium.org/1418573002/diff/620001/cc/tiles/image_decode_controller.cc File cc/tiles/image_decode_controller.cc (right): https://codereview.chromium.org/1418573002/diff/620001/cc/tiles/image_decode_controller.cc#newcode290 cc/tiles/image_decode_controller.cc:290: ImageDecodeController::DecodeImageInternal(const ImageKey& key, I think ...
5 years ago (2015-12-08 22:01:18 UTC) #18
vmpstr
https://codereview.chromium.org/1418573002/diff/620001/cc/tiles/image_decode_controller.cc File cc/tiles/image_decode_controller.cc (right): https://codereview.chromium.org/1418573002/diff/620001/cc/tiles/image_decode_controller.cc#newcode290 cc/tiles/image_decode_controller.cc:290: ImageDecodeController::DecodeImageInternal(const ImageKey& key, On 2015/12/08 22:01:18, reed1 wrote: > ...
5 years ago (2015-12-08 22:04:49 UTC) #19
ericrk
lgtm lgtm https://codereview.chromium.org/1418573002/diff/620001/cc/tiles/image_decode_controller.cc File cc/tiles/image_decode_controller.cc (right): https://codereview.chromium.org/1418573002/diff/620001/cc/tiles/image_decode_controller.cc#newcode310 cc/tiles/image_decode_controller.cc:310: // see if transporting it in the ...
5 years ago (2015-12-08 22:12:23 UTC) #20
enne (OOO)
https://codereview.chromium.org/1418573002/diff/620001/cc/playback/discardable_image_map.h File cc/playback/discardable_image_map.h (right): https://codereview.chromium.org/1418573002/diff/620001/cc/playback/discardable_image_map.h#newcode35 cc/playback/discardable_image_map.h:35: const SkPaint* paint, Maybe calling this arg "current_paint" would ...
5 years ago (2015-12-08 23:27:24 UTC) #21
aelias_OOO_until_Jul13
https://codereview.chromium.org/1418573002/diff/620001/cc/tiles/image_decode_controller.h File cc/tiles/image_decode_controller.h (right): https://codereview.chromium.org/1418573002/diff/620001/cc/tiles/image_decode_controller.h#newcode224 cc/tiles/image_decode_controller.h:224: bool ShouldDecodeAndScaleImage(const ImageKey& key, const DrawImage& image); CanHandleImage(); https://codereview.chromium.org/1418573002/diff/620001/cc/tiles/image_decode_controller.h#newcode237 ...
5 years ago (2015-12-09 00:09:48 UTC) #23
reed1
https://codereview.chromium.org/1418573002/diff/620001/cc/tiles/image_decode_controller.cc File cc/tiles/image_decode_controller.cc (right): https://codereview.chromium.org/1418573002/diff/620001/cc/tiles/image_decode_controller.cc#newcode290 cc/tiles/image_decode_controller.cc:290: ImageDecodeController::DecodeImageInternal(const ImageKey& key, On 2015/12/08 22:04:49, vmpstr wrote: > ...
5 years ago (2015-12-09 16:03:04 UTC) #24
vmpstr
Addressed most comments. Let me know if I missed something. https://codereview.chromium.org/1418573002/diff/620001/cc/playback/discardable_image_map.h File cc/playback/discardable_image_map.h (right): https://codereview.chromium.org/1418573002/diff/620001/cc/playback/discardable_image_map.h#newcode33 ...
5 years ago (2015-12-09 23:53:41 UTC) #25
enne (OOO)
https://codereview.chromium.org/1418573002/diff/620001/cc/playback/display_list_raster_source.cc File cc/playback/display_list_raster_source.cc (right): https://codereview.chromium.org/1418573002/diff/620001/cc/playback/display_list_raster_source.cc#newcode63 cc/playback/display_list_raster_source.cc:63: return; On 2015/12/09 at 23:53:41, vmpstr wrote: > On ...
5 years ago (2015-12-10 00:07:16 UTC) #26
vmpstr
PTAL https://codereview.chromium.org/1418573002/diff/620001/cc/playback/display_list_raster_source.cc File cc/playback/display_list_raster_source.cc (right): https://codereview.chromium.org/1418573002/diff/620001/cc/playback/display_list_raster_source.cc#newcode63 cc/playback/display_list_raster_source.cc:63: return; On 2015/12/10 00:07:16, enne wrote: > On ...
5 years ago (2015-12-10 00:47:03 UTC) #27
enne (OOO)
Are all the layout test passing now too?
5 years ago (2015-12-10 01:38:06 UTC) #28
vmpstr
On 2015/12/10 01:38:06, enne wrote: > Are all the layout test passing now too? The ...
5 years ago (2015-12-10 23:31:52 UTC) #29
vmpstr
I think this is ready for another review. After several iterations with this patch and ...
4 years, 11 months ago (2016-01-11 22:13:01 UTC) #30
enne (OOO)
lgtm
4 years, 11 months ago (2016-01-12 19:19:27 UTC) #31
vmpstr
+piman for content/
4 years, 11 months ago (2016-01-13 19:45:40 UTC) #34
piman
LGTM
4 years, 11 months ago (2016-01-13 21:12:58 UTC) #35
vmpstr
(i will land this after the branch)
4 years, 11 months ago (2016-01-13 21:52:03 UTC) #36
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1418573002/900001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1418573002/900001
4 years, 11 months ago (2016-01-19 20:00:24 UTC) #39
commit-bot: I haz the power
Committed patchset #44 (id:900001)
4 years, 11 months ago (2016-01-19 21:16:18 UTC) #41
commit-bot: I haz the power
4 years, 11 months ago (2016-01-19 21:17:32 UTC) #43
Message was sent while issue was closed.
Patchset 44 (id:??) landed as
https://crrev.com/9dd810a16253140466189823394288ed60dfbb30
Cr-Commit-Position: refs/heads/master@{#370188}

Powered by Google App Engine
This is Rietveld 408576698