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

Issue 2724083002: [SPv2] Decomposite otherwise-compositable animations that paint nothing. (Closed)

Created:
3 years, 9 months ago by wkorman
Modified:
3 years, 8 months ago
CC:
ajuma+watch_chromium.org, darktears, blink-reviews, blink-reviews-animation_chromium.org, blink-reviews-frames_chromium.org, blink-reviews-layout_chromium.org, blink-reviews-paint_chromium.org, blink-reviews-platform-graphics_chromium.org, Rik, chromium-reviews, danakj+watch_chromium.org, dshwang, drott+blinkwatch_chromium.org, krit, eae+blinkwatch, Eric Willigers, fmalita+watch_chromium.org, fs, gyuyoung2, jbroman, jchaffraix+rendering, Justin Novosad, kinuko+watch, kouhei+svg_chromium.org, leviw+renderwatch, pdr+renderingwatchlist_chromium.org, pdr+graphicswatchlist_chromium.org, pdr+svgwatchlist_chromium.org, rjwright, rwlbuis, Stephen Chennney, shans, szager+layoutwatch_chromium.org, zoltan1
Target Ref:
refs/heads/master
Project:
chromium
Visibility:
Public.

Description

[SPv2] Decomposite otherwise-compositable animations that paint nothing. In SPv1 we create cc layers for composited animations even if they paint no content. In SPv2, we only create cc layers when something is painted, a.k.a., there is a PaintChunk. This means that in SPv1 we could be assured that a composited animation that painted no content would still have a cc layer with the animation's compositor element id set on it, but in SPv2 such an animation will have no cc layer and accordingly it is impossible to run it as a composited animation. In SPv2, we choose to not composite such animations. To do otherwise would require: 1. code complexity to identify when this is the case, through a dummy PaintChunk or similar, and ensure that we create a cc layer even though there's nothing in need of painting. 2. compositor resource overhead to maintain a layer solely for the purpose of executing a composited animation even though it is not producing any visible content. BUG=692310 CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.linux:linux_layout_tests_slimming_paint_v2 Review-Url: https://codereview.chromium.org/2724083002 Cr-Commit-Position: refs/heads/master@{#462748} Committed: https://chromium.googlesource.com/chromium/src/+/efeb13b3ba0f7604fe7f61a69d83870d1a5f51fa

Patch Set 1 #

Patch Set 2 : Progress. #

Total comments: 14

Patch Set 3 : Clean up after initial review. #

Total comments: 3

Patch Set 4 : More include tweaks. #

Total comments: 7

Patch Set 5 : Code review feedback. #

Patch Set 6 : Sync to head. #

Patch Set 7 : Progress on tests. #

Patch Set 8 : Add unit tests. #

Total comments: 2

Patch Set 9 : Remove logging. #

Patch Set 10 : Sync to head. #

Patch Set 11 : Update expectations. #

Unified diffs Side-by-side diffs Delta from patch set Stats (+258 lines, -72 lines) Patch
M third_party/WebKit/LayoutTests/FlagExpectations/enable-slimming-paint-v2 View 1 2 3 4 5 6 7 8 9 10 2 chunks +9 lines, -4 lines 0 comments Download
M third_party/WebKit/LayoutTests/animations/resources/composited-animation-test.js View 1 2 3 4 5 6 7 8 3 chunks +12 lines, -7 lines 0 comments Download
M third_party/WebKit/LayoutTests/virtual/threaded/animations/composited-animation-independent-transform-cancel.html View 1 2 3 4 5 6 1 chunk +3 lines, -0 lines 0 comments Download
M third_party/WebKit/LayoutTests/virtual/threaded/animations/compositor-independent-transform-properties.html View 1 2 3 4 5 6 1 chunk +3 lines, -0 lines 0 comments Download
M third_party/WebKit/Source/core/animation/Animation.h View 1 2 3 4 chunks +11 lines, -5 lines 0 comments Download
M third_party/WebKit/Source/core/animation/Animation.cpp View 1 2 3 4 5 6 7 8 9 5 chunks +34 lines, -10 lines 0 comments Download
M third_party/WebKit/Source/core/animation/AnimationTest.cpp View 1 2 3 4 5 6 7 3 chunks +38 lines, -3 lines 0 comments Download
M third_party/WebKit/Source/core/animation/AnimationTimelineTest.cpp View 1 1 chunk +2 lines, -1 line 0 comments Download
M third_party/WebKit/Source/core/animation/CompositorAnimationsTest.cpp View 1 2 3 4 5 1 chunk +2 lines, -1 line 0 comments Download
M third_party/WebKit/Source/core/animation/CompositorPendingAnimations.h View 1 2 3 2 chunks +7 lines, -2 lines 0 comments Download
M third_party/WebKit/Source/core/animation/CompositorPendingAnimations.cpp View 1 2 2 chunks +4 lines, -2 lines 0 comments Download
M third_party/WebKit/Source/core/animation/DocumentAnimations.h View 1 2 3 2 chunks +4 lines, -1 line 0 comments Download
M third_party/WebKit/Source/core/animation/DocumentAnimations.cpp View 1 2 1 chunk +3 lines, -2 lines 0 comments Download
M third_party/WebKit/Source/core/animation/EffectStackTest.cpp View 1 1 chunk +2 lines, -1 line 0 comments Download
M third_party/WebKit/Source/core/frame/FrameView.h View 1 2 3 4 5 6 7 8 9 3 chunks +4 lines, -2 lines 0 comments Download
M third_party/WebKit/Source/core/frame/FrameView.cpp View 1 2 3 4 5 6 7 8 9 3 chunks +11 lines, -9 lines 0 comments Download
M third_party/WebKit/Source/core/layout/compositing/PaintLayerCompositor.cpp View 1 2 3 4 5 6 7 8 9 2 chunks +4 lines, -1 line 0 comments Download
M third_party/WebKit/Source/core/paint/PaintPropertyTreeBuilder.cpp View 1 2 3 4 5 6 7 8 9 1 chunk +2 lines, -0 lines 0 comments Download
M third_party/WebKit/Source/core/svg/graphics/SVGImage.cpp View 1 2 3 4 5 6 7 8 9 1 chunk +3 lines, -1 line 0 comments Download
M third_party/WebKit/Source/platform/graphics/CompositorElementId.h View 1 2 3 2 chunks +32 lines, -0 lines 0 comments Download
M third_party/WebKit/Source/platform/graphics/compositing/PaintArtifactCompositor.h View 1 2 3 4 5 6 7 8 9 1 chunk +6 lines, -1 line 0 comments Download
M third_party/WebKit/Source/platform/graphics/compositing/PaintArtifactCompositor.cpp View 1 2 3 4 5 6 7 8 9 2 chunks +8 lines, -2 lines 0 comments Download
M third_party/WebKit/Source/platform/graphics/compositing/PaintArtifactCompositorTest.cpp View 1 2 3 4 5 6 7 8 9 6 chunks +54 lines, -17 lines 0 comments Download

Messages

Total messages: 52 (33 generated)
wkorman
Needs cleanup and add'l tests but I wanted feedback on general approach. More background in ...
3 years, 9 months ago (2017-03-15 08:57:11 UTC) #5
pdr.
https://codereview.chromium.org/2724083002/diff/20001/third_party/WebKit/Source/core/animation/Animation.h File third_party/WebKit/Source/core/animation/Animation.h (right): https://codereview.chromium.org/2724083002/diff/20001/third_party/WebKit/Source/core/animation/Animation.h#newcode34 third_party/WebKit/Source/core/animation/Animation.h:34: #include <memory> It took me a little while to ...
3 years, 9 months ago (2017-03-16 21:20:05 UTC) #8
wkorman
Thanks for feedback, replies: https://codereview.chromium.org/2724083002/diff/20001/third_party/WebKit/Source/core/animation/Animation.h File third_party/WebKit/Source/core/animation/Animation.h (right): https://codereview.chromium.org/2724083002/diff/20001/third_party/WebKit/Source/core/animation/Animation.h#newcode34 third_party/WebKit/Source/core/animation/Animation.h:34: #include <memory> On 2017/03/16 21:20:04, ...
3 years, 9 months ago (2017-03-16 21:53:32 UTC) #9
pdr.
https://codereview.chromium.org/2724083002/diff/20001/third_party/WebKit/Source/core/frame/FrameView.cpp File third_party/WebKit/Source/core/frame/FrameView.cpp (right): https://codereview.chromium.org/2724083002/diff/20001/third_party/WebKit/Source/core/frame/FrameView.cpp#newcode3107 third_party/WebKit/Source/core/frame/FrameView.cpp:3107: compositedAnimationElementIds.emplace(); On 2017/03/16 at 21:53:31, wkorman wrote: > On ...
3 years, 9 months ago (2017-03-16 22:16:01 UTC) #12
wkorman
https://codereview.chromium.org/2724083002/diff/20001/third_party/WebKit/Source/core/frame/FrameView.cpp File third_party/WebKit/Source/core/frame/FrameView.cpp (right): https://codereview.chromium.org/2724083002/diff/20001/third_party/WebKit/Source/core/frame/FrameView.cpp#newcode3108 third_party/WebKit/Source/core/frame/FrameView.cpp:3108: pushPaintArtifactToCompositor(compositedAnimationElementIds.value()); On 2017/03/16 22:16:01, pdr. wrote: > On 2017/03/16 ...
3 years, 9 months ago (2017-03-16 22:32:25 UTC) #13
alancutter (OOO until 2018)
core/animation/ lgtm after comments addressed. https://codereview.chromium.org/2724083002/diff/60001/third_party/WebKit/Source/core/animation/Animation.cpp File third_party/WebKit/Source/core/animation/Animation.cpp (right): https://codereview.chromium.org/2724083002/diff/60001/third_party/WebKit/Source/core/animation/Animation.cpp#newcode739 third_party/WebKit/Source/core/animation/Animation.cpp:739: // which case we ...
3 years, 9 months ago (2017-03-20 06:21:09 UTC) #18
wkorman
Still looking at unit tests but wanted to reply to alan's comments. https://codereview.chromium.org/2724083002/diff/40001/third_party/WebKit/LayoutTests/FlagExpectations/enable-slimming-paint-v2 File third_party/WebKit/LayoutTests/FlagExpectations/enable-slimming-paint-v2 ...
3 years, 9 months ago (2017-03-20 22:32:33 UTC) #19
alancutter (OOO until 2018)
https://codereview.chromium.org/2724083002/diff/40001/third_party/WebKit/LayoutTests/FlagExpectations/enable-slimming-paint-v2 File third_party/WebKit/LayoutTests/FlagExpectations/enable-slimming-paint-v2 (left): https://codereview.chromium.org/2724083002/diff/40001/third_party/WebKit/LayoutTests/FlagExpectations/enable-slimming-paint-v2#oldcode1344 third_party/WebKit/LayoutTests/FlagExpectations/enable-slimming-paint-v2:1344: crbug.com/674317 virtual/threaded/transitions/opacity-transition-zindex.html [ Timeout ] On 2017/03/20 at 22:32:33, ...
3 years, 9 months ago (2017-03-21 00:32:13 UTC) #22
wkorman
pdr@ -- PTAL, added unit tests to AnimationTest and PaintArtifactCompositorTest. https://codereview.chromium.org/2724083002/diff/40001/third_party/WebKit/LayoutTests/FlagExpectations/enable-slimming-paint-v2 File third_party/WebKit/LayoutTests/FlagExpectations/enable-slimming-paint-v2 (left): https://codereview.chromium.org/2724083002/diff/40001/third_party/WebKit/LayoutTests/FlagExpectations/enable-slimming-paint-v2#oldcode1344 ...
3 years, 9 months ago (2017-03-24 19:24:55 UTC) #29
pdr.
LGTM https://codereview.chromium.org/2724083002/diff/140001/third_party/WebKit/LayoutTests/animations/resources/composited-animation-test.js File third_party/WebKit/LayoutTests/animations/resources/composited-animation-test.js (right): https://codereview.chromium.org/2724083002/diff/140001/third_party/WebKit/LayoutTests/animations/resources/composited-animation-test.js#newcode113 third_party/WebKit/LayoutTests/animations/resources/composited-animation-test.js:113: // console.log('Creating test instance [duration=' + duration + ...
3 years, 9 months ago (2017-03-24 20:37:47 UTC) #30
wkorman
https://codereview.chromium.org/2724083002/diff/140001/third_party/WebKit/LayoutTests/animations/resources/composited-animation-test.js File third_party/WebKit/LayoutTests/animations/resources/composited-animation-test.js (right): https://codereview.chromium.org/2724083002/diff/140001/third_party/WebKit/LayoutTests/animations/resources/composited-animation-test.js#newcode113 third_party/WebKit/LayoutTests/animations/resources/composited-animation-test.js:113: // console.log('Creating test instance [duration=' + duration + ', ...
3 years, 9 months ago (2017-03-24 20:59:26 UTC) #31
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/2724083002/160001
3 years, 9 months ago (2017-03-24 21:02:50 UTC) #34
commit-bot: I haz the power
Try jobs failed on following builders: linux_layout_tests_slimming_paint_v2 on master.tryserver.chromium.linux (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.linux/builders/linux_layout_tests_slimming_paint_v2/builds/3488)
3 years, 9 months ago (2017-03-24 22:24:01 UTC) #36
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/2724083002/160001
3 years, 9 months ago (2017-03-24 23:34:59 UTC) #38
commit-bot: I haz the power
Try jobs failed on following builders: linux_layout_tests_slimming_paint_v2 on master.tryserver.chromium.linux (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.linux/builders/linux_layout_tests_slimming_paint_v2/builds/3493)
3 years, 9 months ago (2017-03-25 00:39:24 UTC) #40
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/2724083002/200001
3 years, 8 months ago (2017-04-07 01:27:25 UTC) #45
commit-bot: I haz the power
Try jobs failed on following builders: android_clang_dbg_recipe on master.tryserver.chromium.android (JOB_FAILED, https://build.chromium.org/p/tryserver.chromium.android/builders/android_clang_dbg_recipe/builds/243821)
3 years, 8 months ago (2017-04-07 02:34:53 UTC) #47
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/2724083002/200001
3 years, 8 months ago (2017-04-07 03:25:04 UTC) #49
commit-bot: I haz the power
3 years, 8 months ago (2017-04-07 04:44:46 UTC) #52
Message was sent while issue was closed.
Committed patchset #11 (id:200001) as
https://chromium.googlesource.com/chromium/src/+/efeb13b3ba0f7604fe7f61a69d83...

Powered by Google App Engine
This is Rietveld 408576698