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

Issue 882951 link

Starred by 2 users

Issue metadata

Status: Fixed
Owner:
Closed: Sep 18
Cc:
EstimatedDays: ----
NextAction: ----
OS: ----
Pri: 1
Type: ----

Blocking:
issue 835353



Sign in to add a comment

rendering.mobile/animometer_webgl and 33 other(s) in performance_webview_test_suite failing on chromium.perf/Android Nexus5X WebView Perf

Project Member Reported by sheriff-...@appspot.gserviceaccount.com, Sep 11

Issue description

Filed by sheriff-o-matic@appspot.gserviceaccount.com on behalf of charliea@chromium.org

rendering.mobile/animometer_webgl and 33 other(s) in performance_webview_test_suite failing on chromium.perf/Android Nexus5X WebView Perf

Builders failed on: 
- Android Nexus5X WebView Perf: 
  https://ci.chromium.org/p/chrome/builders/luci.chrome.ci/Android%20Nexus5X%20WebView%20Perf

Revision range looks to be r589783 (good) to r589785 (bad) where it went from a hard pass to a hard fail. Going to kick off a bisect.

Not going to disable because there are just so many tests failing. 
 
Cc: ericrk@chromium.org
Owner: ericrk@chromium.org
Status: Assigned (was: Available)
📍 Found a significant difference after 1 commit.
https://pinpoint-dot-chromeperf.appspot.com/job/17249045640000

Canvas/WebGL: Defer commits to limit queued frames. by ericrk@chromium.org
https://chromium.googlesource.com/chromium/src/+/0dd63a3394566a94619974f91ce14f8d7680512c
0 → 1 (+1)

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

Benchmark documentation link:
  https://bit.ly/rendering-benchmarks
Hi Eric,

It looks like your recent CL has caused 30+ rendering stories to start failing on Nexus5X Webview. Is it safe to revert this CL while you figure out what's gone wrong?

(Flakiness dashboard showing these failures -s earch for animometer_webgl)
Cc: ushesh@chromium.org
 Issue 883057  has been merged into this issue.
 Issue 883358  has been merged into this issue.
 Issue 883364  has been merged into this issue.
Project Member

Comment 5 by bugdroid1@chromium.org, Sep 13

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

commit 0405474407dff675506e6895f267b3bb3495a388
Author: Eric Karl <ericrk@chromium.org>
Date: Thu Sep 13 22:18:06 2018

Revert "Canvas/WebGL: Defer commits to limit queued frames."

This reverts commit 0dd63a3394566a94619974f91ce14f8d7680512c.

Reason for revert: Causes flakiness for a large number of tests. See  crbug.com/882951 

Original change's description:
> Canvas/WebGL: Defer commits to limit queued frames.
>
> This change adds more backpressure to Canvas/WebGL rendering in GPU
> bound situations.
>
> Before, the renderer could have three or four frames of drawing commands
> queued and waiting for execution by the GPU process. The GPU process
> does not know which drawing commands are associated with which display
> frame. Sometimes it would run multiple frames of queued drawing commands
> in one display frame, causing frame rate hiccups.
>
> Now when the TextureLayer has more than one buffer in flight, it calls
> DeferCommits to block the next requestAnimationFrame callback from
> running until one of the buffers is returned, indicating that the GPU
> process has executed the commands for that frame. The shorter pipeline
> reduces latency and prevents the GPU process from trying to execute
> multiple Canvas/WebGL frames in one display frame.
>
> Bug: 835353, 879658
> Cq-Include-Trybots: luci.chromium.try:android_optional_gpu_tests_rel;luci.chromium.try:linux_layout_tests_slimming_paint_v2;luci.chromium.try:win_optional_gpu_tests_rel;master.tryserver.blink:linux_trusty_blink_rel
> Change-Id: I7e5484add5fbd79757b205b1124ed7c2c5836dbb
> Reviewed-on: https://chromium-review.googlesource.com/1199699
> Commit-Queue: Eric Karl <ericrk@chromium.org>
> Reviewed-by: Sunny Sachanandani <sunnyps@chromium.org>
> Reviewed-by: Chris Harrelson <chrishtr@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#589784}

TBR=chrishtr@chromium.org,sunnyps@chromium.org,ericrk@chromium.org

# Not skipping CQ checks because original CL landed > 1 day ago.

Bug: 835353, 879658,  882951 ,  883364 ,  883358 ,  883057 ,  882618 
Change-Id: I3bee10c8f43c2868966cedb638afbb4b0d9babab
Cq-Include-Trybots: luci.chromium.try:android_optional_gpu_tests_rel;luci.chromium.try:linux_layout_tests_slimming_paint_v2;luci.chromium.try:win_optional_gpu_tests_rel;master.tryserver.blink:linux_trusty_blink_rel
Reviewed-on: https://chromium-review.googlesource.com/1224456
Commit-Queue: Eric Karl <ericrk@chromium.org>
Reviewed-by: Eric Karl <ericrk@chromium.org>
Cr-Commit-Position: refs/heads/master@{#591181}
[modify] https://crrev.com/0405474407dff675506e6895f267b3bb3495a388/cc/layers/texture_layer.cc
[modify] https://crrev.com/0405474407dff675506e6895f267b3bb3495a388/cc/layers/texture_layer.h
[modify] https://crrev.com/0405474407dff675506e6895f267b3bb3495a388/cc/layers/texture_layer_unittest.cc
[modify] https://crrev.com/0405474407dff675506e6895f267b3bb3495a388/third_party/blink/renderer/platform/graphics/canvas_2d_layer_bridge.cc
[modify] https://crrev.com/0405474407dff675506e6895f267b3bb3495a388/third_party/blink/renderer/platform/graphics/gpu/drawing_buffer.cc
[modify] https://crrev.com/0405474407dff675506e6895f267b3bb3495a388/third_party/blink/renderer/platform/graphics/gpu/image_layer_bridge.cc

Blocking: 835353
Status: Fixed (was: Assigned)
Found a different approach for backpressure, will not re-land the problem CL here.
Cc: jdarpinian@chromium.org

Sign in to add a comment