New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.

Issue 600509 link

Starred by 1 user

Issue metadata

Status: Fixed
Owner:
Closed: Apr 2016
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: All
Pri: 2
Type: Bug

Blocking:
issue 557194



Sign in to add a comment

Switch from subtree-should-be-skipped to layer-should-be-skipped on main thread

Project Member Reported by sunxd@chromium.org, Apr 4 2016

Issue description

We only fixed the impl side subtree-should-be-skipped issue ( crbug.com/592440 ) because we thought the main thread is blocked by SetHideLayerAndSubtree. But in fact, the function only sets the opacity of the hidden layer, and we do skip layers when their screen_space_opacity is 0, so we are still able to make layer iterator skip those layers before we figure out what to do with SetHideLayerAndSubtree.

This bug is used to track the change.
 
Project Member

Comment 1 by bugdroid1@chromium.org, Apr 8 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/0f10629e6702683168b2ce68fa2e50d2a5594f25

commit 0f10629e6702683168b2ce68fa2e50d2a5594f25
Author: sunxd <sunxd@chromium.org>
Date: Fri Apr 08 15:26:48 2016

cc: Main thread skip single layers instead of subtrees

This is a mirror change of issue 1811423002 on the main
thread. After getting rid of tree hierarchy in LayerTreeHost,
we won't be able to skip subtrees, instead we skip every
single layer.

The behavior remains unchanged: a layer is skipped when it
meets the legacy subtree-skipping criteria or one of its
ancestors meets.

The follow-up patch will remove CallFunctionForEveryLayer and
use the iterator instead.

BUG= 600509 
CQ_INCLUDE_TRYBOTS=tryserver.blink:linux_blink_rel

Review URL: https://codereview.chromium.org/1864183002

Cr-Commit-Position: refs/heads/master@{#386083}

[modify] https://crrev.com/0f10629e6702683168b2ce68fa2e50d2a5594f25/cc/debug/debug_rect_history.cc
[modify] https://crrev.com/0f10629e6702683168b2ce68fa2e50d2a5594f25/cc/debug/invalidation_benchmark.cc
[modify] https://crrev.com/0f10629e6702683168b2ce68fa2e50d2a5594f25/cc/debug/rasterize_and_record_benchmark.cc
[modify] https://crrev.com/0f10629e6702683168b2ce68fa2e50d2a5594f25/cc/debug/rasterize_and_record_benchmark_impl.cc
[modify] https://crrev.com/0f10629e6702683168b2ce68fa2e50d2a5594f25/cc/layers/layer_impl.h
[modify] https://crrev.com/0f10629e6702683168b2ce68fa2e50d2a5594f25/cc/layers/layer_proto_converter.cc
[modify] https://crrev.com/0f10629e6702683168b2ce68fa2e50d2a5594f25/cc/layers/layer_utils.cc
[modify] https://crrev.com/0f10629e6702683168b2ce68fa2e50d2a5594f25/cc/proto/property_tree.proto
[modify] https://crrev.com/0f10629e6702683168b2ce68fa2e50d2a5594f25/cc/test/layer_tree_host_common_test.cc
[modify] https://crrev.com/0f10629e6702683168b2ce68fa2e50d2a5594f25/cc/trees/draw_property_utils.cc
[modify] https://crrev.com/0f10629e6702683168b2ce68fa2e50d2a5594f25/cc/trees/draw_property_utils.h
[modify] https://crrev.com/0f10629e6702683168b2ce68fa2e50d2a5594f25/cc/trees/layer_tree_host.cc
[modify] https://crrev.com/0f10629e6702683168b2ce68fa2e50d2a5594f25/cc/trees/layer_tree_host_common.cc
[modify] https://crrev.com/0f10629e6702683168b2ce68fa2e50d2a5594f25/cc/trees/layer_tree_host_common.h
[modify] https://crrev.com/0f10629e6702683168b2ce68fa2e50d2a5594f25/cc/trees/layer_tree_host_impl.cc
[modify] https://crrev.com/0f10629e6702683168b2ce68fa2e50d2a5594f25/cc/trees/layer_tree_host_unittest.cc
[modify] https://crrev.com/0f10629e6702683168b2ce68fa2e50d2a5594f25/cc/trees/layer_tree_host_unittest_serialization.cc
[modify] https://crrev.com/0f10629e6702683168b2ce68fa2e50d2a5594f25/cc/trees/layer_tree_impl.cc
[modify] https://crrev.com/0f10629e6702683168b2ce68fa2e50d2a5594f25/cc/trees/property_tree.cc
[modify] https://crrev.com/0f10629e6702683168b2ce68fa2e50d2a5594f25/cc/trees/property_tree.h
[modify] https://crrev.com/0f10629e6702683168b2ce68fa2e50d2a5594f25/cc/trees/property_tree_unittest.cc

Comment 2 by sunxd@chromium.org, Apr 13 2016

Status: Fixed (was: Assigned)
The main thread subtree skipping logic is now switched into layer skipping. I'll open another bug to track the change of removing CallFunctionForEveryLayer

Sign in to add a comment