Clean up transform tree logic for cc property trees |
||||||||
Issue description- Remove target related information, including target_id and to/from_target cache - Snapping to screen space - Use screen space transform for content scale
,
Mar 24 2016
,
May 2 2016
I will start working on snapping and content scale.
,
May 17 2016
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/d0d98d0dcf5e3758a604f4c5e61a75166b0e57f7 commit d0d98d0dcf5e3758a604f4c5e61a75166b0e57f7 Author: sunxd <sunxd@chromium.org> Date: Tue May 17 22:25:09 2016 cc: Use to_screen transform for scroll offset snapping As part of the process of cleaning up transform tree logic, target space transform is not going to live in the transform tree, so scroll snapping has to snap screen space transform instead. BUG= 597721 CQ_INCLUDE_TRYBOTS=tryserver.blink:linux_blink_rel Review-Url: https://codereview.chromium.org/1979273002 Cr-Commit-Position: refs/heads/master@{#394245} [modify] https://crrev.com/d0d98d0dcf5e3758a604f4c5e61a75166b0e57f7/cc/trees/layer_tree_host_unittest_scroll.cc [modify] https://crrev.com/d0d98d0dcf5e3758a604f4c5e61a75166b0e57f7/cc/trees/property_tree.cc
,
May 27 2016
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/c5d4fb49b677d6c68687dd3dcca8c0000d786169 commit c5d4fb49b677d6c68687dd3dcca8c0000d786169 Author: sunxd <sunxd@chromium.org> Date: Fri May 27 04:40:09 2016 cc: Use ScreenSpaceTransform to determine content scale ScreenSpaceTransform should be used to determine the ideal content scale as TargetSpaceTransform will no longer be cached in transform tree. Because of the way sublayer scale works, the scale component of TargetSpaceTransform is the same as the scale component of ScreenSpaceTransform. The switching results in a different behavior because of snapping float transforms, thus a manual rebaseline is needed for layout test. BUG= 597721 CQ_INCLUDE_TRYBOTS=tryserver.blink:linux_blink_rel Review-Url: https://codereview.chromium.org/2011063002 Cr-Commit-Position: refs/heads/master@{#396389} [modify] https://crrev.com/c5d4fb49b677d6c68687dd3dcca8c0000d786169/cc/layers/layer_impl.cc [modify] https://crrev.com/c5d4fb49b677d6c68687dd3dcca8c0000d786169/cc/layers/picture_image_layer_impl_unittest.cc [modify] https://crrev.com/c5d4fb49b677d6c68687dd3dcca8c0000d786169/cc/layers/picture_layer_impl_unittest.cc [modify] https://crrev.com/c5d4fb49b677d6c68687dd3dcca8c0000d786169/cc/test/layer_tree_host_common_test.cc [modify] https://crrev.com/c5d4fb49b677d6c68687dd3dcca8c0000d786169/cc/trees/layer_tree_host_common_unittest.cc [modify] https://crrev.com/c5d4fb49b677d6c68687dd3dcca8c0000d786169/third_party/WebKit/LayoutTests/TestExpectations
,
May 27 2016
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/09eed2eb60380427101b6e802bc14a44bbf38b2e commit 09eed2eb60380427101b6e802bc14a44bbf38b2e Author: Rebaseline Bot <blink-rebaseline-bot@chromium.org> Date: Fri May 27 06:39:11 2016 Auto-rebaseline for r396389 https://chromium.googlesource.com/chromium/src/+/c5d4fb49b BUG= 597721 TBR=sunxd@chromium.org Review URL: https://codereview.chromium.org/2017033002 . Cr-Commit-Position: refs/heads/master@{#396409} [modify] https://crrev.com/09eed2eb60380427101b6e802bc14a44bbf38b2e/third_party/WebKit/LayoutTests/TestExpectations [modify] https://crrev.com/09eed2eb60380427101b6e802bc14a44bbf38b2e/third_party/WebKit/LayoutTests/compositing/overflow/nested-render-surfaces-with-rotation-expected.png
,
Jun 9 2016
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/2c5f8d42b4bc2282953fb4c724831b8d7aac98f1 commit 2c5f8d42b4bc2282953fb4c724831b8d7aac98f1 Author: sunxd <sunxd@chromium.org> Date: Thu Jun 09 20:05:41 2016 cc: Put to_target and to_screen behind an accessor. Target-related information will eventually be removed from transform tree and computed when needed. This CL wraps the target-related information in transform tree in an accessor, so that we can hide the implementations of the accessor, thus we can make the code work with either the old way or the new way of computing the information each time we need it. BUG= 597721 CQ_INCLUDE_TRYBOTS=tryserver.blink:linux_blink_rel Review-Url: https://codereview.chromium.org/2032213002 Cr-Commit-Position: refs/heads/master@{#398989} [modify] https://crrev.com/2c5f8d42b4bc2282953fb4c724831b8d7aac98f1/cc/proto/property_tree.proto [modify] https://crrev.com/2c5f8d42b4bc2282953fb4c724831b8d7aac98f1/cc/trees/draw_property_utils.cc [modify] https://crrev.com/2c5f8d42b4bc2282953fb4c724831b8d7aac98f1/cc/trees/property_tree.cc [modify] https://crrev.com/2c5f8d42b4bc2282953fb4c724831b8d7aac98f1/cc/trees/property_tree.h [modify] https://crrev.com/2c5f8d42b4bc2282953fb4c724831b8d7aac98f1/cc/trees/property_tree_builder.cc [modify] https://crrev.com/2c5f8d42b4bc2282953fb4c724831b8d7aac98f1/cc/trees/property_tree_unittest.cc [modify] https://crrev.com/2c5f8d42b4bc2282953fb4c724831b8d7aac98f1/third_party/WebKit/Source/platform/graphics/compositing/PaintArtifactCompositor.cpp
,
Jun 15 2016
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/2c5f8d42b4bc2282953fb4c724831b8d7aac98f1 commit 2c5f8d42b4bc2282953fb4c724831b8d7aac98f1 Author: sunxd <sunxd@chromium.org> Date: Thu Jun 09 20:05:41 2016 cc: Put to_target and to_screen behind an accessor. Target-related information will eventually be removed from transform tree and computed when needed. This CL wraps the target-related information in transform tree in an accessor, so that we can hide the implementations of the accessor, thus we can make the code work with either the old way or the new way of computing the information each time we need it. BUG= 597721 CQ_INCLUDE_TRYBOTS=tryserver.blink:linux_blink_rel Review-Url: https://codereview.chromium.org/2032213002 Cr-Commit-Position: refs/heads/master@{#398989} [modify] https://crrev.com/2c5f8d42b4bc2282953fb4c724831b8d7aac98f1/cc/proto/property_tree.proto [modify] https://crrev.com/2c5f8d42b4bc2282953fb4c724831b8d7aac98f1/cc/trees/draw_property_utils.cc [modify] https://crrev.com/2c5f8d42b4bc2282953fb4c724831b8d7aac98f1/cc/trees/property_tree.cc [modify] https://crrev.com/2c5f8d42b4bc2282953fb4c724831b8d7aac98f1/cc/trees/property_tree.h [modify] https://crrev.com/2c5f8d42b4bc2282953fb4c724831b8d7aac98f1/cc/trees/property_tree_builder.cc [modify] https://crrev.com/2c5f8d42b4bc2282953fb4c724831b8d7aac98f1/cc/trees/property_tree_unittest.cc [modify] https://crrev.com/2c5f8d42b4bc2282953fb4c724831b8d7aac98f1/third_party/WebKit/Source/platform/graphics/compositing/PaintArtifactCompositor.cpp
,
Jun 22 2016
,
Jun 27 2016
,
Jun 28 2016
,
Jul 29 2016
,
Aug 22 2016
Xianda, what's the status of this bug?
,
Aug 22 2016
I'm kinda stuck at the performance stage. We have approximately 7% perf regression on impl side cdp, due to hash map access time and not reusing cache efficiently. We are not using efficiently because recently there's a change to compute draw transforms even if target node is a descendant of the source transform node. I'm still working around with that. After resolving the regression, we might want to stop adding transform node for render surfaces. But that's blocked by clip tree de-targeting.
,
Aug 22 2016
More precisely, this bug is blocked by crbug.com/624120 which is at the perf test stage as I mentioned on the above comment.
,
Oct 26 2016
jaydasika@, can we closing this bug now?
,
Oct 26 2016
|
||||||||
►
Sign in to add a comment |
||||||||
Comment 1 by weiliangc@chromium.org
, Mar 24 2016