New issue
Advanced search Search tips

Issue 818693 link

Starred by 1 user

Issue metadata

Status: Assigned
Owner:
Cc:
EstimatedDays: ----
NextAction: ----
OS: ----
Pri: 2
Type: Bug-Regression



Sign in to add a comment

3.2%-4.1% regression in rasterize_and_record_micro.top_25 at 539809:539946

Project Member Reported by rmcilroy@chromium.org, Mar 5 2018

Issue description

See the link to graphs below.
 
All graphs for this bug:
  https://chromeperf.appspot.com/group_report?bug_id=818693

(For debugging:) Original alerts at time of bug-filing:
  https://chromeperf.appspot.com/group_report?sid=ec869dee078a1cd7b3f0ba7f2fcb87582e18c4c69bb32a142c00ad2ff30332b0


Bot(s) for this bug's original alert(s):

chromium-rel-mac12
chromium-rel-win7-gpu-intel
chromium-rel-win7-gpu-nvidia
📍 Pinpoint job started.
https://pinpoint-dot-chromeperf.appspot.com/job/13f5909c440000
Cc: rhalavati@chromium.org liyuqian@google.com rch@chromium.org reed@google.com
Owner: rhalavati@chromium.org
Status: Assigned (was: Untriaged)
📍 Found significant differences after each of 2 commits.
https://pinpoint-dot-chromeperf.appspot.com/job/13f5909c440000

keep points as floats until after clipping by reed@google.com
https://skia.googlesource.com/skia/+/0a3b12bbcec77cb7007e0c3421a84affdc27a146

Add traffic annotation to required arguments to SpdyStream. by rhalavati@chromium.org
https://chromium.googlesource.com/chromium/src/+/ead4271f098dd2038ec8514f1bf9b59f83b0774b

Understanding performance regressions:
  http://g.co/ChromePerformanceRegressions

Comment 4 by reed@google.com, Mar 6 2018

Cc: hcm@chromium.org fmalita@chromium.org
My calmbench also caught a 5% regression in our dashgrid_1_1_aa nanobench on CL 110501. Maybe we can start debugging that.
Note that all associated regressions are on GPU bots.  Since the Skia change is software-only, I'm inclined to call this a pinpoint flake and re-run the bisect.
I not inclined to think this is a pinpoint flake, the pinpoint numbers look very consistent both before and after the change: https://pinpoint-dot-chromeperf.appspot.com/job/13f5909c440000

FYI: dashgrid_1_1_aa nanobench has similar running time for 8888 and gl config so I guess that GPU calls CPU to rasterize those paths. However, the gl running time varies much more widely than the 8888 running time so I don't think directly debugging the gl config is a good idea (if we choose to debug that nanobench).
Owner: ----
Status: Available (was: Assigned)
Sorry I had not noticed this assignment.
I don't have any experience about this issue and I think it's wrongly assigned to me.
As I am going to be OOO for two weeks, I change the status to 'Available'.
Project Member

Comment 10 by 42576172...@developer.gserviceaccount.com, Mar 28 2018

📍 Pinpoint job started.
https://pinpoint-dot-chromeperf.appspot.com/job/12ac737b440000
Project Member

Comment 11 by 42576172...@developer.gserviceaccount.com, Mar 28 2018

📍 Pinpoint job started.
https://pinpoint-dot-chromeperf.appspot.com/job/101b09f3440000
Kicking off two more bisects to check if it is flake, but agreed the results in #3 look pretty clear.
Project Member

Comment 13 by 42576172...@developer.gserviceaccount.com, Mar 29 2018

Owner: reed@google.com
Status: Assigned (was: Available)
📍 Found a significant difference after 1 commit.
https://pinpoint-dot-chromeperf.appspot.com/job/101b09f3440000

keep points as floats until after clipping by reed@google.com
https://skia.googlesource.com/skia/+/0a3b12bbcec77cb7007e0c3421a84affdc27a146

Understanding performance regressions:
  http://g.co/ChromePerformanceRegressions
Project Member

Comment 14 by bugdroid1@chromium.org, Apr 12 2018

The following revision refers to this bug:
  https://skia.googlesource.com/skia/+/2dc50cc92af008155d98f3729828eae71f82930d

commit 2dc50cc92af008155d98f3729828eae71f82930d
Author: Mike Reed <reed@google.com>
Date: Thu Apr 12 16:22:30 2018

add conservative bounds to raster tiling

This allows the tiler to optimally visit only the tiles that might intersect
the drawing. Not all call-sites can cheaply compute their bounds, so for those
we just pass nullptr, which tells the tiler to visit all of the tiles.

Bug: 818693
Bug: 820245
Bug: 820470
Change-Id: I8bda668a99bcdb2a9a74a8278ec0cf1004acba6e
Reviewed-on: https://skia-review.googlesource.com/119570
Commit-Queue: Mike Reed <reed@google.com>
Reviewed-by: Florin Malita <fmalita@chromium.org>

[modify] https://crrev.com/2dc50cc92af008155d98f3729828eae71f82930d/src/core/SkBitmapDevice.cpp
[modify] https://crrev.com/2dc50cc92af008155d98f3729828eae71f82930d/bench/ClipMaskBench.cpp

Project Member

Comment 15 by bugdroid1@chromium.org, Apr 13 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/db0f55c0a0e90c982b77e44229aaa3d4ba2f3cdb

commit db0f55c0a0e90c982b77e44229aaa3d4ba2f3cdb
Author: skia-chromium-autoroll@skia-buildbots.google.com.iam.gserviceaccount.com <skia-chromium-autoroll@skia-buildbots.google.com.iam.gserviceaccount.com>
Date: Fri Apr 13 20:04:30 2018

Roll src/third_party/skia/ c6c5eade8..21dfd8467 (29 commits)

https://skia.googlesource.com/skia.git/+log/c6c5eade823a..21dfd846724a

$ git log c6c5eade8..21dfd8467 --date=short --no-merges --format='%ad %ae %s'
2018-04-13 angle-skia-autoroll Roll third_party/externals/angle2/ ed8d5ec73..cc1293775 (1 commit)
2018-04-12 liyuqian Limit our IsBadForDAA for stroke width > 0 and <= 2
2018-04-12 csmartdalton ccpr: Actually blacklist ANGLE
2018-04-12 angle-skia-autoroll Roll third_party/externals/angle2/ 14f4817c4..ed8d5ec73 (8 commits)
2018-04-12 reed can't abort looper loop, as saveCount won't be balanced
2018-04-12 egdaniel Don't create lazy proxys if their width/height is greater than max tex size
2018-04-12 robertphillips Actually generate the gm images on the DDL1 bot
2018-04-12 caryclark son of path is rect bug
2018-04-12 ethannicholas workaround for buggy macOS GLSL shader compiler
2018-04-12 egdaniel Delete getRenderTargetHandle call on SkSurface.
2018-04-12 reed check for non-finite values output by clipper
2018-04-12 brianosman Fail fast when trying to make a texture that's too large
2018-04-12 djsollen Include shadow ops in the debugger.
2018-04-11 liyuqian Reland "Add private fIsBadForDAA bit to SkPath"
2018-04-12 reed add conservative bounds to raster tiling
2018-04-12 reed always clear the looper when we're unrolling it, to not confused devices
2018-04-11 robertphillips Disable CCPR and the small path renderer on DDL1 bot
2018-04-12 caryclark another rect is path fix
2018-04-11 robertphillips Add SK_SUPPORT_LEGACY_BACKEND_OBJECTS
2018-04-11 csmartdalton Implement Sk2f Load2
2018-04-11 csmartdalton ccpr: Blacklist ANGLE again
2018-04-11 robertphillips Allow SkImage_Gpu to fail some requests in DDL mode
2018-04-11 cwallez update_meta_config: Use new LUCI optional GPU trybot on Windows
2018-04-11 csmartdalton Implement Sk4f min/max
2018-04-11 liyuqian Remove obsolete comment
2018-04-11 benjaminwagner Upgrade PixelC and NexusPlayer OS.
2018-04-12 angle-skia-autoroll Roll third_party/externals/angle2/ 2dadd1d08..14f4817c4 (2 commits)
2018-04-11 caryclark fix bm gm
2018-04-12 mtklein skcms→1654786 concat gamut transform matrices together

Created with:
  roll-dep src/third_party/skia
BUG= chromium:824145 , chromium:821353 ,chromium:818693,chromium:820245,chromium:820470, chromium:824145 ,chromium:815092


The AutoRoll server is located here: https://autoroll.skia.org

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+/master/autoroll/README.md

If the roll is causing failures, please contact the current sheriff, who should
be CC'd on the roll, and stop the roller if necessary.


CQ_INCLUDE_TRYBOTS=master.tryserver.blink:linux_trusty_blink_rel;luci.chromium.try:android_optional_gpu_tests_rel;luci.chromium.try:linux_optional_gpu_tests_rel;luci.chromium.try:mac_optional_gpu_tests_rel;luci.chromium.try:win_optional_gpu_tests_rel
TBR=borenet@chromium.org

Change-Id: Ic83a9e3addd0c3593736a5bd03a4b4b2d37b7c51
Reviewed-on: https://chromium-review.googlesource.com/1011738
Reviewed-by: skia-chromium-autoroll <skia-chromium-autoroll@skia-buildbots.google.com.iam.gserviceaccount.com>
Commit-Queue: Eric Boren <borenet@chromium.org>
Cr-Commit-Position: refs/heads/master@{#550739}
[modify] https://crrev.com/db0f55c0a0e90c982b77e44229aaa3d4ba2f3cdb/DEPS

Project Member

Comment 16 by bugdroid1@chromium.org, Apr 16 2018

The following revision refers to this bug:
  https://skia.googlesource.com/skia/+/888fc05ef08971628a3b3044b7a99ec3dd53c386

commit 888fc05ef08971628a3b3044b7a99ec3dd53c386
Author: Mike Reed <reed@google.com>
Date: Mon Apr 16 19:09:50 2018

optimize fast/simple case in raster tiling

1. We want to avoid as much overhead as possible in the tiler setup, so do a quick check before handling bounds
2. Compare against current clipbounds instead of devicesize, which may eliminate looping sometimes

Follow-on to https://skia-review.googlesource.com/c/skia/+/119570

Bug: 818693
Bug: 820245
Bug: 820470
Change-Id: If34721c7e467d1ab9e879f25e7b86af6732ca384
Reviewed-on: https://skia-review.googlesource.com/121329
Commit-Queue: Mike Reed <reed@google.com>
Reviewed-by: Yuqian Li <liyuqian@google.com>

[modify] https://crrev.com/888fc05ef08971628a3b3044b7a99ec3dd53c386/src/core/SkBitmapDevice.cpp

Cc: -rhalavati@chromium.org
Project Member

Comment 18 by bugdroid1@chromium.org, Apr 16 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/7d2819d74a603b31179b1fc8e6f32d56078009e3

commit 7d2819d74a603b31179b1fc8e6f32d56078009e3
Author: skia-chromium-autoroll@skia-buildbots.google.com.iam.gserviceaccount.com <skia-chromium-autoroll@skia-buildbots.google.com.iam.gserviceaccount.com>
Date: Mon Apr 16 23:19:30 2018

Roll src/third_party/skia/ ffbe93296..d234afdc2 (17 commits)

https://skia.googlesource.com/skia.git/+log/ffbe93296838..d234afdc2e56

$ git log ffbe93296..d234afdc2 --date=short --no-merges --format='%ad %ae %s'
2018-04-13 bungeman Remove SkPaint::kGenA8FromLCD_Flag.
2018-04-16 kjlubick Fix many return-std-move-in-c++11 warnings
2018-04-16 fmalita Remove unused BW mask blitters
2018-04-16 mtklein disable -Wself-assign in Google3
2018-04-16 mtklein skcms→2667f0a Add skcms_BestSingleCurve utility
2018-04-16 reed optimize fast/simple case in raster tiling
2018-04-13 liyuqian Simplify the operation on atomic fIsFinishing
2018-04-13 liyuqian Let SkCoverageDeltaList store width and use it during blitting
2018-04-11 liyuqian SkBlitter is not thread safe; make one for each thread.
2018-04-12 liyuqian Snap the bitmap as it may be changed later
2018-04-16 halcanary SkPDF: use std::aligned_storage for typed union
2018-04-16 rmistry Some Chromium bots have been LUCIfied
2018-04-16 angle-skia-autoroll Roll third_party/externals/angle2/ 76b2c3852..a4fa9c278 (3 commits)
2018-04-16 egdaniel Don't allow ganesh to allocate mip maps for wrapped textures.
2018-04-10 bsalomon Draw stroked circles with round caps analytically.
2018-04-16 liyuqian Reland "Cumulate deltas even if they're out of the clip"
2018-04-16 caryclark document SkColor.h

Created with:
  roll-dep src/third_party/skia
BUG=chromium:818693,chromium:820245,chromium:820470


The AutoRoll server is located here: https://autoroll.skia.org

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+/master/autoroll/README.md

If the roll is causing failures, please contact the current sheriff, who should
be CC'd on the roll, and stop the roller if necessary.


CQ_INCLUDE_TRYBOTS=master.tryserver.blink:linux_trusty_blink_rel;luci.chromium.try:android_optional_gpu_tests_rel;luci.chromium.try:linux_optional_gpu_tests_rel;luci.chromium.try:mac_optional_gpu_tests_rel;luci.chromium.try:win_optional_gpu_tests_rel
TBR=scroggo@chromium.org

Change-Id: If635e8f9d3bdfb9b34afb9ba244c0a1cc269c868
Reviewed-on: https://chromium-review.googlesource.com/1014413
Commit-Queue: skia-chromium-autoroll <skia-chromium-autoroll@skia-buildbots.google.com.iam.gserviceaccount.com>
Reviewed-by: skia-chromium-autoroll <skia-chromium-autoroll@skia-buildbots.google.com.iam.gserviceaccount.com>
Cr-Commit-Position: refs/heads/master@{#551166}
[modify] https://crrev.com/7d2819d74a603b31179b1fc8e6f32d56078009e3/DEPS

Project Member

Comment 19 by bugdroid1@chromium.org, Apr 17 2018

Labels: merge-merged-testbranch
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/db0f55c0a0e90c982b77e44229aaa3d4ba2f3cdb

commit db0f55c0a0e90c982b77e44229aaa3d4ba2f3cdb
Author: skia-chromium-autoroll@skia-buildbots.google.com.iam.gserviceaccount.com <skia-chromium-autoroll@skia-buildbots.google.com.iam.gserviceaccount.com>
Date: Fri Apr 13 20:04:30 2018

Roll src/third_party/skia/ c6c5eade8..21dfd8467 (29 commits)

https://skia.googlesource.com/skia.git/+log/c6c5eade823a..21dfd846724a

$ git log c6c5eade8..21dfd8467 --date=short --no-merges --format='%ad %ae %s'
2018-04-13 angle-skia-autoroll Roll third_party/externals/angle2/ ed8d5ec73..cc1293775 (1 commit)
2018-04-12 liyuqian Limit our IsBadForDAA for stroke width > 0 and <= 2
2018-04-12 csmartdalton ccpr: Actually blacklist ANGLE
2018-04-12 angle-skia-autoroll Roll third_party/externals/angle2/ 14f4817c4..ed8d5ec73 (8 commits)
2018-04-12 reed can't abort looper loop, as saveCount won't be balanced
2018-04-12 egdaniel Don't create lazy proxys if their width/height is greater than max tex size
2018-04-12 robertphillips Actually generate the gm images on the DDL1 bot
2018-04-12 caryclark son of path is rect bug
2018-04-12 ethannicholas workaround for buggy macOS GLSL shader compiler
2018-04-12 egdaniel Delete getRenderTargetHandle call on SkSurface.
2018-04-12 reed check for non-finite values output by clipper
2018-04-12 brianosman Fail fast when trying to make a texture that's too large
2018-04-12 djsollen Include shadow ops in the debugger.
2018-04-11 liyuqian Reland "Add private fIsBadForDAA bit to SkPath"
2018-04-12 reed add conservative bounds to raster tiling
2018-04-12 reed always clear the looper when we're unrolling it, to not confused devices
2018-04-11 robertphillips Disable CCPR and the small path renderer on DDL1 bot
2018-04-12 caryclark another rect is path fix
2018-04-11 robertphillips Add SK_SUPPORT_LEGACY_BACKEND_OBJECTS
2018-04-11 csmartdalton Implement Sk2f Load2
2018-04-11 csmartdalton ccpr: Blacklist ANGLE again
2018-04-11 robertphillips Allow SkImage_Gpu to fail some requests in DDL mode
2018-04-11 cwallez update_meta_config: Use new LUCI optional GPU trybot on Windows
2018-04-11 csmartdalton Implement Sk4f min/max
2018-04-11 liyuqian Remove obsolete comment
2018-04-11 benjaminwagner Upgrade PixelC and NexusPlayer OS.
2018-04-12 angle-skia-autoroll Roll third_party/externals/angle2/ 2dadd1d08..14f4817c4 (2 commits)
2018-04-11 caryclark fix bm gm
2018-04-12 mtklein skcms→1654786 concat gamut transform matrices together

Created with:
  roll-dep src/third_party/skia
BUG= chromium:824145 , chromium:821353 ,chromium:818693,chromium:820245,chromium:820470, chromium:824145 ,chromium:815092


The AutoRoll server is located here: https://autoroll.skia.org

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+/master/autoroll/README.md

If the roll is causing failures, please contact the current sheriff, who should
be CC'd on the roll, and stop the roller if necessary.


CQ_INCLUDE_TRYBOTS=master.tryserver.blink:linux_trusty_blink_rel;luci.chromium.try:android_optional_gpu_tests_rel;luci.chromium.try:linux_optional_gpu_tests_rel;luci.chromium.try:mac_optional_gpu_tests_rel;luci.chromium.try:win_optional_gpu_tests_rel
TBR=borenet@chromium.org

Change-Id: Ic83a9e3addd0c3593736a5bd03a4b4b2d37b7c51
Reviewed-on: https://chromium-review.googlesource.com/1011738
Reviewed-by: skia-chromium-autoroll <skia-chromium-autoroll@skia-buildbots.google.com.iam.gserviceaccount.com>
Commit-Queue: Eric Boren <borenet@chromium.org>
Cr-Commit-Position: refs/heads/master@{#550739}
[modify] https://crrev.com/db0f55c0a0e90c982b77e44229aaa3d4ba2f3cdb/DEPS

Project Member

Comment 20 by bugdroid1@chromium.org, Apr 17 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/7d2819d74a603b31179b1fc8e6f32d56078009e3

commit 7d2819d74a603b31179b1fc8e6f32d56078009e3
Author: skia-chromium-autoroll@skia-buildbots.google.com.iam.gserviceaccount.com <skia-chromium-autoroll@skia-buildbots.google.com.iam.gserviceaccount.com>
Date: Mon Apr 16 23:19:30 2018

Roll src/third_party/skia/ ffbe93296..d234afdc2 (17 commits)

https://skia.googlesource.com/skia.git/+log/ffbe93296838..d234afdc2e56

$ git log ffbe93296..d234afdc2 --date=short --no-merges --format='%ad %ae %s'
2018-04-13 bungeman Remove SkPaint::kGenA8FromLCD_Flag.
2018-04-16 kjlubick Fix many return-std-move-in-c++11 warnings
2018-04-16 fmalita Remove unused BW mask blitters
2018-04-16 mtklein disable -Wself-assign in Google3
2018-04-16 mtklein skcms→2667f0a Add skcms_BestSingleCurve utility
2018-04-16 reed optimize fast/simple case in raster tiling
2018-04-13 liyuqian Simplify the operation on atomic fIsFinishing
2018-04-13 liyuqian Let SkCoverageDeltaList store width and use it during blitting
2018-04-11 liyuqian SkBlitter is not thread safe; make one for each thread.
2018-04-12 liyuqian Snap the bitmap as it may be changed later
2018-04-16 halcanary SkPDF: use std::aligned_storage for typed union
2018-04-16 rmistry Some Chromium bots have been LUCIfied
2018-04-16 angle-skia-autoroll Roll third_party/externals/angle2/ 76b2c3852..a4fa9c278 (3 commits)
2018-04-16 egdaniel Don't allow ganesh to allocate mip maps for wrapped textures.
2018-04-10 bsalomon Draw stroked circles with round caps analytically.
2018-04-16 liyuqian Reland "Cumulate deltas even if they're out of the clip"
2018-04-16 caryclark document SkColor.h

Created with:
  roll-dep src/third_party/skia
BUG=chromium:818693,chromium:820245,chromium:820470


The AutoRoll server is located here: https://autoroll.skia.org

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+/master/autoroll/README.md

If the roll is causing failures, please contact the current sheriff, who should
be CC'd on the roll, and stop the roller if necessary.


CQ_INCLUDE_TRYBOTS=master.tryserver.blink:linux_trusty_blink_rel;luci.chromium.try:android_optional_gpu_tests_rel;luci.chromium.try:linux_optional_gpu_tests_rel;luci.chromium.try:mac_optional_gpu_tests_rel;luci.chromium.try:win_optional_gpu_tests_rel
TBR=scroggo@chromium.org

Change-Id: If635e8f9d3bdfb9b34afb9ba244c0a1cc269c868
Reviewed-on: https://chromium-review.googlesource.com/1014413
Commit-Queue: skia-chromium-autoroll <skia-chromium-autoroll@skia-buildbots.google.com.iam.gserviceaccount.com>
Reviewed-by: skia-chromium-autoroll <skia-chromium-autoroll@skia-buildbots.google.com.iam.gserviceaccount.com>
Cr-Commit-Position: refs/heads/master@{#551166}
[modify] https://crrev.com/7d2819d74a603b31179b1fc8e6f32d56078009e3/DEPS

Comment 21 by reed@google.com, May 21 2018

The identified CL was "optimize fast/simple case in raster tiling". This change was required for correctness (i.e. a bug fix) when drawing into a large canvas (i.e. > 8K width or height). This test is also measuring drawing with SW renderer, instead of GPU, so I'm not how representative this test is of general user experience.

Owner: reed@chromium.org

Comment 23 by reed@chromium.org, Jan 16 (6 days ago)

Owner: reed@google.com

Sign in to add a comment