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

Issue 644401 link

Starred by 1 user

Issue metadata

Status: Fixed
Owner:
Last visit > 30 days ago
Closed: Sep 2016
Cc:
EstimatedDays: ----
NextAction: ----
OS: ----
Pri: 2
Type: Bug-Regression



Sign in to add a comment

72.5% regression in blink_perf.canvas at 415936:415991

Project Member Reported by m...@chromium.org, Sep 6 2016

Issue description

See the link to graphs below.
 

Comment 1 by m...@chromium.org, Sep 6 2016

All graphs for this bug:
  https://chromeperf.appspot.com/group_report?bug_id=644401

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


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

win-zenbook
Cc: junov@chromium.org
Owner: junov@chromium.org

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

Hi junov@chromium.org, the bisect results pointed to your CL below as possibly
causing a regression. Please have a look at this info and see whether
your CL be related.


===== BISECT JOB RESULTS =====
Status: completed


===== SUSPECTED CL(s) =====
Subject : Make OffscreenCanvas a member of CanvasImageSource
Author  : junov
Commit description:
  
This change makes it possible to call the drawImage and createPattern
methods of CanvasRenderingContext2D with an OffscreenCAnvas as an
argument

BUG= 632015 
TBR=haraken@chromium.org
CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.win:win_optional_gpu_tests_rel;master.tryserver.chromium.mac:mac_optional_gpu_tests_rel

Review-Url: https://codereview.chromium.org/2294383002
Cr-Commit-Position: refs/heads/master@{#415942}
Commit  : 605fa62ea2c9ac2924ff08f21106775d412bed5b
Date    : Thu Sep 01 13:44:26 2016


===== TESTED REVISIONS =====
Revision         Mean     Std Dev  N  Good?
chromium@415935  3335.95  431.526  5  good
chromium@415939  2645.55  259.439  5  good
chromium@415941  2596.91  424.127  5  good
chromium@415942  654.98   21.4256  5  bad    <--
chromium@415949  664.602  4.26498  5  bad
chromium@415963  664.463  3.45497  5  bad
chromium@415991  711.193  78.505   5  bad

Bisect job ran on: winx64_zen_perf_bisect
Bug ID: 644401

Test Command: src/tools/perf/run_benchmark -v --browser=release_x64 --output-format=chartjson --upload-results --also-run-disabled-tests blink_perf.canvas
Test Metric: draw-static-webgl-to-hw-accelerated-canvas-2d/draw-static-webgl-to-hw-accelerated-canvas-2d
Relative Change: 78.68%
Score: 99.9

Buildbot stdio: http://build.chromium.org/p/tryserver.chromium.perf/builders/winx64_zen_perf_bisect/builds/467
Job details: https://chromeperf.appspot.com/buildbucket_job_status/9002242285258705008


Not what you expected? We'll investigate and get back to you!
  https://chromeperf.appspot.com/bad_bisect?try_job_id=5776463620472832

| 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 Tests>AutoBisect.  Thank you!

===== BISECT JOB RESULTS =====
Status: completed


===== SUSPECTED CL(s) =====
Subject : Make OffscreenCanvas a member of CanvasImageSource
Author  : junov
Commit description:
  
This change makes it possible to call the drawImage and createPattern
methods of CanvasRenderingContext2D with an OffscreenCAnvas as an
argument

BUG= 632015 
TBR=haraken@chromium.org
CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.win:win_optional_gpu_tests_rel;master.tryserver.chromium.mac:mac_optional_gpu_tests_rel

Review-Url: https://codereview.chromium.org/2294383002
Cr-Commit-Position: refs/heads/master@{#415942}
Commit  : 605fa62ea2c9ac2924ff08f21106775d412bed5b
Date    : Thu Sep 01 13:44:26 2016


===== TESTED REVISIONS =====
Revision         Mean     Std Dev  N  Good?
chromium@415935  2185.33  19.3225  5  good
chromium@415939  3109.0   468.858  5  good
chromium@415941  2396.68  106.228  5  good
chromium@415942  590.809  6.90923  5  bad    <--
chromium@415949  589.551  5.93712  5  bad
chromium@415963  596.772  4.52133  5  bad
chromium@415991  569.29   15.3473  5  bad

Bisect job ran on: winx64_zen_perf_bisect
Bug ID: 644401

Test Command: src/tools/perf/run_benchmark -v --browser=release_x64 --output-format=chartjson --upload-results --also-run-disabled-tests blink_perf.canvas
Test Metric: draw-static-webgl-to-hw-accelerated-canvas-2d/draw-static-webgl-to-hw-accelerated-canvas-2d
Relative Change: 73.95%
Score: 99.9

Buildbot stdio: http://build.chromium.org/p/tryserver.chromium.perf/builders/winx64_zen_perf_bisect/builds/466
Job details: https://chromeperf.appspot.com/buildbucket_job_status/9002242275202618944


Not what you expected? We'll investigate and get back to you!
  https://chromeperf.appspot.com/bad_bisect?try_job_id=5891277223100416

| 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 Tests>AutoBisect.  Thank you!
Project Member

Comment 6 by bugdroid1@chromium.org, Sep 7 2016

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

commit 980562f70d53ff313d4f5cd885c70248d3dd902a
Author: junov <junov@chromium.org>
Date: Wed Sep 07 19:35:18 2016

Fix performance regression in WebGL to 2D canvas draws.

Regression was introduced by this change:
https://codereview.chromium.org/2294383002

The change inadvertently modified the steps performed by
HTMLCanvasElement::getSourceImageForCanvas by no longer taking
advantage of the cached rendering results of the WebGL drawing buffer.
A secondary source of regression was that the AccelerationHint was
not being propagated correctly.

BUG= 644401 
CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.win:win_optional_gpu_tests_rel;master.tryserver.chromium.mac:mac_optional_gpu_tests_rel
TEST=blink_perf.canvas / draw-static-webgl-to-hw-accelerated-canvas-2d

Review-Url: https://codereview.chromium.org/2320663002
Cr-Commit-Position: refs/heads/master@{#417029}

[modify] https://crrev.com/980562f70d53ff313d4f5cd885c70248d3dd902a/third_party/WebKit/Source/core/html/HTMLCanvasElement.cpp
[modify] https://crrev.com/980562f70d53ff313d4f5cd885c70248d3dd902a/third_party/WebKit/Source/core/html/canvas/CanvasRenderingContext.h
[modify] https://crrev.com/980562f70d53ff313d4f5cd885c70248d3dd902a/third_party/WebKit/Source/core/offscreencanvas/OffscreenCanvas.cpp
[modify] https://crrev.com/980562f70d53ff313d4f5cd885c70248d3dd902a/third_party/WebKit/Source/modules/canvas2d/CanvasRenderingContext2D.cpp
[modify] https://crrev.com/980562f70d53ff313d4f5cd885c70248d3dd902a/third_party/WebKit/Source/modules/canvas2d/CanvasRenderingContext2D.h
[modify] https://crrev.com/980562f70d53ff313d4f5cd885c70248d3dd902a/third_party/WebKit/Source/modules/imagebitmap/ImageBitmapRenderingContext.h
[modify] https://crrev.com/980562f70d53ff313d4f5cd885c70248d3dd902a/third_party/WebKit/Source/modules/offscreencanvas2d/OffscreenCanvasRenderingContext2D.cpp
[modify] https://crrev.com/980562f70d53ff313d4f5cd885c70248d3dd902a/third_party/WebKit/Source/modules/offscreencanvas2d/OffscreenCanvasRenderingContext2D.h
[modify] https://crrev.com/980562f70d53ff313d4f5cd885c70248d3dd902a/third_party/WebKit/Source/modules/webgl/WebGLRenderingContextBase.cpp
[modify] https://crrev.com/980562f70d53ff313d4f5cd885c70248d3dd902a/third_party/WebKit/Source/modules/webgl/WebGLRenderingContextBase.h

Comment 7 by junov@chromium.org, Sep 8 2016

Status: Fixed (was: Assigned)
Performance is back to normal according to the graphs.  Fixed!

Sign in to add a comment