New issue
Advanced search Search tips

Issue 765363 link

Starred by 1 user

Issue metadata

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

Blocked on:
issue 767411



Sign in to add a comment

15%-20.5% regression in angle_perftests at 500262:501473

Project Member Reported by jmad...@chromium.org, Sep 14 2017

Issue description

Project Member

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

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

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


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

chromium-rel-win7-gpu-nvidia
Components: Internals>GPU>ANGLE
Labels: Performance OS-Windows
Project Member

Comment 4 by 42576172...@developer.gserviceaccount.com, Sep 15 2017

Cc: jmad...@chromium.org

=== Auto-CCing suspected CL author jmadill@chromium.org ===

Hi jmadill@chromium.org, the bisect results pointed to your CL, please take a look at the
results.


=== BISECT JOB RESULTS ===
Perf regression found with culprit

Suspected Commit
  Author : Jamie Madill
  Commit : 81c2e253b975eef654d41ce714b7be53b0bd3f29
  Date   : Mon Sep 11 17:26:26 2017
  Subject: Add top-level dirty bits for texture and samplers.

Bisect Details
  Configuration: winx64nvidia_perf_bisect
  Benchmark    : angle_perftests
  Metric       : Textures_gl_8_textures_5_rebind_3_state_8_mips/score
  Change       : 14.60% | 5321.16666667 -> 4544.16666667

Revision                              Result                  N
chromium@500261                       5321.17 +- 299.21       6      good
chromium@500867                       5297.17 +- 120.842      6      good
chromium@501019                       5284.33 +- 183.694      6      good
chromium@501057                       5192.5 +- 106.007       6      good
chromium@501067                       5264.67 +- 125.695      6      good
chromium@501072                       5282.33 +- 90.3954      6      good
chromium@501072,angle@ef97c613f8      5454.83 +- 108.825      6      good
chromium@501072,angle@81c2e253b9      4498.33 +- 61.4437      6      bad       <--
chromium@501072,angle@06ef36b988      4546.83 +- 216.824      6      bad
chromium@501072,angle@af4ffe0ad4      4531.33 +- 43.0039      6      bad
chromium@501073                       4540.17 +- 50.0483      6      bad
chromium@501074                       4411.33 +- 194.199      6      bad
chromium@501076                       4407.0 +- 100.21        6      bad
chromium@501094                       4592.17 +- 56.0966      6      bad
chromium@501170                       4469.67 +- 64.1041      6      bad
chromium@501473                       4544.17 +- 79.6921      6      bad

To Run This Test
  .\src\out\Release_x64\angle_perftests.exe --test-launcher-print-test-stdio=always --test-launcher-jobs=1

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

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


For feedback, file a bug with component Speed>Bisection
Project Member

Comment 6 by 42576172...@developer.gserviceaccount.com, Sep 16 2017


=== Auto-CCing suspected CL author jmadill@chromium.org ===

Hi jmadill@chromium.org, the bisect results pointed to your CL, please take a look at the
results.


=== BISECT JOB RESULTS ===
Perf regression found with culprit

Suspected Commit
  Author : Jamie Madill
  Commit : 3667dbd68662a719290bf179bd6d4a3696fe6097
  Date   : Thu Sep 07 18:16:57 2017
  Subject: D3D11: Cache multisample resolve texture.

Bisect Details
  Configuration: winx64nvidia_perf_bisect
  Benchmark    : angle_perftests
  Metric       : BlitFramebufferPerf_d3d11_color_2_samples/score
  Change       : 20.35% | 346.5 -> 276.0

Revision                              Result                   N
chromium@500261                       346.5 +- 1.22474         6      good
chromium@500337                       347.0 +- 1.41421         6      good
chromium@500375                       347.167 +- 0.912871      6      good
chromium@500394                       347.0 +- 1.41421         6      good
chromium@500399                       347.167 +- 0.912871      6      good
chromium@500402                       346.833 +- 1.68325       6      good
chromium@500403                       347.333 +- 1.1547        6      good
chromium@500403,angle@7cadfcc70c      346.667 +- 1.1547        6      good
chromium@500403,angle@fca781309b      346.833 +- 0.912871      6      good
chromium@500403,angle@3ed604246f      347.0 +- 0.0             6      good
chromium@500403,angle@3667dbd686      275.833 +- 0.912871      6      bad       <--
chromium@500404                       276.0 +- 0.0             6      bad
chromium@500413                       276.0 +- 0.0             6      bad
chromium@500564                       275.833 +- 0.912871      6      bad
chromium@500867                       276.0 +- 0.0             6      bad
chromium@501473                       276.0 +- 0.0             6      bad

To Run This Test
  .\src\out\Release_x64\angle_perftests.exe --test-launcher-print-test-stdio=always --test-launcher-jobs=1

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

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


For feedback, file a bug with component Speed>Bisection
Project Member

Comment 7 by bugdroid1@chromium.org, Sep 19 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/angle/angle/+/0f80ed8670be996436e711d33cb4d7e87a9683e6

commit 0f80ed8670be996436e711d33cb4d7e87a9683e6
Author: Jamie Madill <jamie@nullspace.ca>
Date: Tue Sep 19 16:54:29 2017

Improve speed of iterating dirty textures.

We had a performance regression in the Textures benchmark. What the
test was doing was iterating over all possible texture state,
ensuring the active texture was dirty every frame. This is an attempt
to improve on the speed by not doing as much resetting work in
State::syncProgramTextures. It introduces an active textures mask to
speed iteration over the active texture set.

Also makes a refactoring change to Context to make it easier to limit
caps to an implementation maxium. The number of active textures is
limited to 64 so they easily fit in the bitset mask, with a limit of
32 per shader stage. No mask is currenly kept for compute shaders.

With the fix the performance should be about the same as before (which
is good, as the test always sets the textures dirty).

Test: TexturesBenchmark.Run/gl_8_textures_5_rebind_3_state_8_mips

BUG=chromium:765363
BUG= angleproject:1387 

Change-Id: I8bcf95be3671195373573f89f406edaba40aa1be
Reviewed-on: https://chromium-review.googlesource.com/670279
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Frank Henigman <fjhenigman@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>

[modify] https://crrev.com/0f80ed8670be996436e711d33cb4d7e87a9683e6/src/libANGLE/Context.cpp
[modify] https://crrev.com/0f80ed8670be996436e711d33cb4d7e87a9683e6/src/libANGLE/State.h
[modify] https://crrev.com/0f80ed8670be996436e711d33cb4d7e87a9683e6/src/libANGLE/State.cpp
[modify] https://crrev.com/0f80ed8670be996436e711d33cb4d7e87a9683e6/src/libANGLE/Constants.h

Project Member

Comment 8 by bugdroid1@chromium.org, Sep 19 2017

The following revision refers to this bug:
  https://skia.googlesource.com/skia/+/10501885de057c155195bcbd1dd18d9cd16f59ac

commit 10501885de057c155195bcbd1dd18d9cd16f59ac
Author: angle-deps-roller@chromium.org <angle-deps-roller@chromium.org>
Date: Tue Sep 19 18:21:39 2017

Roll skia/third_party/externals/angle2/ 8b2142e37..abd313592 (2 commits)

https://chromium.googlesource.com/angle/angle.git/+log/8b2142e3734e..abd313592dfe

$ git log 8b2142e37..abd313592 --date=short --no-merges --format='%ad %ae %s'
2017-09-19 jmadill Vulkan: Fix deleting in-use Pipeline.
2017-09-19 jamie Improve speed of iterating dirty textures.

Created with:
  roll-dep skia/third_party/externals/angle2
BUG=765363


Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+/master/autoroll/README.md

If the roll is causing failures, see:
http://www.chromium.org/developers/tree-sheriffs/sheriff-details-chromium#TOC-Failures-due-to-DEPS-rolls


CQ_INCLUDE_TRYBOTS=skia.primary:Perf-Win10-MSVC-AlphaR2-GPU-RadeonR9M470X-x86_64-Debug-ANGLE,Perf-Win10-MSVC-Golo-GPU-QuadroP400-x86_64-Debug-ANGLE,Perf-Win10-MSVC-NUC5i7RYH-GPU-IntelIris6100-x86_64-Debug-ANGLE,Perf-Win10-MSVC-NUC6i5SYK-GPU-IntelIris540-x86_64-Debug-ANGLE,Perf-Win10-MSVC-NUCD34010WYKH-GPU-IntelHD4400-x86_64-Debug-ANGLE,Perf-Win10-MSVC-ShuttleC-GPU-GTX960-x86_64-Debug-ANGLE,Test-Win10-MSVC-AlphaR2-GPU-RadeonR9M470X-x86_64-Debug-ANGLE,Test-Win10-MSVC-Golo-GPU-QuadroP400-x86_64-Debug-ANGLE,Test-Win10-MSVC-NUC5i7RYH-GPU-IntelIris6100-x86_64-Debug-ANGLE,Test-Win10-MSVC-NUC6i5SYK-GPU-IntelIris540-x86_64-Debug-ANGLE,Test-Win10-MSVC-NUCD34010WYKH-GPU-IntelHD4400-x86_64-Debug-ANGLE,Test-Win10-MSVC-ShuttleC-GPU-GTX960-x86_64-Debug-ANGLE
TBR=fmalita@google.com

Change-Id: I3b3e13f7cb98b56a98974dc628470067e53b28a8
Reviewed-on: https://skia-review.googlesource.com/48600
Reviewed-by: angle-deps-roller . <angle-deps-roller@chromium.org>
Commit-Queue: angle-deps-roller . <angle-deps-roller@chromium.org>

[modify] https://crrev.com/10501885de057c155195bcbd1dd18d9cd16f59ac/DEPS

Project Member

Comment 9 by bugdroid1@chromium.org, Sep 19 2017

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

commit f4a85e0ddd183a7bf7cdd0290875419085556fed
Author: Geoff Lang <geofflang@chromium.org>
Date: Tue Sep 19 19:40:55 2017

Roll ANGLE 371ed53..abd3135

https://chromium.googlesource.com/angle/angle.git/+log/371ed53..abd3135

BUG=,None,chromium:507755,697758,chromium:759402,chromium:765363

TBR=jmadill@chromium.org

TEST=bots

CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.win:win_optional_gpu_tests_rel;master.tryserver.chromium.mac:mac_optional_gpu_tests_rel;master.tryserver.chromium.linux:linux_optional_gpu_tests_rel;master.tryserver.chromium.android:android_optional_gpu_tests_rel

Change-Id: Id871246203c86489e25aac00149b1590cdb5f3e0
Reviewed-on: https://chromium-review.googlesource.com/673403
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
Cr-Commit-Position: refs/heads/master@{#502921}
[modify] https://crrev.com/f4a85e0ddd183a7bf7cdd0290875419085556fed/DEPS

Project Member

Comment 10 by bugdroid1@chromium.org, Sep 19 2017

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

commit ad2003bcb630a1233468228a6d2ca9282da15754
Author: skia-deps-roller@chromium.org <skia-deps-roller@chromium.org>
Date: Tue Sep 19 21:18:58 2017

Roll src/third_party/skia/ 8e258318e..10501885d (8 commits)

https://skia.googlesource.com/skia.git/+log/8e258318e68f..10501885de05

$ git log 8e258318e..10501885d --date=short --no-merges --format='%ad %ae %s'
2017-09-19 angle-deps-roller Roll skia/third_party/externals/angle2/ 8b2142e37..abd313592 (2 commits)
2017-09-19 mtklein add Mac TSAN Test bots
2017-09-19 mtklein Mac TSAN support: annotate Sk[Base]Mutex as a mutex.
2017-09-19 mtklein fix race in SkFontHost_mac.cpp
2017-09-15 benjaminwagner Fix float-cast-overflow in SkOpSpan::sortableTop.
2017-09-19 caryclark minor changes to SkMatrix.h and SkRect.h
2017-09-19 reed Revert "Revert "try to remove google3 flag""
2017-09-19 caryclark add back SkPacked16toX32 to SkColorPriv

Created with:
  roll-dep src/third_party/skia
BUG=765363


Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+/master/autoroll/README.md

If the roll is causing failures, see:
http://www.chromium.org/developers/tree-sheriffs/sheriff-details-chromium#TOC-Failures-due-to-DEPS-rolls


CQ_INCLUDE_TRYBOTS=master.tryserver.blink:linux_trusty_blink_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;master.tryserver.chromium.android:android_optional_gpu_tests_rel
TBR=fmalita@chromium.org

Change-Id: Iab3cfcf5eb96d57386c0891000b00b2d2eb01821
Reviewed-on: https://chromium-review.googlesource.com/673133
Reviewed-by: Skia Deps Roller <skia-deps-roller@chromium.org>
Commit-Queue: Skia Deps Roller <skia-deps-roller@chromium.org>
Cr-Commit-Position: refs/heads/master@{#502950}
[modify] https://crrev.com/ad2003bcb630a1233468228a6d2ca9282da15754/DEPS

Blockedon: 767411
Labels: -Pri-2 Pri-3
The Textures test graph has recovered maybe 2/3 of the performance, which I'm going to close as good enough. The blit regression is likely from using very outdated drivers circa 2015, I'm going to look at this in  issue 767411 , but lowering priority.
Labels: -Performance Performance-Responsiveness

Sign in to add a comment