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

Issue 2924233002: cc: Move pre-decodes to background worker. (Closed)

Created:
3 years, 6 months ago by Khushal
Modified:
3 years, 6 months ago
Reviewers:
vmpstr, enne (OOO)
CC:
cc-bugs_chromium.org, chromium-reviews
Target Ref:
refs/heads/master
Project:
chromium
Visibility:
Public.

Description

cc: Move pre-decoding for checkerable images to image worker. Currently images for pre-decoded but not pre-painted tiles are decoded on the background tile worker, even for checkerable images. This has the following downsides: 1) It creates cases where decoding of images for lower priority pre-decode tiles starts pre-empting a higher priority decode running on the image worker. 2) Since the checker image tracking is not aware of pre-decoded images, we still checker them when these tiles are first rasterized, even while the image could be currently locked in the decode cache. 3) If the image is in both pre-paint and pre-decode region, then we could be decoding them on both, the raster worker and image worker. This change moves decoding of checkerable images for these tiles to the image worker, similar to the rasterized tiles. While invalidating is not neccesary for these images, we use the same mechanism in order to generate tasks for uploading these images in the GPU cache. BUG=728796 CQ_INCLUDE_TRYBOTS=master.tryserver.blink:linux_trusty_blink_rel Review-Url: https://codereview.chromium.org/2924233002 Cr-Commit-Position: refs/heads/master@{#482062} Committed: https://chromium.googlesource.com/chromium/src/+/de93e30d4aa72f1c1a5c88e2aafba0021697b351

Patch Set 1 #

Patch Set 2 : rebase #

Patch Set 3 : .. #

Patch Set 4 : .. #

Patch Set 5 : .. #

Total comments: 8

Patch Set 6 : addressed comments #

Total comments: 14

Patch Set 7 : .. #

Patch Set 8 : .. #

Patch Set 9 : rebase #

Patch Set 10 : export #

Total comments: 10

Patch Set 11 : addressed comments #

Patch Set 12 : .. #

Patch Set 13 : test #

Patch Set 14 : rebase #

Patch Set 15 : flake is flaky. T_T #

Unified diffs Side-by-side diffs Delta from patch set Stats (+343 lines, -65 lines) Patch
M cc/paint/draw_image.h View 1 2 3 4 5 1 chunk +2 lines, -0 lines 0 comments Download
M cc/paint/draw_image.cc View 1 2 3 4 5 1 chunk +8 lines, -0 lines 0 comments Download
M cc/test/fake_layer_tree_host_impl_client.h View 1 2 3 4 5 6 7 8 2 chunks +10 lines, -2 lines 0 comments Download
M cc/test/fake_layer_tree_host_impl_client.cc View 1 2 3 4 5 6 1 chunk +8 lines, -0 lines 0 comments Download
M cc/test/layer_tree_test.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 2 chunks +2 lines, -0 lines 0 comments Download
M cc/test/test_hooks.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 1 chunk +2 lines, -0 lines 0 comments Download
M cc/tiles/checker_image_tracker.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 4 chunks +38 lines, -1 line 0 comments Download
M cc/tiles/checker_image_tracker.cc View 1 2 3 4 5 6 7 8 9 10 11 4 chunks +43 lines, -1 line 0 comments Download
M cc/tiles/checker_image_tracker_unittest.cc View 1 2 3 4 5 6 7 8 5 chunks +47 lines, -4 lines 0 comments Download
M cc/tiles/tile_manager.h View 1 2 3 4 5 3 chunks +22 lines, -1 line 0 comments Download
M cc/tiles/tile_manager.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 11 chunks +51 lines, -17 lines 0 comments Download
M cc/tiles/tile_manager_unittest.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 5 chunks +89 lines, -15 lines 0 comments Download
M cc/trees/layer_tree_host_unittest_checkerimaging.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 6 chunks +21 lines, -24 lines 0 comments Download

Messages

Total messages: 50 (29 generated)
Khushal
PTAL.
3 years, 6 months ago (2017-06-08 17:38:21 UTC) #5
enne (OOO)
https://codereview.chromium.org/2924233002/diff/80001/cc/tiles/tile_manager.cc File cc/tiles/tile_manager.cc (right): https://codereview.chromium.org/2924233002/diff/80001/cc/tiles/tile_manager.cc#newcode909 cc/tiles/tile_manager.cc:909: // Ensure that we don't schedule any pre-decode work ...
3 years, 6 months ago (2017-06-08 20:08:11 UTC) #6
Khushal
https://codereview.chromium.org/2924233002/diff/80001/cc/tiles/tile_manager.cc File cc/tiles/tile_manager.cc (right): https://codereview.chromium.org/2924233002/diff/80001/cc/tiles/tile_manager.cc#newcode909 cc/tiles/tile_manager.cc:909: // Ensure that we don't schedule any pre-decode work ...
3 years, 6 months ago (2017-06-08 20:34:15 UTC) #7
vmpstr
https://codereview.chromium.org/2924233002/diff/80001/cc/tiles/checker_image_tracker.cc File cc/tiles/checker_image_tracker.cc (right): https://codereview.chromium.org/2924233002/diff/80001/cc/tiles/checker_image_tracker.cc#newcode259 cc/tiles/checker_image_tracker.cc:259: if (!image_decode_queue_.empty() && Can you break this up a ...
3 years, 6 months ago (2017-06-12 21:45:30 UTC) #9
Khushal
https://codereview.chromium.org/2924233002/diff/80001/cc/tiles/checker_image_tracker.cc File cc/tiles/checker_image_tracker.cc (right): https://codereview.chromium.org/2924233002/diff/80001/cc/tiles/checker_image_tracker.cc#newcode259 cc/tiles/checker_image_tracker.cc:259: if (!image_decode_queue_.empty() && On 2017/06/12 21:45:30, vmpstr wrote: > ...
3 years, 6 months ago (2017-06-14 00:29:20 UTC) #10
Khushal
pingy.
3 years, 6 months ago (2017-06-20 17:45:35 UTC) #11
vmpstr
https://codereview.chromium.org/2924233002/diff/100001/cc/tiles/checker_image_tracker.h File cc/tiles/checker_image_tracker.h (right): https://codereview.chromium.org/2924233002/diff/100001/cc/tiles/checker_image_tracker.h#newcode38 cc/tiles/checker_image_tracker.h:38: kNone, This is an awkward name. Just from looking ...
3 years, 6 months ago (2017-06-20 18:41:02 UTC) #12
Khushal
https://codereview.chromium.org/2924233002/diff/100001/cc/tiles/checker_image_tracker.h File cc/tiles/checker_image_tracker.h (right): https://codereview.chromium.org/2924233002/diff/100001/cc/tiles/checker_image_tracker.h#newcode65 cc/tiles/checker_image_tracker.h:65: // The max decode priority type that is allowed ...
3 years, 6 months ago (2017-06-21 03:35:58 UTC) #13
Khushal
I moved the call we had discussed to PrepareTiles instead of ScheduleTasks so it does ...
3 years, 6 months ago (2017-06-21 23:45:28 UTC) #18
vmpstr
lgtm with nits https://codereview.chromium.org/2924233002/diff/180001/cc/tiles/checker_image_tracker.cc File cc/tiles/checker_image_tracker.cc (right): https://codereview.chromium.org/2924233002/diff/180001/cc/tiles/checker_image_tracker.cc#newcode64 cc/tiles/checker_image_tracker.cc:64: DCHECK_LE(decode_type, DecodeType::kLast); I'm a bit hesitant ...
3 years, 6 months ago (2017-06-22 16:57:58 UTC) #23
Khushal
https://codereview.chromium.org/2924233002/diff/180001/cc/tiles/checker_image_tracker.cc File cc/tiles/checker_image_tracker.cc (right): https://codereview.chromium.org/2924233002/diff/180001/cc/tiles/checker_image_tracker.cc#newcode64 cc/tiles/checker_image_tracker.cc:64: DCHECK_LE(decode_type, DecodeType::kLast); On 2017/06/22 16:57:57, vmpstr wrote: > I'm ...
3 years, 6 months ago (2017-06-22 20:11:52 UTC) #24
commit-bot: I haz the power
CQ is trying da patch. Follow status at: https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.org/2924233002/200001
3 years, 6 months ago (2017-06-22 20:12:27 UTC) #27
commit-bot: I haz the power
Try jobs failed on following builders: cast_shell_linux on master.tryserver.chromium.linux (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.linux/builders/cast_shell_linux/builds/394938) mac_chromium_compile_dbg_ng on master.tryserver.chromium.mac (JOB_FAILED, ...
3 years, 6 months ago (2017-06-22 20:22:55 UTC) #29
commit-bot: I haz the power
CQ is trying da patch. Follow status at: https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.org/2924233002/220001
3 years, 6 months ago (2017-06-22 20:58:47 UTC) #32
commit-bot: I haz the power
Try jobs failed on following builders: linux_chromium_tsan_rel_ng on master.tryserver.chromium.linux (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.linux/builders/linux_chromium_tsan_rel_ng/builds/102018)
3 years, 6 months ago (2017-06-22 22:17:52 UTC) #34
commit-bot: I haz the power
CQ is trying da patch. Follow status at: https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.org/2924233002/240001
3 years, 6 months ago (2017-06-23 05:17:29 UTC) #37
commit-bot: I haz the power
Try jobs failed on following builders: ios-device on master.tryserver.chromium.mac (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.mac/builders/ios-device/builds/238127) ios-device-xcode-clang on master.tryserver.chromium.mac (JOB_FAILED, ...
3 years, 6 months ago (2017-06-23 05:19:41 UTC) #39
commit-bot: I haz the power
CQ is trying da patch. Follow status at: https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.org/2924233002/260001
3 years, 6 months ago (2017-06-23 05:48:16 UTC) #42
commit-bot: I haz the power
Try jobs failed on following builders: android_arm64_dbg_recipe on master.tryserver.chromium.android (JOB_FAILED, https://build.chromium.org/p/tryserver.chromium.android/builders/android_arm64_dbg_recipe/builds/295147)
3 years, 6 months ago (2017-06-23 06:04:08 UTC) #44
commit-bot: I haz the power
CQ is trying da patch. Follow status at: https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.org/2924233002/280001
3 years, 6 months ago (2017-06-23 21:54:35 UTC) #47
commit-bot: I haz the power
3 years, 6 months ago (2017-06-23 23:04:02 UTC) #50
Message was sent while issue was closed.
Committed patchset #15 (id:280001) as
https://chromium.googlesource.com/chromium/src/+/de93e30d4aa72f1c1a5c88e2aafb...

Powered by Google App Engine
This is Rietveld 408576698