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

Issue 718752 link

Starred by 1 user

Issue metadata

Status: WontFix
Owner:
Last visit > 30 days ago
Closed: May 2017
Cc:
EstimatedDays: ----
NextAction: ----
OS: Mac
Pri: 2
Type: Bug-Regression



Sign in to add a comment

83.2% regression in blink_perf.canvas at 468668:468780

Project Member Reported by kraynov@chromium.org, May 5 2017

Issue description

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

Original alerts at time of bug-filing:
  https://chromeperf.appspot.com/group_report?keys=agxzfmNocm9tZXBlcmZyFAsSB0Fub21hbHkYgIDg8vXL6wgM


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

chromium-rel-mac11-pro
Cc: zakerinasab@chromium.org
Owner: zakerinasab@chromium.org

=== Auto-CCing suspected CL author zakerinasab@chromium.org ===

Hi zakerinasab@chromium.org, the bisect results pointed to your CL, please take a look at the
results.


=== BISECT JOB RESULTS ===
Perf regression found with culprit

Suspected Commit
  Author : zakerinasab
  Commit : 4c4a925b1a047a296b7962566ff63918f3eba1c4
  Date   : Tue May 02 20:34:28 2017
  Subject: Add performance test for ImageData.dataUnion

Bisect Details
  Configuration: mac_pro_perf_bisect
  Benchmark    : blink_perf.canvas
  Metric       : drawimage-not-pixelaligned/drawimage-not-pixelaligned
  Change       : 84.20% | 11817.8275872 -> 1866.93841388

Revision             Result                  N
chromium@468667      11817.8 +- 748.918      6      good
chromium@468724      11815.5 +- 400.391      6      good
chromium@468752      11928.7 +- 552.891      6      good
chromium@468759      11787.8 +- 452.004      6      good
chromium@468763      11963.2 +- 391.57       6      good
chromium@468764      2012.55 +- 11.9832      6      bad       <--
chromium@468765      2014.11 +- 14.8371      6      bad
chromium@468766      2005.86 +- 12.8838      6      bad
chromium@468780      1866.94 +- 18.4164      6      bad

To Run This Test
  src/tools/perf/run_benchmark -v --browser=release --output-format=chartjson --upload-results --pageset-repeat=1 --also-run-disabled-tests blink_perf.canvas

Debug Info
  https://chromeperf.appspot.com/buildbucket_job_status/8980446354711909088

Is this bisect wrong?
  https://chromeperf.appspot.com/bad_bisect?try_job_id=5886197940879360


| O O | Visit http://www.chromium.org/developers/speed-infra/perf-bug-faq
|  X  | for more information addressing perf regression bugs. For feedback,
| / \ | file a bug with component Speed>Bisection.  Thank you!
 Issue 718753  has been merged into this issue.
 Issue 718753  has been merged into this issue.
 Issue 718778  has been merged into this issue.
 Issue 718776  has been merged into this issue.
 Issue 718773  has been merged into this issue.
 Issue 718778  has been merged into this issue.

=== BISECT JOB RESULTS ===
Perf regression found with culprit

Suspected Commit
  Author : zakerinasab
  Commit : 4c4a925b1a047a296b7962566ff63918f3eba1c4
  Date   : Tue May 02 20:34:28 2017
  Subject: Add performance test for ImageData.dataUnion

Bisect Details
  Configuration: mac_pro_perf_bisect
  Benchmark    : blink_perf.canvas
  Metric       : drawimage-not-pixelaligned/drawimage-not-pixelaligned
  Change       : 84.25% | 11864.4837676 -> 1868.83280132

Revision             Result                  N
chromium@468667      11864.5 +- 387.372      6      good
chromium@468724      11770.8 +- 597.496      6      good
chromium@468752      11810.7 +- 800.312      6      good
chromium@468759      11950.6 +- 546.075      6      good
chromium@468763      11980.3 +- 230.047      6      good
chromium@468764      2011.13 +- 32.0454      6      bad       <--
chromium@468765      2000.04 +- 80.3519      6      bad
chromium@468766      2003.47 +- 21.8496      6      bad
chromium@468780      1868.83 +- 12.7666      6      bad

To Run This Test
  src/tools/perf/run_benchmark -v --browser=release --output-format=chartjson --upload-results --pageset-repeat=1 --also-run-disabled-tests blink_perf.canvas

Debug Info
  https://chromeperf.appspot.com/buildbucket_job_status/8980446343195767344

Is this bisect wrong?
  https://chromeperf.appspot.com/bad_bisect?try_job_id=5898674015567872


| O O | Visit http://www.chromium.org/developers/speed-infra/perf-bug-faq
|  X  | for more information addressing perf regression bugs. For feedback,
| / \ | file a bug with component Speed>Bisection.  Thank you!
 Issue 718773  has been merged into this issue.
 Issue 718789  has been merged into this issue.
 Issue 718789  has been merged into this issue.
 Issue 718776  has been merged into this issue.

Comment 16 Deleted

Cc: junov@chromium.org
Summarizing the merged bugs, here are the observed regressions on canvas performance tests after enabling color correct rendering for the tests:

~20% on getImageData
~16% on putImageData
~60% on createImageBitmapFromImageData
~80% on drawimage-not-pixelaligned

The regressions are observed dispersed on the following perf bots (only one regression on each):

chromium-rel-mac11
chromium-rel-mac11-pro
chromium-rel-mac12
chromium-rel-win7-gpu-ati
win-high-dpi
chromium-rel-win7-gpu-nvidia

I tried to reproduce the regression locally by disabling color correct rendering for the tests, not successful on Linux Ubuntu, Win 10 or Mac Pro 10.12. Also removing the code for color correction in ImageData and BRC2 does not result in observable performance improvement.

The regression might be due to the use of new color corrected Skia code path that unpremultiplies the pixels in linear space. Skia does (1) toLinear (2) unpremul (3) reencode with transfer fn, which is slower than the legacy unpremul. Legacy unpremul was used without color correct rendering when the color space passed to SkImage::readPixels and ::writePixels was null, for which Skia was merely unscaling gamma encoded pixels.
Status: WontFix (was: Assigned)

Sign in to add a comment