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

Issue 12221077: Fixing tile grid size used by cc:Picture to make it respect current tile configuration (Closed)

Created:
7 years, 10 months ago by Justin Novosad
Modified:
7 years, 9 months ago
Reviewers:
danakj, enne (OOO)
CC:
chromium-reviews, cc-bugs_chromium.org, robertphillips, bsalomon_chromium
Visibility:
Public.

Description

Fixing tile grid size used by cc:Picture to make it respect current tile configuration. And rolling skia DEPS to r7896 BUG=https://code.google.com/p/chromium/issues/detail?id=174965 TEST=telemetry scrolling tests with impl-side painting enabled. Committed: https://src.chromium.org/viewvc/chrome?view=rev&revision=185288

Patch Set 1 #

Total comments: 1

Patch Set 2 : revision #

Patch Set 3 : Build fix for picture_layer_impl_unittest #

Total comments: 2

Patch Set 4 : total re-write #

Patch Set 5 : minor edit #

Patch Set 6 : fixing unit test build #

Total comments: 1

Patch Set 7 : integration with skia-side changes #

Patch Set 8 : Fixing copy pasta #

Total comments: 1

Patch Set 9 : Fixed tile parameter calculations and added tests #

Patch Set 10 : lint fixes #

Patch Set 11 : fixing clang builds #

Total comments: 3

Patch Set 12 : response to comments #

Total comments: 1

Patch Set 13 : Patch for landing, include skia DEPS roll #

Patch Set 14 : roll to skia 7893 #

Patch Set 15 : update #

Patch Set 16 : Rolling skia to 7896 #

Unified diffs Side-by-side diffs Delta from patch set Stats (+160 lines, -26 lines) Patch
DEPS View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 1 chunk +1 line, -1 line 0 comments Download
cc/picture.h View 1 2 3 4 5 6 2 chunks +3 lines, -2 lines 0 comments Download
cc/picture.cc View 1 2 3 4 5 6 7 8 9 10 11 3 chunks +4 lines, -5 lines 0 comments Download
cc/picture_layer.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 1 chunk +4 lines, -2 lines 0 comments Download
cc/picture_layer_impl_unittest.cc View 1 2 3 4 5 6 7 8 9 10 11 12 8 chunks +94 lines, -5 lines 0 comments Download
cc/picture_pile.cc View 1 2 3 4 5 6 1 chunk +1 line, -1 line 0 comments Download
cc/picture_pile_base.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 2 chunks +3 lines, -0 lines 0 comments Download
cc/picture_pile_base.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 4 chunks +20 lines, -0 lines 0 comments Download
cc/test/fake_content_layer_client.h View 1 2 3 4 5 6 7 8 9 10 1 chunk +13 lines, -3 lines 0 comments Download
cc/test/fake_content_layer_client.cc View 1 2 3 4 5 6 7 8 9 10 1 chunk +17 lines, -7 lines 0 comments Download

Messages

Total messages: 44 (0 generated)
Justin Novosad
7 years, 10 months ago (2013-02-07 20:30:38 UTC) #1
Justin Novosad
A bunch of changes in tiling_data.cc are not strictly necessary for this fix, they're more ...
7 years, 10 months ago (2013-02-07 20:33:21 UTC) #2
danakj
Why does it help to make the tile size of the recording match the size ...
7 years, 10 months ago (2013-02-07 20:40:01 UTC) #3
Justin Novosad
On 2013/02/07 20:40:01, danakj wrote: > Why does it help to make the tile size ...
7 years, 10 months ago (2013-02-08 16:12:01 UTC) #4
Justin Novosad
On 2013/02/07 20:40:01, danakj wrote: > https://codereview.chromium.org/12221077/diff/1/cc/tiling_data.cc > File cc/tiling_data.cc (right): > I assumed inner ...
7 years, 10 months ago (2013-02-08 16:13:43 UTC) #5
Justin Novosad
New Patch. Reverted most changes to tiling_data. Now, I'm just adding a simple new method. ...
7 years, 10 months ago (2013-02-08 17:38:55 UTC) #6
Justin Novosad
Ping.
7 years, 10 months ago (2013-02-11 16:30:29 UTC) #7
danakj
https://codereview.chromium.org/12221077/diff/9002/cc/tiling_data.cc File cc/tiling_data.cc (right): https://codereview.chromium.org/12221077/diff/9002/cc/tiling_data.cc#newcode261 cc/tiling_data.cc:261: tile_grid_size.Enlarge(- 2 * border_texels_, - 2 * border_texels_); Does ...
7 years, 10 months ago (2013-02-11 17:12:46 UTC) #8
enne (OOO)
It looks like you're using the tile size of the picture pile recording here as ...
7 years, 10 months ago (2013-02-11 17:45:19 UTC) #9
Justin Novosad
On 2013/02/11 17:45:19, enne wrote: > It looks like you're using the tile size of ...
7 years, 10 months ago (2013-02-12 17:58:10 UTC) #10
Justin Novosad
On 2013/02/11 17:12:46, danakj wrote: > https://codereview.chromium.org/12221077/diff/9002/cc/tiling_data.cc > File cc/tiling_data.cc (right): > > https://codereview.chromium.org/12221077/diff/9002/cc/tiling_data.cc#newcode261 > ...
7 years, 10 months ago (2013-02-12 18:00:01 UTC) #11
danakj
On Tue, Feb 12, 2013 at 9:58 AM, <junov@chromium.org> wrote: > On 2013/02/11 17:45:19, enne ...
7 years, 10 months ago (2013-02-12 18:00:33 UTC) #12
enne (OOO)
I'm still confused by what this patch is doing. https://codereview.chromium.org/12221077/diff/9002/cc/picture_pile.cc File cc/picture_pile.cc (right): https://codereview.chromium.org/12221077/diff/9002/cc/picture_pile.cc#newcode94 cc/picture_pile.cc:94: ...
7 years, 10 months ago (2013-02-12 19:07:37 UTC) #13
Justin Novosad
Ok, the effect of this patch really isn't that complicated. Let's just start from the ...
7 years, 10 months ago (2013-02-13 15:33:33 UTC) #14
enne (OOO)
I feel like we're talking past each other here. I'm not trying to be obtuse. ...
7 years, 10 months ago (2013-02-13 16:40:44 UTC) #15
Tom Hudson
On 2013/02/13 16:40:44, enne wrote: > I feel like we're talking past each other here. ...
7 years, 10 months ago (2013-02-13 16:49:17 UTC) #16
enne (OOO)
For what it's worth, picture pile tiling didn't exist three weeks ago. Once the dust ...
7 years, 10 months ago (2013-02-13 16:59:24 UTC) #17
Justin Novosad
On 2013/02/13 16:40:44, enne wrote: > I feel like we're talking past each other here. ...
7 years, 10 months ago (2013-02-13 21:38:15 UTC) #18
Justin Novosad
On 2013/02/12 19:07:37, enne wrote: https://codereview.chromium.org/12221077/diff/9002/cc/picture_pile.cc#newcode94 > cc/picture_pile.cc:94: (*pic)->Record(painter, stats, tiling_.TileStride()); > What ballpark tile ...
7 years, 10 months ago (2013-02-14 19:24:47 UTC) #19
enne (OOO)
On 2013/02/14 19:24:47, junov wrote: > On 2013/02/12 19:07:37, enne wrote: > https://codereview.chromium.org/12221077/diff/9002/cc/picture_pile.cc#newcode94 > > ...
7 years, 10 months ago (2013-02-14 20:33:17 UTC) #20
Justin Novosad
Ok, so something changed since I originally started writing this patch (checkout is now almost ...
7 years, 10 months ago (2013-02-14 21:03:26 UTC) #21
Justin Novosad
I finally figured-out what y'all have been trying to explain to me for days (thanks ...
7 years, 10 months ago (2013-02-14 21:20:04 UTC) #22
enne (OOO)
On 2013/02/14 21:03:26, junov wrote: > Basically I am trying to determine what will be ...
7 years, 10 months ago (2013-02-14 22:36:17 UTC) #23
Justin Novosad
FWIW: the main reason I was confused was that I did not realize that the ...
7 years, 10 months ago (2013-02-15 16:49:04 UTC) #24
enne (OOO)
A ctor arg for PicturePile sounds good to me. :) (Sorry for all the confusion!)
7 years, 10 months ago (2013-02-15 17:15:46 UTC) #25
Justin Novosad
Patch.
7 years, 10 months ago (2013-02-15 19:40:59 UTC) #26
enne (OOO)
Also, I am curious why this helps so much. Given that the first tile doesn't ...
7 years, 10 months ago (2013-02-15 20:39:50 UTC) #27
Justin Novosad
On 2013/02/15 20:39:50, enne wrote: > Also, I am curious why this helps so much. ...
7 years, 10 months ago (2013-02-15 21:07:44 UTC) #28
enne (OOO)
Oh, you're quite right. The border pixels are scaled. Sorry about that. :)
7 years, 10 months ago (2013-02-15 21:16:07 UTC) #29
Justin Novosad
Looks like something has changed in that past few days. I just took another look ...
7 years, 10 months ago (2013-02-15 22:00:03 UTC) #30
nduca
Lets punt this out of m25, and do the right thing here. We look solid ...
7 years, 10 months ago (2013-02-19 19:25:30 UTC) #31
Justin Novosad
I read your mind 4 hours in the future: https://code.google.com/p/chromium/issues/detail?id=174965
7 years, 10 months ago (2013-02-19 19:31:24 UTC) #32
Justin Novosad
Patch 7 applies previous review feedback and integrates with skia-side changes that are not yet ...
7 years, 10 months ago (2013-02-20 22:27:05 UTC) #33
Justin Novosad
The gpu/aura try fails are red herrings. Looks like the "Try more bots" optin at ...
7 years, 10 months ago (2013-02-20 23:04:02 UTC) #34
enne (OOO)
Would it be possible to add histograms to see how effective this choice of tiling ...
7 years, 10 months ago (2013-02-21 01:38:48 UTC) #35
Justin Novosad
That is trickier than it sounds because SkTileGrid is not published in the skia public ...
7 years, 10 months ago (2013-02-21 15:54:03 UTC) #36
enne (OOO)
That's unfortunate that histograms for this are tricky. That'd be really interesting info to have. ...
7 years, 10 months ago (2013-02-21 18:23:13 UTC) #37
Justin Novosad
The importance of 1:1 match give a 0-2% perf win on total picture playback cost ...
7 years, 10 months ago (2013-02-21 19:01:10 UTC) #38
enne (OOO)
Is there any way to write a unit test for this so that it doesn't ...
7 years, 10 months ago (2013-02-21 19:07:57 UTC) #39
Justin Novosad
On 2013/02/21 19:07:57, enne wrote: > Is there any way to write a unit test ...
7 years, 10 months ago (2013-02-21 19:31:28 UTC) #40
Justin Novosad
New Patch. Added tests. Turns out I was wrong to do anything about the device ...
7 years, 10 months ago (2013-02-25 20:53:29 UTC) #41
enne (OOO)
https://codereview.chromium.org/12221077/diff/44014/cc/picture_layer_impl_unittest.cc File cc/picture_layer_impl_unittest.cc (right): https://codereview.chromium.org/12221077/diff/44014/cc/picture_layer_impl_unittest.cc#newcode267 cc/picture_layer_impl_unittest.cc:267: EXPECT_EQ(2, mock_canvas.rects_.size()); This is great. Thanks for the tests. ...
7 years, 10 months ago (2013-02-25 23:59:15 UTC) #42
Justin Novosad
Patch.
7 years, 10 months ago (2013-02-26 16:08:15 UTC) #43
enne (OOO)
7 years, 10 months ago (2013-02-26 18:12:25 UTC) #44
lgtm

https://codereview.chromium.org/12221077/diff/37011/cc/picture_pile_base.h
File cc/picture_pile_base.h (right):

https://codereview.chromium.org/12221077/diff/37011/cc/picture_pile_base.h#ne...
cc/picture_pile_base.h:41: void ApplyLayerTreeSettings(const LayerTreeSettings&
settings);
Sorry, I should have been more clear.  I don't think PicturePile should know
anything about LayerTreeSettings either.  I'd really like
s/ApplyLayerTreeSettings/SetTileGridSize/, and just calling that function along
with SetMinContentsScale in PictureLayer::setLayerTreeHost.

Powered by Google App Engine
This is Rietveld 408576698