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

Issue 766611 link

Starred by 2 users

Issue metadata

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



Sign in to add a comment

92.4% improvement in smoothness.tough_canvas_cases at 491805:493806

Project Member Reported by alexclarke@chromium.org, Sep 19 2017

Issue description

Suspiciously large improvement, could this be a bug?
 
Project Member

Comment 1 by 42576172...@developer.gserviceaccount.com, Sep 19 2017

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

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


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

chromium-rel-win7-gpu-intel
Project Member

Comment 3 by 42576172...@developer.gserviceaccount.com, Sep 19 2017


=== BISECT JOB RESULTS ===
NO Perf regression found

Bisect Details
  Configuration: winx64intel_perf_bisect
  Benchmark    : smoothness.tough_canvas_cases
  Metric       : frame_times/tough_canvas_cases_rendering_throughput_bouncing_png_images.html

Revision             Result                  N
chromium@491804      522.448 +- 159.355      21      good
chromium@493806      40.2917 +- 0.0          1       bad

To Run This Test
  src/tools/perf/run_benchmark -v --browser=release_x64 --output-format=chartjson --upload-results --pageset-repeat=1 --also-run-disabled-tests --story-filter=tough.canvas.cases.rendering.throughput.bouncing.png.images.html smoothness.tough_canvas_cases

More information on addressing performance regressions:
  http://g.co/ChromePerformanceRegressions

Debug information about this bisect:
  https://chromeperf.appspot.com/buildbucket_job_status/8968029965358764896


For feedback, file a bug with component Speed>Bisection
Cc: sullivan@chromium.org
This is strange the graph has dropped to zero but the bots don't find anything.

+Sullivan as FYI
Owner: junov@chromium.org
junov, as test owner, can you take a look?
Cc: nedngu...@google.com
Ned: looks like something weird may be going on with this bot. Can you help triage?
Cc: vmi...@chromium.org tdres...@chromium.org
The ref build's data still look normal, so I suspect this has more to do with the chrome binary change.

THe trace shows that there is no frame in Interaction.CanvasAnimation period:  https://console.developers.google.com/m/cloudstorage/b/chrome-telemetry-output/o/tough_canvas_cases_rendering_throughput_bouncing_png_images_html_2017-09-25_03-54-13_24372.html

The trace for ref build with the same page:
https://console.developers.google.com/m/cloudstorage/b/chrome-telemetry-output/o/tough_canvas_cases_rendering_throughput_bouncing_png_images_html_2017-09-25_04-04-08_12872.html


I guess someone update the instrumentation or how the canvas animation is rendered?

+Victor/Tim in case they have any insights about this trace.

Comment 8 by vmi...@chromium.org, Sep 25 2017

Perhaps this test isn't producing any frames.   However I think smoothness metrics on Android are computed from SurfaceFlinger trace timeline, and we are missing that timeline in the saved traces.

junov@ could you check if the test is still working?

Comment 9 by vmi...@chromium.org, Sep 25 2017

Sorry this is Windows so my SurfaceFlinger comment above doesn't apply.  We must be using the browser's BenchmarkInstrumentation::ImplThreadRenderingStats data.
Cc: dtu@chromium.org
I also think the bisect in #3 failed because the legacy bisect doesn't know how to bisect improvement well? It was able to reproduce the difference:
Revision             Result                  N
chromium@491804      522.448 +- 159.355      21      good
chromium@493806      40.2917 +- 0.0          1       bad


Dave: can we try pinpoint to bisect this yet? :P
Pinpoint's not available on Windows yet.

Comment 12 by junov@chromium.org, Sep 26 2017

Cc: junov@chromium.org
Components: Blink>Canvas
Owner: xidac...@chromium.org
Xida, could you check whether your change to use Canvas2DLayerBridge for SW raster caused this?
This looks reproducible on Linux as well. Here is the summary of what I tried:
1. using stable chrome to run the test, and the frame time is roughly 500ms. 
2. using tip of tree, the frame time is empty
3. using tip of tree with this CL: https://chromium-review.googlesource.com/c/chromium/src/+/685379, the frame time is ~32ms.
4. using tip of tree with the above CL and with reverting this CL: https://chromium-review.googlesource.com/c/chromium/src/+/607200, the frame time is ~32ms.

Comment 14 by junov@chromium.org, Sep 27 2017

Ah, thanks for looking into this.  No idea how you figured that the missing WaitSyncToken was causing this.  I'll add a reference to this BUG to https://chromium-review.googlesource.com/c/chromium/src/+/685379
junov@: I run the test locally with your to-be-landed CL, and instead of empty results, I saw frame time became ~32ms. Although it is still suspicous that stable chrome is ~500ms

Comment 16 by junov@chromium.org, Sep 27 2017

Okay, let's wait and see how the bots respond...
Project Member

Comment 17 by bugdroid1@chromium.org, Sep 27 2017

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

commit 3caef7b900b16af22a5eba78a27aef5516011e52
Author: Justin Novosad <junov@chromium.org>
Date: Wed Sep 27 19:21:03 2017

Add missing synchronization in 2d canvas resource release

Call to WaitSyncTokenCHROMIUM was removed by mistake in:
https://chromium-review.googlesource.com/c/chromium/src/+/579690

BUG= 769155 , 766611

Change-Id: I25a95c79755801463b15fb12047458c594bf24d6
Reviewed-on: https://chromium-review.googlesource.com/685379
Commit-Queue: Xida Chen <xidachen@chromium.org>
Commit-Queue: Justin Novosad <junov@chromium.org>
Reviewed-by: Xida Chen <xidachen@chromium.org>
Reviewed-by: Olivia Lai <xlai@chromium.org>
Cr-Commit-Position: refs/heads/master@{#504748}
[modify] https://crrev.com/3caef7b900b16af22a5eba78a27aef5516011e52/third_party/WebKit/Source/platform/graphics/Canvas2DLayerBridge.cpp

Comment 18 by junov@chromium.org, Sep 29 2017

Status: Assigned (was: Untriaged)
Project Member

Comment 19 by bugdroid1@chromium.org, Oct 2 2017

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

commit e973fe29902695113010b2ec127260f0d3b08b15
Author: Justin Novosad <junov@chromium.org>
Date: Mon Oct 02 17:48:59 2017

Add missing synchronization in 2d canvas resource release

Call to WaitSyncTokenCHROMIUM was removed by mistake in:
https://chromium-review.googlesource.com/c/chromium/src/+/579690

BUG= 769155 , 766611
TBR=junov@chromium.org

(cherry picked from commit 3caef7b900b16af22a5eba78a27aef5516011e52)

Change-Id: I25a95c79755801463b15fb12047458c594bf24d6
Reviewed-on: https://chromium-review.googlesource.com/685379
Commit-Queue: Xida Chen <xidachen@chromium.org>
Commit-Queue: Justin Novosad <junov@chromium.org>
Reviewed-by: Xida Chen <xidachen@chromium.org>
Reviewed-by: Olivia Lai <xlai@chromium.org>
Cr-Original-Commit-Position: refs/heads/master@{#504748}
Reviewed-on: https://chromium-review.googlesource.com/695881
Reviewed-by: Justin Novosad <junov@chromium.org>
Cr-Commit-Position: refs/branch-heads/3202@{#541}
Cr-Branched-From: fa6a5d87adff761bc16afc5498c3f5944c1daa68-refs/heads/master@{#499098}
[modify] https://crrev.com/e973fe29902695113010b2ec127260f0d3b08b15/third_party/WebKit/Source/platform/graphics/Canvas2DLayerBridge.cpp

It does not look like this issue is fixed, based on the perf graphs.
The perf bot seems to stop running that test after r502757 which is 3 weeks ago:
https://chromeperf.appspot.com/report?sid=8759453d4a047f05402b5535478846436fdedac84db3451ec10895258927c331
Owner: junov@chromium.org
junov@: could you investigate? Looks like it is not producing any frame.
junov: can you take a look?
Components: Internals>GPU>Metrics
Cc: -junov@chromium.org
Owner: ----
Status: Available (was: Assigned)
Owner: sadrul@chromium.org
Since this benchmark was merged into rendering.desktop, assigning to the owner of that benchmark for triage.
Status: Assigned (was: Available)

Sign in to add a comment