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

Issue 78883002: Cluster invalidation rectangles into coherent regions to lessen SkPicture re-recording (Closed)

Created:
7 years, 1 month ago by humper
Modified:
7 years, 1 month ago
Reviewers:
nduca, vmpstr, enne (OOO)
CC:
chromium-reviews, cc-bugs_chromium.org
Base URL:
https://chromium.googlesource.com/chromium/src.git@master
Visibility:
Public.

Description

Cluster invalidation rectangles into coherent regions to lessen SkPicture re-recording Apply a simple linear greedy clustering approach to all invalidated tiles in a layer to try to reduce the amount of clean layer area that gets re-recorded in response to a multi-rectangle invalidation event. BUG=312861 Committed: https://src.chromium.org/viewvc/chrome?view=rev&revision=236806

Patch Set 1 #

Patch Set 2 : Decrease the density threshold from very high testing value #

Total comments: 19

Patch Set 3 : Address vlad's nits; rewrite single-function class as a function. Better sorting. #

Total comments: 17

Patch Set 4 : Vlad is promoted to Vice President In Charge Of Nits #

Patch Set 5 : A few more nits that I missed in the last upload #

Total comments: 4

Patch Set 6 : move functions into anon namespace #

Total comments: 12

Patch Set 7 : fix up latest round of nits #

Total comments: 1

Patch Set 8 : Final round of nits #

Unified diffs Side-by-side diffs Delta from patch set Stats (+169 lines, -32 lines) Patch
M cc/resources/picture_pile.cc View 1 2 3 4 5 6 7 2 chunks +161 lines, -30 lines 0 comments Download
M cc/resources/picture_pile_base.h View 1 2 3 4 5 6 1 chunk +1 line, -0 lines 0 comments Download
M cc/resources/picture_pile_base.cc View 1 2 3 4 5 6 1 chunk +7 lines, -2 lines 0 comments Download

Messages

Total messages: 16 (0 generated)
humper
Rework the creation of PicturePile to attempt to cluster groups of nearby updates together into ...
7 years, 1 month ago (2013-11-20 16:49:04 UTC) #1
Tom Hudson
Driveby happiness.
7 years, 1 month ago (2013-11-20 17:00:00 UTC) #2
vmpstr
Looking good, but a couple of questions and a couple of nits below. https://codereview.chromium.org/78883002/diff/40001/cc/resources/picture_pile.cc File ...
7 years, 1 month ago (2013-11-20 18:02:32 UTC) #3
enne (OOO)
https://codereview.chromium.org/78883002/diff/40001/cc/resources/picture_pile.cc File cc/resources/picture_pile.cc (right): https://codereview.chromium.org/78883002/diff/40001/cc/resources/picture_pile.cc#newcode178 cc/resources/picture_pile.cc:178: TileClustering horizontal_clustering(invalid_tiles_vertical, 0.5); Is it expensive to sort and ...
7 years, 1 month ago (2013-11-20 19:15:32 UTC) #4
humper
https://codereview.chromium.org/78883002/diff/40001/cc/resources/picture_pile.cc File cc/resources/picture_pile.cc (right): https://codereview.chromium.org/78883002/diff/40001/cc/resources/picture_pile.cc#newcode38 cc/resources/picture_pile.cc:38: class TileClustering { On 2013/11/20 18:02:32, vmpstr wrote: > ...
7 years, 1 month ago (2013-11-20 20:47:12 UTC) #5
humper
new version as a function, better sorting, nits addressed. https://codereview.chromium.org/78883002/diff/40001/cc/resources/picture_pile.cc File cc/resources/picture_pile.cc (right): https://codereview.chromium.org/78883002/diff/40001/cc/resources/picture_pile.cc#newcode47 cc/resources/picture_pile.cc:47: ...
7 years, 1 month ago (2013-11-21 18:49:29 UTC) #6
vmpstr
A few more comments, mostly style. https://codereview.chromium.org/78883002/diff/110001/cc/resources/picture_pile.cc File cc/resources/picture_pile.cc (right): https://codereview.chromium.org/78883002/diff/110001/cc/resources/picture_pile.cc#newcode30 cc/resources/picture_pile.cc:30: static bool rect_sort_y(const ...
7 years, 1 month ago (2013-11-21 19:05:58 UTC) #7
humper
https://codereview.chromium.org/78883002/diff/110001/cc/resources/picture_pile.cc File cc/resources/picture_pile.cc (right): https://codereview.chromium.org/78883002/diff/110001/cc/resources/picture_pile.cc#newcode30 cc/resources/picture_pile.cc:30: static bool rect_sort_y(const gfx::Rect &r1, const gfx::Rect &r2) { ...
7 years, 1 month ago (2013-11-21 19:30:59 UTC) #8
vmpstr
This looks good if that's the approach we want to take. See my comment below ...
7 years, 1 month ago (2013-11-21 19:47:58 UTC) #9
humper
https://codereview.chromium.org/78883002/diff/190001/cc/resources/picture_pile.cc File cc/resources/picture_pile.cc (right): https://codereview.chromium.org/78883002/diff/190001/cc/resources/picture_pile.cc#newcode44 cc/resources/picture_pile.cc:44: float do_clustering(const std::vector<gfx::Rect>& tiles, On 2013/11/21 19:47:59, vmpstr wrote: ...
7 years, 1 month ago (2013-11-21 20:51:13 UTC) #10
vmpstr
lgtm with a few nits. I'd also like enne to take a look for a ...
7 years, 1 month ago (2013-11-21 20:57:36 UTC) #11
enne (OOO)
lgtm in general. Sorry to continue the nit train. I ran this on an N4 ...
7 years, 1 month ago (2013-11-21 21:55:42 UTC) #12
humper
all new nits addressed, I think.
7 years, 1 month ago (2013-11-21 22:58:54 UTC) #13
enne (OOO)
Thanks! Looks great! Before you land, can you also update the description (which ends up ...
7 years, 1 month ago (2013-11-21 23:52:20 UTC) #14
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/humper@google.com/78883002/330001
7 years, 1 month ago (2013-11-22 16:50:08 UTC) #15
commit-bot: I haz the power
7 years, 1 month ago (2013-11-22 19:23:31 UTC) #16
Message was sent while issue was closed.
Change committed as 236806

Powered by Google App Engine
This is Rietveld 408576698