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

Issue 158913005: Merge tomhudson and mtklein SkPaint shrinking approaches. (Closed)

Created:
6 years, 10 months ago by mtklein_C
Modified:
6 years, 10 months ago
CC:
skia-review_googlegroups.com, iancottrell, scroggo
Base URL:
https://skia.googlesource.com/skia.git@master
Visibility:
Public.

Description

Merge tomhudson and mtklein SkPaint shrinking approaches. I think this is cherry picking the best parts of both our CLs. We've got dirty bit tracking from Tom's, picture format stability from Mike's, etc. Paints are typically 1/3 their original size when flattened in the dictionary. bench_record on my desktop looks promising. Generally, looks faster. (Best in monospace.) a/b skp before after 0.83 desk_techcrunch.skp 0.29 0.24 0.83 tabl_gamedeksiam.skp 0.52 0.43 0.87 desk_carsvg.skp 0.4 0.35 0.87 desk_googlehome.skp 0.038 0.033 0.87 desk_pokemonwiki.skp 3.9 3.4 0.88 desk_fontwipe.skp 0.0089 0.0078 0.88 desk_googlespreadsheet.skp 0.16 0.14 0.89 desk_jsfiddlebigcar.skp 0.027 0.024 0.89 desk_tigersvg.skp 0.038 0.034 0.89 desk_weather.skp 0.19 0.17 0.89 tabl_engadget.skp 0.37 0.33 0.89 tabl_googleblog.skp 0.28 0.25 0.9 desk_facebook.skp 0.2 0.18 0.91 desk_mapsvg.skp 0.45 0.41 0.91 desk_youtube.skp 0.22 0.2 0.92 desk_forecastio.skp 0.12 0.11 0.92 desk_googlespreadsheetdashed.skp 0.49 0.45 0.92 desk_gws.skp 0.13 0.12 0.92 desk_pinterest.skp 0.037 0.034 0.92 desk_twitter.skp 0.25 0.23 0.92 tabl_culturalsolutions.skp 0.26 0.24 0.92 tabl_gspro.skp 0.072 0.066 0.92 tabl_mercurynews.skp 0.26 0.24 0.93 desk_booking.skp 0.46 0.43 0.93 desk_chalkboard.skp 0.28 0.26 0.93 desk_linkedin.skp 0.14 0.13 0.93 desk_mobilenews.skp 0.28 0.26 0.93 tabl_cuteoverload.skp 0.46 0.43 0.93 tabl_deviantart.skp 0.15 0.14 0.93 tabl_gmail.skp 0.029 0.027 0.93 tabl_googlecalendar.skp 0.15 0.14 0.93 tabl_mlb.skp 0.15 0.14 0.94 desk_blogger.skp 0.18 0.17 0.94 desk_jsfiddlehumperclip.skp 0.034 0.032 0.94 desk_wordpress.skp 0.33 0.31 0.94 desk_wowwiki.skp 0.94 0.88 0.94 desk_yahooanswers.skp 0.17 0.16 0.94 desk_youtubetvvideo.skp 0.017 0.016 0.94 tabl_sahadan.skp 0.093 0.087 0.94 tabl_worldjournal.skp 0.35 0.33 0.95 desk_css3gradients.skp 0.21 0.2 0.95 desk_gmailthread.skp 0.19 0.18 0.95 tabl_cnet.skp 0.42 0.4 0.95 tabl_mozilla.skp 1.9 1.8 0.95 tabl_pravda.skp 0.19 0.18 0.96 mobi_wikipedia.skp 0.55 0.53 0.96 tabl_cnn.skp 0.48 0.46 0.96 tabl_nofolo.skp 0.05 0.048 0.97 desk_googleplus.skp 0.29 0.28 0.97 tabl_frantzen.skp 0.059 0.057 0.97 tabl_onlinewsj.skp 0.38 0.37 0.97 tabl_slashdot.skp 0.1 0.097 0.97 tabl_vnexpress.skp 0.29 0.28 0.99 desk_amazon.skp 0.088 0.087 1 desk_baidu.skp 0.097 0.099 1 desk_ebay.skp 0.18 0.18 1 desk_espn.skp 0.24 0.24 1 desk_oldinboxapp.skp 0.026 0.026 1 desk_rectangletransition.skp 0.014 0.014 1 desk_samoasvg.skp 0.23 0.24 1 desk_yahoogames.skp 0.029 0.029 1 desk_yahoosports.skp 0.0033 0.0033 1 desk_youtubetvbrowse.skp 0.01 0.01 1 tabl_androidpolice.skp 0.65 0.65 1 tabl_digg.skp 0.33 0.33 1 tabl_hsfi.skp 0.32 0.32 1 tabl_nytimes.skp 0.22 0.22 1 tabl_techmeme.skp 0.069 0.072 1 tabl_ukwsj.skp 0.35 0.35 1.1 desk_sfgate.skp 0.25 0.28 BUG=skia:2190, skia:2194 Committed: http://code.google.com/p/skia/source/detail?r=13487 Committed: http://code.google.com/p/skia/source/detail?r=13496 Committed: http://code.google.com/p/skia/source/detail?r=13536

Patch Set 1 #

Patch Set 2 : use dirty bits #

Patch Set 3 : early exit #

Patch Set 4 : only mark pointers dirty if not null #

Patch Set 5 : move tests to PaintTest #

Patch Set 6 : assert dirty bits same when read #

Patch Set 7 : portable 8-bit popcount #

Patch Set 8 : inline #

Patch Set 9 : pruning #

Patch Set 10 : tweak #

Total comments: 9

Patch Set 11 : comments #

Patch Set 12 : 32 bit test fix #

Total comments: 2

Patch Set 13 : Merge in 172223007 to stop leaks. #

Patch Set 14 : Don't unref typeface. #

Unified diffs Side-by-side diffs Delta from patch set Stats (+216 lines, -24 lines) Patch
M include/core/SkPaint.h View 1 2 3 4 5 6 7 8 9 10 2 chunks +24 lines, -9 lines 0 comments Download
M src/core/SkPaint.cpp View 1 2 3 4 5 6 7 8 9 10 11 12 13 18 chunks +148 lines, -3 lines 0 comments Download
M src/core/SkPictureFlat.h View 1 2 3 4 5 6 7 8 9 10 1 chunk +1 line, -9 lines 0 comments Download
M src/core/SkPicturePlayback.cpp View 1 2 chunks +3 lines, -3 lines 0 comments Download
M tests/PaintTest.cpp View 1 2 3 4 5 6 7 8 9 10 11 12 2 chunks +40 lines, -0 lines 0 comments Download

Messages

Total messages: 30 (0 generated)
mtklein_C
Have a look? Sorry to keep jumping around on CLs like this... it's become a ...
6 years, 10 months ago (2014-02-10 21:21:04 UTC) #1
tomhudson
Dag nabbit, I need to fix my filters - didn't see this all day.
6 years, 10 months ago (2014-02-11 13:49:08 UTC) #2
tomhudson
Profile looks a little better: + 10.25% bench_record libc-2.15.so [.] __memcpy_ssse3_back + 5.84% bench_record bench_record ...
6 years, 10 months ago (2014-02-11 14:30:07 UTC) #3
mtklein_C
On 2014/02/11 14:30:07, tomhudson wrote: > Profile looks a little better: > > + 10.25% ...
6 years, 10 months ago (2014-02-11 17:45:12 UTC) #4
mtklein_C
On 2014/02/11 17:45:12, mtklein_C wrote: > On 2014/02/11 14:30:07, tomhudson wrote: > > Profile looks ...
6 years, 10 months ago (2014-02-11 17:49:37 UTC) #5
mtklein
On 2014/02/11 17:49:37, mtklein_C wrote: > On 2014/02/11 17:45:12, mtklein_C wrote: > > On 2014/02/11 ...
6 years, 10 months ago (2014-02-13 19:56:36 UTC) #6
tomhudson
I'm ready to run it up the flagpole and see who salutes. I find it ...
6 years, 10 months ago (2014-02-17 16:25:01 UTC) #7
tomhudson
The CQ bit was checked by tomhudson@google.com
6 years, 10 months ago (2014-02-17 16:25:39 UTC) #8
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://skia-tree-status.appspot.com/cq/mtklein@chromium.org/158913005/220001
6 years, 10 months ago (2014-02-17 16:25:41 UTC) #9
commit-bot: I haz the power
The CQ bit was unchecked by commit-bot@chromium.org
6 years, 10 months ago (2014-02-17 16:25:45 UTC) #10
commit-bot: I haz the power
Presubmit check for 158913005-220001 failed and returned exit status 1. Running presubmit commit checks ...
6 years, 10 months ago (2014-02-17 16:25:45 UTC) #11
tomhudson
+Mike to make the bot happy. There are changes in the SkPaint header file, but ...
6 years, 10 months ago (2014-02-17 16:27:35 UTC) #12
reed1
https://codereview.chromium.org/158913005/diff/220001/include/core/SkPaint.h File include/core/SkPaint.h (right): https://codereview.chromium.org/158913005/diff/220001/include/core/SkPaint.h#newcode984 include/core/SkPaint.h:984: static void flatten(SkWriteBuffer& buffer, const SkPaint& paint); Seems like ...
6 years, 10 months ago (2014-02-17 16:35:30 UTC) #13
mtklein_C
PTAL Rebased onto https://codereview.chromium.org/166193006/. https://codereview.chromium.org/158913005/diff/220001/include/core/SkPaint.h File include/core/SkPaint.h (right): https://codereview.chromium.org/158913005/diff/220001/include/core/SkPaint.h#newcode984 include/core/SkPaint.h:984: static void flatten(SkWriteBuffer& buffer, const ...
6 years, 10 months ago (2014-02-18 15:49:32 UTC) #14
tomhudson
lgtm
6 years, 10 months ago (2014-02-18 15:56:47 UTC) #15
reed1
Looks like more trickiness to keep in sync. Hope it pays off. lgtm Do we ...
6 years, 10 months ago (2014-02-18 16:03:42 UTC) #16
mtklein
On 2014/02/18 16:03:42, reed1 wrote: > Looks like more trickiness to keep in sync. Hope ...
6 years, 10 months ago (2014-02-18 16:08:12 UTC) #17
mtklein
The CQ bit was checked by mtklein@google.com
6 years, 10 months ago (2014-02-18 16:19:24 UTC) #18
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://skia-tree-status.appspot.com/cq/mtklein@chromium.org/158913005/530001
6 years, 10 months ago (2014-02-18 16:19:33 UTC) #19
commit-bot: I haz the power
Change committed as 13487
6 years, 10 months ago (2014-02-18 17:25:29 UTC) #20
scroggo
A revert of this CL has been created in https://codereview.chromium.org/169183003/ by scroggo@google.com. The reason for ...
6 years, 10 months ago (2014-02-18 18:40:54 UTC) #21
Sami
https://codereview.chromium.org/158913005/diff/690001/src/core/SkPaint.cpp File src/core/SkPaint.cpp (right): https://codereview.chromium.org/158913005/diff/690001/src/core/SkPaint.cpp#newcode2610 src/core/SkPaint.cpp:2610: inline static unsigned popcount(uint8_t x) { Drive by comment: ...
6 years, 10 months ago (2014-02-19 12:35:18 UTC) #22
mtklein
https://codereview.chromium.org/158913005/diff/690001/src/core/SkPaint.cpp File src/core/SkPaint.cpp (right): https://codereview.chromium.org/158913005/diff/690001/src/core/SkPaint.cpp#newcode2610 src/core/SkPaint.cpp:2610: inline static unsigned popcount(uint8_t x) { On 2014/02/19 12:35:18, ...
6 years, 10 months ago (2014-02-19 13:40:37 UTC) #23
mtklein
The CQ bit was checked by mtklein@google.com
6 years, 10 months ago (2014-02-19 13:40:50 UTC) #24
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://skia-tree-status.appspot.com/cq/mtklein@chromium.org/158913005/690001
6 years, 10 months ago (2014-02-19 13:41:02 UTC) #25
commit-bot: I haz the power
Change committed as 13496
6 years, 10 months ago (2014-02-19 13:55:10 UTC) #26
robertphillips
This was reverted in r13509 due to memory leaks (that were blocking the DEPS roll).
6 years, 10 months ago (2014-02-20 13:09:40 UTC) #27
mtklein
The CQ bit was checked by mtklein@google.com
6 years, 10 months ago (2014-02-21 16:04:32 UTC) #28
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://skia-tree-status.appspot.com/cq/mtklein@chromium.org/158913005/910001
6 years, 10 months ago (2014-02-21 16:04:38 UTC) #29
commit-bot: I haz the power
6 years, 10 months ago (2014-02-21 18:18:08 UTC) #30
Message was sent while issue was closed.
Change committed as 13536

Powered by Google App Engine
This is Rietveld 408576698