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

Issue 11316171: Don't create render passes for transparent images. (Closed)

Created:
8 years ago by slavi
Modified:
8 years ago
CC:
chromium-reviews, cc-bugs_chromium.org
Visibility:
Public.

Description

Don't create render passes for transparent images. That patch speeds up Google Maps use-case smoke test by a factor of 10x. It also reduces memory pressure on the GPU. See the related bugs for more info. BUG=161434, 160871 Committed: https://src.chromium.org/viewvc/chrome?view=rev&revision=170487

Patch Set 1 #

Total comments: 3

Patch Set 2 : Addressing code review. #

Total comments: 2

Patch Set 3 : Fixed unit tests. #

Patch Set 4 : Rebase. #

Patch Set 5 : Added unit test. #

Patch Set 6 : Fixed a subtle bug (thanks James =-) #

Patch Set 7 : Removed descendantDrawsContent. #

Patch Set 8 : Added net/third_party/nss/ssl/ssl3ecc.c changes by accident. #

Total comments: 2

Patch Set 9 : Addressing code review. #

Total comments: 3

Patch Set 10 : Addressing code reviews. #

Total comments: 1

Patch Set 11 : DelegatedRendererLayerImpl::descendantsDrawContent returns 2 if it has content. #

Patch Set 12 : Rebase. #

Patch Set 13 : Rebase. #

Unified diffs Side-by-side diffs Delta from patch set Stats (+77 lines, -26 lines) Patch
M cc/damage_tracker_unittest.cc View 1 2 3 4 5 6 7 8 9 3 chunks +3 lines, -0 lines 0 comments Download
M cc/delegated_renderer_layer_impl.h View 1 2 3 4 5 6 7 8 9 1 chunk +1 line, -1 line 0 comments Download
M cc/delegated_renderer_layer_impl.cc View 1 2 3 4 5 6 7 8 9 10 1 chunk +2 lines, -2 lines 0 comments Download
M cc/layer.h View 1 2 3 4 5 6 7 8 9 1 chunk +4 lines, -2 lines 0 comments Download
M cc/layer.cc View 1 2 3 4 5 6 7 8 9 1 chunk +8 lines, -4 lines 0 comments Download
M cc/layer_impl.h View 1 2 3 4 5 6 7 8 9 4 chunks +8 lines, -4 lines 0 comments Download
M cc/layer_impl.cc View 1 2 3 4 5 6 7 8 9 1 chunk +8 lines, -4 lines 0 comments Download
M cc/layer_iterator_unittest.cc View 1 2 3 4 5 6 7 8 9 1 chunk +2 lines, -1 line 0 comments Download
M cc/layer_tree_host_common.cc View 1 2 3 4 5 6 7 8 9 10 11 12 2 chunks +7 lines, -6 lines 0 comments Download
M cc/layer_tree_host_common_unittest.cc View 1 2 3 4 5 6 7 8 9 10 11 12 5 chunks +29 lines, -0 lines 0 comments Download
M cc/layer_tree_host_impl_unittest.cc View 1 2 3 4 5 6 7 8 9 3 chunks +5 lines, -2 lines 0 comments Download

Messages

Total messages: 38 (0 generated)
slavi
8 years ago (2012-11-26 18:30:11 UTC) #1
danakj
https://codereview.chromium.org/11316171/diff/1/cc/layer_tree_host_common.cc File cc/layer_tree_host_common.cc (right): https://codereview.chromium.org/11316171/diff/1/cc/layer_tree_host_common.cc#newcode490 cc/layer_tree_host_common.cc:490: if (layer->parent()) { This should be replaced with a ...
8 years ago (2012-11-26 18:35:26 UTC) #2
danakj
+shawn
8 years ago (2012-11-26 18:36:32 UTC) #3
shawnsingh
Nice one slavi@ =) https://codereview.chromium.org/11316171/diff/1/cc/layer_tree_host_common.cc File cc/layer_tree_host_common.cc (right): https://codereview.chromium.org/11316171/diff/1/cc/layer_tree_host_common.cc#newcode490 cc/layer_tree_host_common.cc:490: if (layer->parent()) { On 2012/11/26 ...
8 years ago (2012-11-26 18:52:57 UTC) #4
shawnsingh
Also, given this is a bugfix, I think we ought to add a unit-test for ...
8 years ago (2012-11-26 18:55:54 UTC) #5
slavi
On 2012/11/26 18:35:26, danakj wrote: > https://codereview.chromium.org/11316171/diff/1/cc/layer_tree_host_common.cc > File cc/layer_tree_host_common.cc (right): > > https://codereview.chromium.org/11316171/diff/1/cc/layer_tree_host_common.cc#newcode490 > ...
8 years ago (2012-11-26 18:56:06 UTC) #6
danakj
A test would be good, yes :) There are cases where it is known that ...
8 years ago (2012-11-26 18:57:34 UTC) #7
slavi
On 2012/11/26 18:55:54, shawnsingh wrote: > Also, given this is a bugfix, I think we ...
8 years ago (2012-11-26 18:57:43 UTC) #8
shawnsingh
One more thing for now... https://codereview.chromium.org/11316171/diff/6002/cc/layer_tree_host_common.cc File cc/layer_tree_host_common.cc (right): https://codereview.chromium.org/11316171/diff/6002/cc/layer_tree_host_common.cc#newcode497 cc/layer_tree_host_common.cc:497: if (layer->parent() && !layer->parent()->renderSurface()) ...
8 years ago (2012-11-26 19:03:08 UTC) #9
danakj
https://codereview.chromium.org/11316171/diff/6002/cc/layer_tree_host_common.cc File cc/layer_tree_host_common.cc (right): https://codereview.chromium.org/11316171/diff/6002/cc/layer_tree_host_common.cc#newcode497 cc/layer_tree_host_common.cc:497: if (layer->parent() && !layer->parent()->renderSurface()) { On 2012/11/26 19:03:08, shawnsingh ...
8 years ago (2012-11-26 19:09:44 UTC) #10
slavi
PTAL I've added a unit test that verifies that we don't create a render passes ...
8 years ago (2012-11-26 23:19:02 UTC) #11
jamesr
https://codereview.chromium.org/11316171/diff/6008/cc/delegated_renderer_layer_impl.cc File cc/delegated_renderer_layer_impl.cc (left): https://codereview.chromium.org/11316171/diff/6008/cc/delegated_renderer_layer_impl.cc#oldcode32 cc/delegated_renderer_layer_impl.cc:32: return !m_renderPassesInDrawOrder.isEmpty(); is this logic preserved somewhere or just ...
8 years ago (2012-11-27 01:34:45 UTC) #12
slavi
On 2012/11/27 01:34:45, jamesr wrote: > https://codereview.chromium.org/11316171/diff/6008/cc/delegated_renderer_layer_impl.cc > File cc/delegated_renderer_layer_impl.cc (left): > > https://codereview.chromium.org/11316171/diff/6008/cc/delegated_renderer_layer_impl.cc#oldcode32 > ...
8 years ago (2012-11-27 01:45:49 UTC) #13
jamesr
Makes sense. lgtm
8 years ago (2012-11-27 01:46:35 UTC) #14
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/skaslev@chromium.org/11316171/12
8 years ago (2012-11-27 01:47:28 UTC) #15
danakj
https://chromiumcodereview.appspot.com/11316171/diff/12/cc/layer.h File cc/layer.h (left): https://chromiumcodereview.appspot.com/11316171/diff/12/cc/layer.h#oldcode270 cc/layer.h:270: bool descendantDrawsContent(); You should replace this with numDescendantsThatDrawContent() and ...
8 years ago (2012-11-27 01:52:16 UTC) #16
slavi
On 2012/11/27 01:52:16, danakj wrote: > https://chromiumcodereview.appspot.com/11316171/diff/12/cc/layer.h > File cc/layer.h (left): > > https://chromiumcodereview.appspot.com/11316171/diff/12/cc/layer.h#oldcode270 > ...
8 years ago (2012-11-27 01:57:36 UTC) #17
danakj
Though.. even better would be bool hasMoreThan1DescendantThatDrawsContent(), since that is what the function does. One ...
8 years ago (2012-11-27 01:57:49 UTC) #18
danakj
On 2012/11/27 01:57:36, slavi wrote: > On 2012/11/27 01:52:16, danakj wrote: > > https://chromiumcodereview.appspot.com/11316171/diff/12/cc/layer.h > ...
8 years ago (2012-11-27 01:59:52 UTC) #19
jamesr
Why don't DelegatedRendererLayer(Impl) just override drawsContent() ?
8 years ago (2012-11-27 02:30:30 UTC) #20
danakj
On 2012/11/27 02:30:30, jamesr wrote: > Why don't DelegatedRendererLayer(Impl) just override drawsContent() ? Right, we ...
8 years ago (2012-11-27 02:36:34 UTC) #21
jamesr
On 2012/11/27 02:36:34, danakj wrote: > On 2012/11/27 02:30:30, jamesr wrote: > > Why don't ...
8 years ago (2012-11-27 02:42:35 UTC) #22
danakj
On 2012/11/27 02:42:35, jamesr wrote: > On 2012/11/27 02:36:34, danakj wrote: > > On 2012/11/27 ...
8 years ago (2012-11-27 03:38:37 UTC) #23
shawnsingh
https://chromiumcodereview.appspot.com/11316171/diff/12/cc/layer_tree_host_common.cc File cc/layer_tree_host_common.cc (right): https://chromiumcodereview.appspot.com/11316171/diff/12/cc/layer_tree_host_common.cc#newcode284 cc/layer_tree_host_common.cc:284: && (layer->drawsContent() || numDescendantsDrawContent > 1)) Sorry, I'm not ...
8 years ago (2012-11-27 07:16:09 UTC) #24
jamesr
How about having "Layer::hasOverlapingQuads" ? Shawn - the idea here is if a layer has ...
8 years ago (2012-11-27 17:57:53 UTC) #25
shawnsingh
On 2012/11/27 17:57:53, jamesr wrote: > How about having "Layer::hasOverlapingQuads" ? > > Shawn - ...
8 years ago (2012-11-27 18:52:38 UTC) #26
shawnsingh
In particular, if a layer drawsContent but no children do, I don't think we need ...
8 years ago (2012-11-27 18:54:34 UTC) #27
piman
On Tue, Nov 27, 2012 at 10:54 AM, <shawnsingh@chromium.org> wrote: > In particular, if a ...
8 years ago (2012-11-27 23:53:36 UTC) #28
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/skaslev@chromium.org/11316171/14007
8 years ago (2012-11-28 22:44:36 UTC) #29
danakj
https://chromiumcodereview.appspot.com/11316171/diff/14007/cc/delegated_renderer_layer_impl.cc File cc/delegated_renderer_layer_impl.cc (right): https://chromiumcodereview.appspot.com/11316171/diff/14007/cc/delegated_renderer_layer_impl.cc#newcode32 cc/delegated_renderer_layer_impl.cc:32: return m_renderPassesInDrawOrder.isEmpty() ? 0 : 1; This should be ...
8 years ago (2012-11-28 22:48:11 UTC) #30
slavi
On 2012/11/28 22:48:11, danakj wrote: > https://chromiumcodereview.appspot.com/11316171/diff/14007/cc/delegated_renderer_layer_impl.cc > File cc/delegated_renderer_layer_impl.cc (right): > > https://chromiumcodereview.appspot.com/11316171/diff/14007/cc/delegated_renderer_layer_impl.cc#newcode32 > ...
8 years ago (2012-11-28 22:52:41 UTC) #31
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/skaslev@chromium.org/11316171/5025
8 years ago (2012-11-28 22:54:09 UTC) #32
commit-bot: I haz the power
Sorry for I got bad news for ya. Compile failed with a clobber build on ...
8 years ago (2012-11-28 23:58:36 UTC) #33
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/skaslev@chromium.org/11316171/12021
8 years ago (2012-11-29 00:45:29 UTC) #34
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/skaslev@chromium.org/11316171/5028
8 years ago (2012-11-29 18:25:01 UTC) #35
commit-bot: I haz the power
Retried try job too often on win_aura for step(s) content_browsertests
8 years ago (2012-11-29 23:52:00 UTC) #36
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/skaslev@chromium.org/11316171/5028
8 years ago (2012-11-30 17:50:13 UTC) #37
commit-bot: I haz the power
8 years ago (2012-11-30 18:24:58 UTC) #38
Message was sent while issue was closed.
Change committed as 170487

Powered by Google App Engine
This is Rietveld 408576698