New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.

Issue 724658 link

Starred by 1 user

Issue metadata

Status: Fixed
Owner:
Email to this user bounced
Closed: Jun 2017
Cc:
EstimatedDays: ----
NextAction: ----
OS: ----
Pri: 2
Type: Bug-Regression



Sign in to add a comment

41kb regression in resource_sizes (MonochromePublic.apk) at 472686:472687

Project Member Reported by benhenry@google.com, May 19 2017

Issue description

Due to: Roll src/third_party/skia/ a281dd37e..c34a946d5 (35 commits; 11 trivial rolls)
https://chromium-review.googlesource.com/508184
 

Comment 1 Deleted

Comment 2 Deleted

Comment 3 Deleted

Comment 4 Deleted

Comment 5 Deleted

FYI benhenry@, bisects are currently broken for resource_sizes:  issue 678338 .
Description: Show this description
Cc: estevenson@chromium.org
Summary: 41kb regression in resource_sizes (MonochromePublic.apk) at 472686:472687 (was: 0.1% regression in resource_sizes (MonochromePublic.apk) at 472686:472687)
Kicked off a local build:

tools/binary_size/diagnose_bloat.py c34a946d5 --reference-rev a281dd37e --subrepo third_party/skia --all -v
Owner: estevenson@chromium.org
Status: Available (was: Untriaged)
Owner: reed@chromium.org
Status: Assigned (was: Available)
Jump was due to a single CL. diagnose_bloat.py reported a 45kb jump but that's likely because I just ran it off of my local master and not from where the chromium commit was when skia rolled.

Caused by:
move shadows to device virtual
https://skia-review.googlesource.com/c/15893/

reed@ - can you take a look at the diff (created with //tools/binary_size/supersize) below and see if there's anything unexpected, or if there's anything we can do to slim this down a bit? There are several symbols at the start that are pretty big.


Section Sizes (Total=43.4kb (44404 bytes)):
    .bss: 64 bytes (64 bytes) (not included in totals)
    .data: 0 bytes (0 bytes) (0.0%)
    .data.rel.ro: 560 bytes (560 bytes) (1.3%)
    .data.rel.ro.local: 304 bytes (304 bytes) (0.7%)
    .rodata: 1536 bytes (1536 bytes) (3.5%)
    .text: 41.0kb (42004 bytes) (94.6%)

184 symbols added (+), 39 changed (~), 34 removed (-), 379210 unchanged (not shown)
6 paths added, 0 removed, 16 changed

Showing 257 symbols (247 unique) with total pss: 44434 bytes
.text=41.0kb     .rodata=1536 bytes .data*=864 bytes  .bss=67 bytes   total=43.4kb
Number of unique paths: 27

Index, Running Total, Section@Address, PSS
------------------------------------------------------------
+ 0)       5068 (11.4%) t@0x5b1480   5068    skia/skia/SkShadowUtils.o
               SkBaseDevice::drawShadow
+ 1)       9016 (20.3%) t@0x5aec24   3948    skia/skia/SkShadowTessellator.o
               SkAmbientShadowTessellator::SkAmbientShadowTessellator
+ 2)      12340 (27.8%) t@0x5afc78   3324    skia/skia/SkShadowTessellator.o
               SkSpotShadowTessellator::SkSpotShadowTessellator
+ 3)      15232 (34.3%) t@0x5ac5c0   2892    skia/skia/SkShadowTessellator.o
               SkAmbientShadowTessellator::addEdge
+ 4)      17712 (39.9%) t@0x6021c4   2480    skia/skia/GrShadowRRectOp.o
               ShadowCircularRRectOp::onPrepareDraws const
+ 5)      19224 (43.3%) t@0x5ad568   1512    skia/skia/SkShadowTessellator.o
               SkSpotShadowTessellator::computeClipAndPathPolygons
+ 6)      20648 (46.5%) t@0x5ae024   1424    skia/skia/SkShadowTessellator.o
               SkSpotShadowTessellator::addEdge
+ 7)      22040 (49.6%) t@0x5a8964   1392    skia/skia/SkInsetConvexPolygon.o
               SkInsetConvexPolygon
+ 8)      23160 (52.1%) t@Group      1120    skia/skia/SkSpotShadowMaskFilter.o
               SkSpotShadowMaskFilterImpl::directFilterRRectMaskGPU const (count=2)
+ 9)      24276 (54.6%) t@0x5ad10c   1116    skia/skia/SkShadowTessellator.o
               SkAmbientShadowTessellator::handleLine
+ 10)     25324 (57.0%) t@0x601dac   1048    skia/skia/GrShadowRRectOp.o
               ShadowCircularRRectOp::fillInRRectVerts const
~ 11)     26212 (59.0%) r@Group      888     {{no path}}
               ** merge strings (count=6)
+ 12)     27100 (61.0%) t@0x5ac248   888     skia/skia/SkShadowTessellator.o
               SkBaseShadowTessellator::addArc
+ 13)     27964 (62.9%) t@0x5b2848   864     skia/skia/SkShadowUtils.o
               SkGpuDevice::drawShadow
+ 14)     28808 (64.8%) t@0x5ae5b4   844     skia/skia/SkShadowTessellator.o
               SkSpotShadowTessellator::handlePolyPoint
+ 15)     29620 (66.7%) t@Group      812     skia/skia/SkAmbientShadowMaskFilter.o
               SkAmbientShadowMaskFilterImpl::directFilterRRectMaskGPU const (count=2)
+ 16)     30292 (68.2%) t@0x602db0   672     skia/skia/GrShadowRRectOp.o
               ShadowCircularRRectOp::ShadowCircularRRectOp
+ 17)     30956 (69.7%) t@0x5b10dc   664     skia/skia/SkShadowUtils.o
               FindVisitor
+ 18)     31500 (70.9%) t@0x5a8744   544     skia/skia/SkInsetConvexPolygon.o
               SkOffsetSegment
- 19)     30960 (69.7%) t@0x4fd174   -540    skia/skia/SkRecordDraw.o
               SkRecords::FillBounds::operator
+ 20)     31472 (70.8%) t@0x612600   512     skia/skia/GrShadowGeoProc.o
               GrRRectShadowGeoProc::GrRRectShadowGeoProc
+ 21)     31944 (71.9%) t@0x602bd8   472     skia/skia/GrShadowRRectOp.o
               ShadowCircularRRectOp::onCombineIfPossible
+ 22)     32412 (72.9%) t@0x5aea50   468     skia/skia/SkShadowTessellator.o
               SkBaseShadowTessellator::setTransformedHeightFunc
+ 23)     32876 (74.0%) t@0x5b0f0c   464     skia/skia/SkShadowUtils.o
               FindVisitor
+ 24)     33280 (74.9%) t@0x5adb50   404     skia/skia/SkShadowTessellator.o
               SkSpotShadowTessellator::computeClipVectorsAndTestCentroid
+ 25)     33636 (75.7%) t@0x5a7130   356     skia/skia/SkSpotShadowMaskFilter.o
               SkSpotShadowMaskFilterImpl::toString const
+ 26)     33980 (76.5%) t@0x5cd6b4   344     skia/skia/GrRenderTargetContext.o
               GrRenderTargetContext::drawShadowRRect
+ 27)     34324 (77.2%) t@0x5ac0f0   344     skia/skia/SkShadowTessellator.o
               SkBaseShadowTessellator::handleConic
+ 28)     34652 (78.0%) t@0x6124b8   328     skia/skia/GrShadowGeoProc.o
               GrGLSLRRectShadowGeoProc::onEmitCode
+ 29)     34964 (78.7%) t@0x5b0c28   312     skia/skia/SkShadowUtils.o
               SkGaussianColorFilter::asFragmentProcessor const
+ 30)     35272 (79.4%) t@0x4fcfa8   308     skia/skia/SkRecordDraw.o
               SkRecords::FillBounds::pushSaveBlock
+ 31)     35572 (80.1%) t@0x601c00   300     skia/skia/GrShadowRRectOp.o
               ShadowCircularRRectOp::dumpInfo const
+ 32)     35872 (80.7%) t@0x5abcb0   300     skia/skia/SkShadowTessellator.o
               SkSpotShadowTessellator::handleLine
+ 33)     36168 (81.4%) t@0x5adce4   296     skia/skia/SkShadowTessellator.o
               SkSpotShadowTessellator::clipUmbraPoint
+ 34)     36460 (82.1%) t@0x5adf00   292     skia/skia/SkShadowTessellator.o
               SkSpotShadowTessellator::addInnerPoint
+ 35)     36744 (82.7%) t@0x5a6b40   284     {{no path}}
               SkAmbientShadowMaskFilterImpl::directFilterMaskGPU const
+ 36)     37028 (83.3%) t@0x5a6b40   284     {{no path}}
               SkSpotShadowMaskFilterImpl::directFilterMaskGPU const
+ 37)     37300 (83.9%) t@Group      272     skia/skia/SkShadowUtils.o
               CachedTessellations::~CachedTessellations (count=2)
+ 38)     37564 (84.5%) t@0x46ce60   264     skia/skia/SkCanvas.o
               SkCanvas::onDrawShadowRec
+ 39)     37820 (85.1%) r@0x294ea20  256     skia/skia/SkShadowUtils.o
               gByteExpU8Table
+ 40)     38064 (85.7%) t@0x5ade0c   244     skia/skia/SkShadowTessellator.o
               SkSpotShadowTessellator::getClosestUmbraPoint
+ 41)     38292 (86.2%) t@0x4fee44   228     skia/skia/SkRecordDraw.o
               SkRecords::FillBounds::trackBounds
+ 42)     38508 (86.7%) t@0x5ac018   216     skia/skia/SkShadowTessellator.o
               SkBaseShadowTessellator::handleCubic
+ 43)     38720 (87.1%) t@0x5a6a6c   212     skia/skia/SkAmbientShadowMaskFilter.o
               SkRRect::setOval
+ 44)     38932 (87.6%) t@Group      212     skia/skia/SkShadowTessellator.o
               SkSpotShadowTessellator::~SkSpotShadowTessellator (count=2)
+ 45)     39140 (88.1%) t@0x5a6954   208     skia/skia/SkAmbientShadowMaskFilter.o
               SkAmbientShadowMaskFilterImpl::toString const
+ 46)     39348 (88.6%) r@0x294f558  208     skia/skia/GrShadowRRectOp.o
               gRRectIndices
+ 47)     39552 (89.0%) t@0x6123ec   204     skia/skia/GrShadowGeoProc.o
               GrRRectShadowGeoProc::getGLSLProcessorKey const
+ 48)     39752 (89.5%) t@0x5b0974   200     skia/skia/SkShadowTessellator.o
               SkShadowTessellator::MakeSpot
+ 49)     39916 (89.8%) t@0x5abf34   164     skia/skia/SkShadowTessellator.o
               SkBaseShadowTessellator::handleQuad
+ 50)     40072 (90.2%) t@Group      156     skia/skia/SkShadowUtils.o
               CachedTessellationsRec::~CachedTessellationsRec (count=2)
+ 51)     40228 (90.5%) t@0x5abe54   156     skia/skia/SkShadowTessellator.o
               SkBaseShadowTessellator::setZOffset
+ 52)     40380 (90.9%) t@0x5b0a80   152     skia/skia/SkShadowUtils.o
               SkGaussianColorFilter::filterSpan4f const
~ 53)     40524 (91.2%) t@0x4fefec   144     skia/skia/SkRecordDraw.o
               SkRecordFillBounds
+ 54)     40664 (91.5%) t@0x603050   140     skia/skia/GrShadowRRectOp.o
               GrShadowRRectOp::Make
+ 55)     40804 (91.8%) t@0x5b0b78   140     skia/skia/SkShadowUtils.o
               std::__ndk1::__function::__func::operator
+ 56)     40940 (92.1%) t@0x5afb90   136     skia/skia/SkShadowTessellator.o
               SkShadowTessellator::MakeAmbient
+ 57)     41072 (92.4%) t@0x50052c   132     skia/skia/SkRecorder.o
               SkRecorder::onDrawShadowRec
+ 58)     41200 (92.7%) t@Group      128     skia/skia/GrShadowRRectOp.o
               ShadowCircularRRectOp::~ShadowCircularRRectOp (count=2)
+ 59)     41324 (93.0%) t@Group      124     skia/skia/SkShadowTessellator.o
               SkAmbientShadowTessellator::~SkAmbientShadowTessellator (count=2)
+ 60)     41444 (93.3%) t@0x5abddc   120     skia/skia/SkShadowTessellator.o
               SkBaseShadowTessellator::SkBaseShadowTessellator
+ 61)     41560 (93.5%) t@0x5a773c   116     skia/skia/SkSpotShadowMaskFilter.o
               SkSpotShadowMaskFilterImpl::CreateProc
- 62)     41448 (93.3%) t@0x4c856c   -112    skia/skia/SkLiteDL.o
               $lambda#40
+ 63)     41560 (93.5%) t@0x4c8c6c   112     skia/skia/SkLiteDL.o
               $lambda#41
+ 64)     41664 (93.8%) d@0x2d49840  104     skia/skia/GrShadowGeoProc.o
               GrRRectShadowGeoProc [vtable]
+ 65)     41764 (94.0%) t@0x602b74   100     skia/skia/GrShadowRRectOp.o
               SkTArray::checkRealloc
+ 66)     41864 (94.2%) t@0x520cf4   100     skia/skia/SkVertices.o
               SkVertices::approximateSize const
+ 67)     41960 (94.4%) t@0x5afc18   96      skia/skia/SkShadowTessellator.o
               SkTDArray::append
+ 68)     42056 (94.6%) r@0x294f4f8  96      skia/skia/GrShadowRRectOp.o
               gStrokeCircleIndices
+ 69)     42144 (94.8%) d@0x2d47bc8  88      skia/skia/SkShadowUtils.o
               SkGaussianColorFilter [vtable]
+ 70)     42224 (95.0%) d@0x2d47730  80      skia/skia/SkAmbientShadowMaskFilter.o
               SkAmbientShadowMaskFilterImpl [vtable]
+ 71)     42304 (95.2%) d@0x2d47780  80      skia/skia/SkSpotShadowMaskFilter.o
               SkSpotShadowMaskFilterImpl [vtable]
+ 72)     42384 (95.4%) t@0x5a70e0   80      skia/skia/SkSpotShadowMaskFilter.o
               SkSpotShadowMaskFilterImpl::flatten const
+ 73)     42464 (95.6%) t@0x5abb80   80      skia/skia/SkShadowTessellator.o
               std::__ndk1::__function::__func::operator
+ 74)     42540 (95.7%) t@0x601bb4   76      skia/skia/GrShadowRRectOp.o
               rrect_type_to_index_count
+ 75)     42612 (95.9%) t@0x5a6a24   72      skia/skia/SkAmbientShadowMaskFilter.o
               SkAmbientShadowMaskFilterImpl::CreateProc
+ 76)     42684 (96.1%) t@0x5a76f4   72      skia/skia/SkSpotShadowMaskFilter.o
               SkSpotShadowMaskFilter::Make
+ 77)     42756 (96.2%) t@0x5abc68   72      skia/skia/SkShadowTessellator.o
               compute_normal
+ 78)     42824 (96.4%) t@0x5abef0   68      skia/skia/SkShadowTessellator.o
               SkBaseShadowTessellator::handleLine
+ 79)     42892 (96.5%) t@0x49e0a4   68      skia/skia/SkColorSpaceXformCanvas.o
               SkColorSpaceXformCanvas::onDrawShadowRec
+ 80)     42960 (96.7%) t@0x5aa384   68      skia/skia/SkNWayCanvas.o
               SkNWayCanvas::onDrawShadowRec
+ 81)     43024 (96.8%) d@0x2d48e00  64      skia/skia/GrShadowRRectOp.o
               ShadowCircularRRectOp [vtable]
+ 82)     43088 (97.0%) t@0x5abfd8   64      skia/skia/SkShadowTessellator.o
               SkBaseShadowTessellator::handleQuad
+ 83)     43144 (97.1%) t@0x4c8bc4   56      skia/skia/SkLiteDL.o
               $lambda#60
- 84)     43088 (97.0%) t@0x4c84c4   -56     skia/skia/SkLiteDL.o
               $lambda#61
+ 85)     43144 (97.1%) t@0x4c8c34   56      skia/skia/SkLiteDL.o
               $lambda#73

Comment 12 by reed@google.com, May 25 2017

Cc: jvanverth@google.com hcm@google.com
This CL was part of a larger move to refactor shadow drawing, and make it specialize-able by raster and gpu. It also made it recordable in pictures, which accounts for some of the growth as well.
It also allowed for this further refactor, which may have helped reduce the size again: https://skia-review.googlesource.com/c/17266/
Status: Fixed (was: Assigned)
Sounds like due diligence was done here.

Sign in to add a comment