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

Issue 768400 link

Starred by 8 users

Issue metadata

Status: Assigned
Owner:
OOO until 2019-01-24
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Chrome
Pri: 2
Type: Bug-Regression

Blocking:
issue 535198
issue 730303



Sign in to add a comment

30.8% regression in graphics_WebGLAquarium/avg_fps_1000_fishes on cros-banjo at 32160000994900001:32180000995000000

Project Member Reported by gurcheta...@chromium.org, Sep 25 2017

Issue description

Performance dashboard identified a 30.8% regression in graphics_WebGLAquarium/avg_fps_1000_fishes on cros-banjo at revision range 32160000994900001:32180000995000000. Graph: https://chromeperf.appspot.com/report?masters=ChromeOS_Graphics&bots=cros-banjo&tests=graphics_WebGLAquarium%2Favg_fps_1000_fishes&checked=avg_fps_1000_fishes%2Cavg_fps_1000_fishes_ref%2Cref&rev=32180000995000000

ChromeOS Version range: 63.9949.0.0 - 63.9950.0.0 
Chrome Version range: 63.0.3216.0 - 63.0.3218.0 

https://crosland.corp.google.com/log/9949.0.0..9950.0.0
https://chromium.googlesource.com/chromium/src/+log/63.0.3216.0..63.0.3218.0?pretty=fuller&n=10000

Definitely a Chrome regression.    

Preparing the bisect script.
 
Cc: marc...@chromium.org zmo@chromium.org gurcheta...@chromium.org
Owner: kbr@chromium.org
[bisected]

cdc786f5d2a2b538f4914ba0afbaee15634206b9 is the first bad commit
commit cdc786f5d2a2b538f4914ba0afbaee15634206b9
Author: Kenneth Russell <kbr@chromium.org>
Date:   Sat Sep 16 21:07:21 2017 +0000

    Use 8x MSAA rather than 4x MSAA when available.
    
    Should produce higher quality antialiasing for all WebGL apps with
    hopefully not too much of a performance impact. Apparently Safari
    already uses this setting.
    
    BUG= 730303 
    
    Cq-Include-Trybots: master.tryserver.chromium.android:android_optional_gpu_tests_rel;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
    Change-Id: I4e280ded388996b453a0b306c787b9829210bcf0
    Reviewed-on: https://chromium-review.googlesource.com/669036
    Commit-Queue: Kenneth Russell <kbr@chromium.org>
    Reviewed-by: Zhenyao Mo <zmo@chromium.org>
    Reviewed-by: Kai Ninomiya <kainino@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#502513}

The avg_fps_1000_fishes metric of graphics_WebGLAquarium regressed by following amounts:

cros-banjo: 30.8%
cros-soraka: 12.8%
cros-expresso: 27.2%
cros-wolf: 11.4%
cros-glimmer: 29.1%
cros-mccloud: 22.9%

kbr@, zmo@ -- can you investigate this regression and try to improve the performance of this CL?  To build ChomeOS or Chrome for CrOS, please follow this guide:

http://www.chromium.org/chromium-os/developer-guide
https://chromium.googlesource.com/chromiumos/docs/+/master/simple_chrome_workflow.md

After you've built you can run this test with the following command:

test_that -b ${BOARD} $IP graphics_WebGLAquarium

It will report a variety of numbers.  The avg_fps_1000_fishes and avg_fps_0050_fishes metrics regressed the most.  Let me know if you have any questions.

Comment 2 by kbr@chromium.org, Sep 26 2017

Blocking: 730303
Cc: dongseon...@intel.com
Status: WontFix (was: Assigned)
It's expected that this change may have some performance impact on lower-end GPUs.

I would have thought that these Intel GPUs would be using the CMAA antialiasing code path for WebGL, but that's more on Intel's side to implement.

Sorry, but we plan to push forward with the deployment of this multisampling quality upgrade rather than having platform-dependent behavior (such as remaining at 4x MSAA for Chrome OS). Closing as WontFix.

Status: Assigned (was: WontFix)
If this change isn't supposed to affect performance on platforms which use CMAA, then this change has a bug, since at least one platform that uses CMAA is regressing (soraka).

Comment 5 by kbr@chromium.org, Sep 27 2017

There is definitely no bug in cdc786f5d2a2b538f4914ba0afbaee15634206b9 . The change is trivial. Perhaps there's a preexisting bug where the CMAA code path isn't being taken on this device.

Do you have one of these in house? Could you work with me to do a build for iti and I can come over to figure out what code path is taken and why?

what's iti?

Comment 7 by kbr@chromium.org, Sep 27 2017

...do a build for it...

Duh, I'm so used to codenames I thought "iti" was something special. Yes of course I can help.

Comment 9 by kbr@chromium.org, Oct 2 2017

Cc: kbr@chromium.org
Owner: marc...@chromium.org
Thanks. Let me assign this to you until we can schedule a time to sit down, because otherwise it'll fall through the cracks.

Comment 10 by kbr@chromium.org, Oct 2 2017

Components: Blink>WebGL Internals>GPU>VendorSpecific
Labels: GPU-Intel OS-Chrome

Comment 11 by yang...@intel.com, Oct 3 2017

We also see this regression on desktops with Intel GPUs, and will try to enable CMAA for them. 

Comment 12 by zmo@chromium.org, Oct 3 2017

Owner: yang...@intel.com
Yang, since you can reproduce in house, can you help assigning someone on your team to this bug?

Comment 13 by kbr@chromium.org, Oct 4 2017

The solution is probably to enable CMAA for more Intel GPUs. Currently it's enabled only for a subset in gpu_driver_bug_list.json, and I'll bet cros-banjo isn't one of them.

Cc: dongseong.hwang@chromium.org

Comment 15 by yang...@intel.com, Oct 4 2017

Owner: xinghua....@intel.com
Xinghua began to work on this several days ago as some internal benchmark testing caught this regression on desktop too. We will update soon after we go back to office after National Day holidays. 
Indeed I was looking at the GPU blacklist, and we have this:

    {
      "id": 172,
      "description": "Limited enabling of Chromium GL_INTEL_framebuffer_CMAA",
      "cr_bugs": [535198],
      "exceptions" : [
        {
          "os": {
            "type" : "chromeos"
          },
          "vendor_id": "0x8086",
          "driver_vendor": "Mesa",
          "gl_vendor": "Intel.*",
          "gl_renderer": ".*Intel.*(Braswell|Broadwell|Skylake).*",
          "gl_type": "gles",
          "gl_version": {
            "op": ">=",
            "value": "3.1"
          }
        }
      ],
      "features": [
        "disable_framebuffer_cmaa"
      ]
    },


It is probably a good idea to just remove the gl_renderer line completely. This will enable it on baytrail devices like banjo, and also on newer GPUs than skylake.

Comment 17 by yang...@intel.com, Oct 4 2017

Another relevant one is:
    {
      "id": 97,
      "description": "Multisampling has poor performance in Intel BayTrail",
      "cr_bugs": [443517],
      "os": {
        "type": "android"
      },
      "gl_vendor": "Intel.*",
      "gl_renderer": "Intel.*BayTrail",
      "features": [
        "disable_chromium_framebuffer_multisample"
      ]
    },

We may need a unified policy for all the OSes, which means OSes need to cover Windows/MacOS/Linux/Android/ChromeOS, driver_vendor doesn't have to be Mesa, gl_type is not limited to gles, etc. 
@17: While I agree, note that this bug is for Chrome OS, not for android. Indeed, the android baytrail driver is a completely different driver from what we use in Chrome OS, so separate blacklists here might make sense.

Comment 19 by yang...@intel.com, Oct 4 2017

I agree with you we may need separate blacklist for different OS. It's ok you work on ChromeOS first if you want a quick fix. We will take care of other platforms to see if we can combine the entries finally. 

Comment 21 by kbr@chromium.org, Oct 5 2017

Blocking: 535198
Cc: xinghua....@intel.com
Owner: kbr@chromium.org

Comment 22 by kbr@chromium.org, Oct 5 2017

Status: Started (was: Assigned)
https://chromium-review.googlesource.com/701922 is up for review, to enable the use of CMAA on all ChromeOS devices with Intel GPUs and appropriate driver (really, OpenGL ES) versions.

Project Member

Comment 23 by bugdroid1@chromium.org, Oct 6 2017

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

commit db6a4901e4850d1033668ae256aaa48498c4fb6f
Author: Kenneth Russell <kbr@chromium.org>
Date: Fri Oct 06 00:07:30 2017

Use CMAA on all Intel GPUs on ChromeOS.

MSAA is too expensive on these GPUs. At least for the time being, use
the CMAA extension wherever it's supported.

BUG= 535198 , 768400

Cq-Include-Trybots: master.tryserver.chromium.android:android_optional_gpu_tests_rel;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
Change-Id: I3e5da867cbfcfdc08113949e7d93c5662e4ad115
Reviewed-on: https://chromium-review.googlesource.com/701922
Commit-Queue: Kenneth Russell <kbr@chromium.org>
Reviewed-by: Stéphane Marchesin <marcheu@chromium.org>
Cr-Commit-Position: refs/heads/master@{#506925}
[modify] https://crrev.com/db6a4901e4850d1033668ae256aaa48498c4fb6f/gpu/config/gpu_driver_bug_list.json

Comment 24 by kbr@chromium.org, Oct 6 2017

Status: WontFix (was: Started)
The blacklist's been relaxed, but the Banjo device is Bay Trail generation and marcheu@ mentioned that it doesn't have the necessary extensions to use CMAA. I'm closing this bug as WontFix. If someone wants to take this bug back from me and reopen it please feel free.

I observe lower performance of CMAA than 4x MSAA on several devices on ChromeOS. Here's some data:

Soraka, firmware: Google_Soraka 9652.0.0
browser 63.0.3216.0, CPFE 9949: 56 fps
browser 63.0.3218.0, CPFE 9950: 42 fps
browser 63.0.3236.0, CPFE 10026: 49 fps

Is it expected on ChromeOS?

Comment 26 by ihf@chromium.org, Oct 24 2017

I see about 58->48->56fps, but yes, it is not fully back. Looks like another 1-2fps unrelated drop around build 10052.
c#26
How long does the test run for? Normally the score goes down after several minutes run. I run Aquarium1000 for more than 5 minutes and get the score.

Could u see similar situation(not fully back) on other platforms which use CMAA?
 Issue 788805  has been merged into this issue.
Issue 792991 has been merged into this issue.
Status: Unconfirmed (was: WontFix)
Please keep in mind that there might be two different skus for the same board - e.g. board zako has two different skus: zako_intel_i7_4Gb and sku:zako_intel_celeron_4Gb.  i7 one has no impact for the change mentioned above, however, the low-end model has regressed badly (https://bugs.chromium.org/p/chromium/issues/detail?id=792991#c6 and graph of the test results - https://bugs.chromium.org/p/chromium/issues/attachment?aid=315621&inline=1).
Status: WontFix (was: Unconfirmed)
We are aware of the perf difference, but there is also a feature difference (msaa 4x vs 8x). Given this, this is as expected.

Comment 33 by kbr@chromium.org, Jan 4 2018

Status: Assigned (was: WontFix)
On second thought, we are going to add a GPU blacklist entry to turn down the maximum number of MSAA samples to 4 on some platforms. Shirish S from AMD is implementing this in https://chromium-review.googlesource.com/846639 .

Comment 34 by kbr@chromium.org, Jan 4 2018

Note: see also internal bug b/70820067 .

Comment 35 by dgagnon@google.com, Apr 18 2018

Labels: XAct

Sign in to add a comment