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

Issue 8368013: Improve Aura overdraw by changing hole calculation (Closed)

Created:
9 years, 2 months ago by pkotwicz
Modified:
9 years, 1 month ago
CC:
chromium-reviews, tfarina, jam, dpranke-watch+content_chromium.org, joi+watch-content_chromium.org, darin-cc_chromium.org, Paweł Hajdan Jr., James Su, dhollowa
Visibility:
Public.

Description

This patch lets the browser window punch a hole in the DesktopBackgroundView, thus eliminating overdraw. To do this, the hole punching logic was changed to look at the entire tree. Drawing the screen is a preorder traversal through all the layers. Thus, to compute the hole, we have to look at all of the layers after a particular layer in the preorder traversal. This is not an efficient algorithm, but it is simplest I could come up with. Plus we will be moving to the WebKit compositor soon. Hopefully this will improve the frame rate for the Aura demos Note: I will put the changes to Transform into another patch. Committed: http://src.chromium.org/viewvc/chrome?view=rev&revision=107360 Committed: http://src.chromium.org/viewvc/chrome?view=rev&revision=107440 Committed: http://src.chromium.org/viewvc/chrome?view=rev&revision=110107

Patch Set 1 #

Patch Set 2 : Nicer diff #

Patch Set 3 : a #

Patch Set 4 : Nicer diff #

Total comments: 6

Patch Set 5 : Changes as requested #

Patch Set 6 : Nicer diff #

Patch Set 7 : Get rid of transform in diff #

Patch Set 8 : Nicer diff #

Total comments: 5

Patch Set 9 : Changes as requested #

Patch Set 10 : Changes as requested #

Patch Set 11 : Nicer diff #

Patch Set 12 : Nicer diff #

Total comments: 11

Patch Set 13 : Changes as requested #

Total comments: 2

Patch Set 14 : Fixed views_unittests #

Patch Set 15 : Relanding patch #

Patch Set 16 : Fixed views_unittests #

Patch Set 17 : Resetting git state #

Unified diffs Side-by-side diffs Delta from patch set Stats (+325 lines, -73 lines) Patch
M ui/gfx/compositor/layer.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 4 chunks +29 lines, -5 lines 0 comments Download
M ui/gfx/compositor/layer.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 14 chunks +108 lines, -66 lines 0 comments Download
M ui/gfx/compositor/layer_unittest.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 4 chunks +178 lines, -2 lines 0 comments Download
M views/view_unittest.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 3 chunks +10 lines, -0 lines 0 comments Download

Messages

Total messages: 23 (0 generated)
pkotwicz
This patch lets the browser window punch a hole in the DesktopBackgroundView, thus eliminating overdraw. ...
9 years, 2 months ago (2011-10-21 22:53:41 UTC) #1
pkotwicz
9 years, 2 months ago (2011-10-21 23:00:03 UTC) #2
Emmanuel Saint-loubert-Bié
Groovy :-) thanks.
9 years, 2 months ago (2011-10-21 23:11:28 UTC) #3
Ian Vollick
On 2011/10/21 23:11:28, Emmanuel Saint-loubert wrote: > Groovy :-) thanks. Nice! Just have a couple ...
9 years, 2 months ago (2011-10-22 01:05:25 UTC) #4
Ian Vollick
Sorry for the spam. Here are those comments. http://codereview.chromium.org/8368013/diff/2008/ui/gfx/compositor/layer.cc File ui/gfx/compositor/layer.cc (right): http://codereview.chromium.org/8368013/diff/2008/ui/gfx/compositor/layer.cc#newcode374 ui/gfx/compositor/layer.cc:374: layer_traversal[j]->GetCombinedOpacity()) ...
9 years, 2 months ago (2011-10-22 01:06:03 UTC) #5
sky
Looks like the webkit compositor has landed. Do we still need this change?
9 years, 2 months ago (2011-10-24 14:58:00 UTC) #6
jonathan.backer
On 2011/10/24 14:58:00, sky wrote: > Looks like the webkit compositor has landed. Do we ...
9 years, 2 months ago (2011-10-24 15:09:23 UTC) #7
sky
http://codereview.chromium.org/8368013/diff/2008/ui/gfx/compositor/layer.cc File ui/gfx/compositor/layer.cc (right): http://codereview.chromium.org/8368013/diff/2008/ui/gfx/compositor/layer.cc#newcode336 ui/gfx/compositor/layer.cc:336: void Layer::RecomputeHole() { I don't like all the tree ...
9 years, 2 months ago (2011-10-24 15:44:52 UTC) #8
piman
On 2011/10/24 15:09:23, jonathan.backer wrote: > On 2011/10/24 14:58:00, sky wrote: > > Looks like ...
9 years, 2 months ago (2011-10-24 16:32:46 UTC) #9
pkotwicz
9 years, 2 months ago (2011-10-24 22:20:12 UTC) #10
pkotwicz
Tested with webkit compositor.
9 years, 2 months ago (2011-10-24 22:46:21 UTC) #11
sky
http://codereview.chromium.org/8368013/diff/12002/ui/gfx/compositor/layer.cc File ui/gfx/compositor/layer.cc (right): http://codereview.chromium.org/8368013/diff/12002/ui/gfx/compositor/layer.cc#newcode428 ui/gfx/compositor/layer.cc:428: for (size_t i = 0; i < layer_traversal.size(); i++) ...
9 years, 2 months ago (2011-10-24 23:25:50 UTC) #12
pkotwicz
Changes as requested. Tested patch on low end hardware with Aura. And this improved the ...
9 years, 1 month ago (2011-10-25 21:17:24 UTC) #13
sky
http://codereview.chromium.org/8368013/diff/16005/ui/gfx/compositor/layer.cc File ui/gfx/compositor/layer.cc (right): http://codereview.chromium.org/8368013/diff/16005/ui/gfx/compositor/layer.cc#newcode410 ui/gfx/compositor/layer.cc:410: const ui::Transform& current_transform, float current_opacity) { each param on ...
9 years, 1 month ago (2011-10-25 21:44:09 UTC) #14
pkotwicz
9 years, 1 month ago (2011-10-25 23:58:15 UTC) #15
sky
LGTM http://codereview.chromium.org/8368013/diff/21017/ui/gfx/compositor/layer.h File ui/gfx/compositor/layer.h (right): http://codereview.chromium.org/8368013/diff/21017/ui/gfx/compositor/layer.h#newcode197 ui/gfx/compositor/layer.h:197: public: Indentation is off here. Should be like ...
9 years, 1 month ago (2011-10-26 00:08:28 UTC) #16
sky
'our params' -> out params
9 years, 1 month ago (2011-10-26 00:08:39 UTC) #17
pkotwicz
Fixed views_unittests. No other changes. Making sure change is still ok
9 years, 1 month ago (2011-10-26 17:54:59 UTC) #18
pkotwicz
9 years, 1 month ago (2011-10-26 19:59:23 UTC) #19
sky
LGTM
9 years, 1 month ago (2011-10-26 21:03:14 UTC) #20
pkotwicz
Relanding now that http://codereview.chromium.org/8418035/ has landed
9 years, 1 month ago (2011-11-09 21:41:49 UTC) #21
pkotwicz
Relanding now that http://codereview.chromium.org/8418035/ has landed
9 years, 1 month ago (2011-11-09 21:46:34 UTC) #22
sky
9 years, 1 month ago (2011-11-14 21:49:48 UTC) #23
SLGTM

Powered by Google App Engine
This is Rietveld 408576698