[auron/jecht] graphics_WebGLAquarium performance regression (60fps -> 35fps) |
||||||||||||
Issue descriptionAregression 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
,
Oct 26 2016
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?
,
Oct 26 2016
CCing Ken who might know about webgl regressions
,
Oct 26 2016
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.
,
Oct 26 2016
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
,
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).
,
Oct 27 2016
,
Oct 27 2016
Yup that commit is the culprit. Dongseong, can you fix it this week? Otherwise I'll revert.
,
Oct 27 2016
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...
,
Oct 27 2016
The revert which restores the performance is at https://codereview.chromium.org/2456913002
,
Oct 27 2016
Let's get this into M55 and we can decide for M54.
,
Oct 28 2016
ok, the week has ended and no reaction from intel, I'm landing the revert.
,
Oct 28 2016
marcheu@ sgtm. But if you revert that change you'll need to disable CMAA entirely as otherwise you'll have Camera app issues.
,
Oct 28 2016
@13: Feel free to submit a patch for that, for now I'm just getting us back to the previous state.
,
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
,
Oct 29 2016
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
,
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
,
Nov 1 2016
,
Nov 1 2016
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
,
Nov 1 2016
The revert helped with some Intel boards https://cros-goldeneye.corp.google.com/chromeos/console/listCrosbolt?graphSKU=buddy_intel_broadwell_celeron_3215_4Gb&graphTest=graphics_WebGLAquarium%2Favg_fps_1000_fishes.avg_fps_1000_fishes Unfortunately just before another regression hit affecting mostly slower SOCs (Intel and ARM alike). https://cros-goldeneye.corp.google.com/chromeos/console/listCrosbolt?graphSKU=clapper_intel_celeron_n2830_2Gb&graphTest=graphics_WebGLAquarium%2Favg_fps_1000_fishes.avg_fps_1000_fishes This new regression happened either in https://crosland.corp.google.com/log/8934.0.0..8935.0.0 or https://chromium.googlesource.com/chromium/src/+log/56.0.2899.0..56.0.2900.0?pretty=fuller&n=10000 I filed issue 661186 for that.
,
Nov 1 2016
Request merge to M55.
,
Nov 1 2016
,
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
,
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
,
Nov 8 2016
Who is going to handle the cherry-pick of 6589f37045b3dbd94ec4a3245d2313dc9a7cd427 to M55?
,
Nov 9 2016
I don't think it's a big deal if we don't have it, but I can look into if really needed...
,
Dec 16 2016
M55 is on Stable now .. let's not merge at this point, please re add label if you think otherwise
,
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
,
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 |
||||||||||||
Comment 1 by ihf@chromium.org
, Oct 26 2016Summary: [auron/jecht] graphics_WebGLAquarium performance regression (60fps -> 35fps) (was: [Intel] graphics_WebGLAquarium performance regression)