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

Issue 659438 link

Starred by 3 users

Issue metadata

Status: Verified
Owner:
Last visit 21 days ago
Closed: Nov 2016
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Chrome
Pri: 1
Type: Bug

Blocking:
issue 535198



Sign in to add a comment

[auron/jecht] graphics_WebGLAquarium performance regression (60fps -> 35fps)

Project Member Reported by ihf@chromium.org, Oct 26 2016

Issue description

Aregression visible on many Intel devices happened 
https://crosland.corp.google.com/log/8777.0.0..8778.0.0
and was obviously integrated to M54. But I bet that was in Chrome.
https://chromium.googlesource.com/chromium/src/+log/55.0.2846.0..55.0.2852.0?pretty=fuller&n=10000

Unfortunately we are missing M54 coverage for a month after branching, otherwise the change might be easier to locate.

https://cros-goldeneye.corp.google.com/chromeos/console/listCrosbolt?graphSKU=tidus_intel_broadwell_celeron_3205U_2Gb&graphTest=graphics_WebGLAquarium%2Favg_fps_1000_fishes.avg_fps_1000_fishes
 

Comment 1 by ihf@chromium.org, Oct 26 2016

Cc: rohi...@chromium.org josa...@chromium.org gurcheta...@chromium.org djkurtz@chromium.org marc...@chromium.org h...@chromium.org
Summary: [auron/jecht] graphics_WebGLAquarium performance regression (60fps -> 35fps) (was: [Intel] graphics_WebGLAquarium performance regression)
Due to the magnitude of the regression this could be a RBS, but I understand it is late.

Rohit, do you see jank, bad performance on M54 Intel auron/jecht devices?

Should probably be bisected as it hasn't recovered fully on M56 yet (about 40 fps now).
Hmm this is very, very bad and is defintely a blocker IMO... I'll try to find time to bisect chrome tomorrow.

Is there a way to see the same graph on other devices than tidus?
Cc: kbr@chromium.org
CCing Ken who might know about webgl regressions

Comment 4 by kbr@chromium.org, Oct 26 2016

Cc: robert.b...@intel.com dongseon...@intel.com zmo@chromium.org
Obviously no intentional regression was introduced, but a lot of changes went in to WebGL's DrawingBuffer code in the past couple of releases. Perhaps some optimization was lost. I think CMAA was also turned on for some Intel GPUs. CC'ing a couple of Intel folks.

Cc: conradlo@chromium.org benchan@chromium.org
We haven't received any reports on jank or bad performance on M54 but given this is a regression, we should fix this in M55.

The closest regression range I could find is:

https://cros-goldeneye.corp.google.com/chromeos/console/listCrosbolt?baselineMilestoneChannel=53%20%3A%20STABLE&comparisonMilestoneChannel=54%20%3A%20BETA&analysisType=BUILD_TO_BUILD&selectedDevices&graphSKU=gandof_intel_broadwell_celeron_3215U_4Gb&graphTest=graphics_WebGLAquarium%2Favg_fps_1000_fishes.avg_fps_1000_fishes

Version: 54.8743.0.0
Browser Version: 54.0.2837.0
Date: 2016-08-26
Value: 59.297485

Version: 54.8743.25.1
Browser Version: 54.0.2840.24
Date: 2016-09-22
Value: 42.880447

https://crosland.corp.google.com/log/8743.0.0..8743.25.0
https://chromium.googlesource.com/chromium/src/+log/54.0.2837.0..54.0.2840.24?pretty=fuller&n=10000

Comment 6 by ihf@chromium.org, Oct 26 2016

You are pointing to the 1 month no test data window on M54 (where it regressed probably due to integration from M55).
Yup that commit is the culprit. Dongseong, can you fix it this week? Otherwise I'll revert.
By the way it's pretty interesting that the commit message says "It fixes the bug as well as speeds up copy." while in reality it slows everything down...
The revert which restores the performance is at https://codereview.chromium.org/2456913002
Labels: -M-54 M-55 ReleaseBlock-Stable
Let's get this into M55 and we can decide for M54.
Cc: intel@chromium.org
ok, the week has ended and no reaction from intel, I'm landing the revert.
marcheu@ sgtm. But if you revert that change you'll need to disable CMAA entirely as otherwise you'll have Camera app issues.
@13: Feel free to submit a patch for that, for now I'm just getting us back to the previous state.
Project Member

Comment 15 by bugdroid1@chromium.org, Oct 29 2016

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

commit 6589f37045b3dbd94ec4a3245d2313dc9a7cd427
Author: marcheu <marcheu@google.com>
Date: Sat Oct 29 01:41:14 2016

Revert "gpu, cmaa: copy RGBA8 texture via glCopyTexSubImage2D() instead of imageStore()."

This reverts commit b2d7e66345c253f353d1d3c555964f6e95e26b9c.

This change kills webgl performance.

BUG= chromium:659438 
TEST=build and run on cyan, check that performance is back

Revert "gpu, cmaa: reduce one-copy"

This reverts commit 2058173d586111ff8b4d19ddf5cb53fc6a3233ca.

This change kills webgl performance.

BUG= chromium:659438 
TEST=build and run on cyan, check that performance is back
CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.linux:linux_optional_gpu_tests_rel;master.tryserver.chromium.mac:mac_optional_gpu_tests_rel;master.tryserver.chromium.win:win_optional_gpu_tests_rel

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

[modify] https://crrev.com/6589f37045b3dbd94ec4a3245d2313dc9a7cd427/gpu/command_buffer/service/gles2_cmd_apply_framebuffer_attachment_cmaa_intel.cc
[modify] https://crrev.com/6589f37045b3dbd94ec4a3245d2313dc9a7cd427/gpu/command_buffer/service/gles2_cmd_apply_framebuffer_attachment_cmaa_intel.h

Blocking: 535198
Cc: piman@chromium.org
Owner: dongseon...@intel.com
thank you for reverting. I missed this issue.
in parallel, I found same issue and under the review
https://codereview.chromium.org/2460973002/

For some reason, glCopyTexSubImage2D is slow in Intel Mesa, and I filed the bug to mesa also; https://bugs.freedesktop.org/show_bug.cgi?id=98478
Project Member

Comment 17 by bugdroid1@chromium.org, Oct 31 2016

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

commit 6cd0a67f8256ecb9e0fb899528bdffc74f0e7042
Author: dongseong.hwang <dongseong.hwang@intel.com>
Date: Mon Oct 31 21:37:47 2016

Reland "gpu, cmaa: reduce one-copy", "gpu, cmaa: copy RGBA8 texture via glCopyTexSubImage2D() instead of imageStore()."

Original CL:
https://codereview.chromium.org/2298613010 : use glCopyTexSubImage2D, and fix Pri1 bug
https://codereview.chromium.org/2405893002 : optimize further

Revert CL:
https://codereview.chromium.org/2456913002 : glCopyTexSubImage2D regresses performance and optimization CL is reverted due to conflict.

Changes:
- fix Pri1 bug as-is
- optimize further as-is
- don't introduce glCopyTexSubImage2D, and use the existing copy shader.

BUG= 535198 , 642290,  659438 
CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.linux:linux_optional_gpu_tests_rel;master.tryserver.chromium.mac:mac_optional_gpu_tests_rel;master.tryserver.chromium.win:win_optional_gpu_tests_rel

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

[modify] https://crrev.com/6cd0a67f8256ecb9e0fb899528bdffc74f0e7042/gpu/command_buffer/service/gles2_cmd_apply_framebuffer_attachment_cmaa_intel.cc
[modify] https://crrev.com/6cd0a67f8256ecb9e0fb899528bdffc74f0e7042/gpu/command_buffer/service/gles2_cmd_apply_framebuffer_attachment_cmaa_intel.h

Status: Fixed (was: Untriaged)
The reverted CL is relanded with regression fix.
#17 reduces one glDrawArrays when copy is needed, and I see slight speed-up in Pixel 2.
4k aquarium on Pixel 2: 31.5 FPS -> 32.5 FPS

Comment 21 by ihf@chromium.org, Nov 1 2016

Labels: Merge-Request-55
Request merge to M55.
Labels: -Merge-Request-55 Merge-Approved-55
Project Member

Comment 23 by sheriffbot@chromium.org, Nov 5 2016

This issue has been approved for a merge. Please merge the fix to any appropriate branches as soon as possible!

If all merges have been completed, please remove any remaining Merge-Approved labels from this issue.

Thanks for your time! To disable nags, add the Disable-Nags label.

For more details visit https://www.chromium.org/issue-tracking/autotriage - Your friendly Sheriffbot
Project Member

Comment 24 by sheriffbot@chromium.org, Nov 8 2016

This issue has been approved for a merge. Please merge the fix to any appropriate branches as soon as possible!

If all merges have been completed, please remove any remaining Merge-Approved labels from this issue.

Thanks for your time! To disable nags, add the Disable-Nags label.

For more details visit https://www.chromium.org/issue-tracking/autotriage - Your friendly Sheriffbot

Comment 25 by kbr@chromium.org, Nov 8 2016

Who is going to handle the cherry-pick of 6589f37045b3dbd94ec4a3245d2313dc9a7cd427 to M55?

I don't think it's a big deal if we don't have it, but I can look into if really needed...
Labels: -M-55 -Merge-Approved-55 M-56
M55 is on Stable now .. let's not merge at this point, please re add label if you think otherwise 

Comment 28 by krk@chromium.org, Jan 7 2017

Not sure if this is related - Veyron-pinky devices are experiencing a regression for webgl https://screenshot.googleplex.com/iWnPJPGzUwK.png on ToT


Comment 29 by krk@chromium.org, Jan 7 2017

Ignore #28 for now, I'll file a separate bug and we can dupe if necessary

Sign in to add a comment