New issue
Advanced search Search tips

Issue 611152 link

Starred by 0 users

Issue metadata

Status: Duplicate
Merged: issue 610674
Owner:
Closed: May 2016
EstimatedDays: ----
NextAction: ----
OS: ----
Pri: 2
Type: Bug-Regression



Sign in to add a comment

3.7% regression in page_cycler.intl_hi_ru at 392416:392449

Project Member Reported by tdres...@chromium.org, May 11 2016

Issue description

See the link to graphs below.
 
All graphs for this bug:
  https://chromeperf.appspot.com/group_report?bug_id=611152

Original alerts at time of bug-filing:
  https://chromeperf.appspot.com/group_report?keys=agxzfmNocm9tZXBlcmZyFAsSB0Fub21hbHkYgICg9PaeqgoM


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

chromium-rel-mac-retina
Project Member

Comment 2 by 42576172...@developer.gserviceaccount.com, May 11 2016

Mergedinto: 610674
Status: Duplicate (was: Assigned)

===== BISECT JOB RESULTS =====
Status: completed


===== SUSPECTED CL(s) =====
Subject : Make Mac swap code like other platforms
Author  : ccameron
Commit description:
  
Swap buffer completion is sent from the GPU process to the browser
process via the IPC GpuCommandBufferMsg_SwapBuffersCompleted on all
platforms except for Mac, which uses the IPC
GpuHostMsg_AcceleratedSurfaceBuffersSwapped.

Mac needs (for now) to send a handful of additional parameters from the
gpu process at every swap. These parameters are used to display in the
browser process the CALayer tree that is created in the gpu process.
Add these parameters to GpuHostMsg_AcceleratedSurfaceBuffersSwapped
under a platform ifdef. These parameters will be able to be removed when
layer tree construction is moved to be in the browser process.

Pass these parameters along to GpuBrowserCompositorOutputSurface::
SwapBuffers, where they are consumed in Mac-specific code. This wart,
the gpu::GpuProcessHostedCALayerTreeParamsMac structure being passed
along, will be removed when the CALayer tree is constructed in the
browser process.

Swaps are acknowledged by the browser process to the gpu process in the
AcceleratedSurfaceMsg_BufferPresented IPC. The purpose of this IPC was
to send vsync data to the gpu process to coordinate swaps, but this
data is no longer used by the gpu process, is entirely dead code, and
can be removed.

Remove other supporting code that is no longer needed. Not all supporting
code is removed in this patch.

BUG=604052
CQ_INCLUDE_TRYBOTS=tryserver.chromium.linux:linux_optional_gpu_tests_rel;tryserver.chromium.mac:mac_optional_gpu_tests_rel;tryserver.chromium.win:win_optional_gpu_tests_rel

Review-Url: https://codereview.chromium.org/1962493002
Cr-Commit-Position: refs/heads/master@{#392419}
Commit  : 433204258d41867ad95c2af17c1248dfc64032ac
Date    : Mon May 09 20:59:44 2016


===== TESTED REVISIONS =====
Revision         Mean     Std Dev  N  Good?
chromium@392415  717.007  21.3373  5  good
chromium@392418  708.342  22.2856  5  good
chromium@392419  869.094  19.6007  5  bad    <--
chromium@392420  864.049  7.1215   5  bad
chromium@392424  872.156  13.0689  5  bad
chromium@392432  870.441  17.5953  5  bad
chromium@392449  869.924  22.3489  5  bad

Bisect job ran on: mac_retina_perf_bisect
Bug ID: 611152

Test Command: src/tools/perf/run_benchmark -v --browser=release --output-format=chartjson --upload-results --also-run-disabled-tests page_cycler.intl_hi_ru
Test Metric: warm_times/http___rutracker.org_forum_index.php
Relative Change: 21.33%
Score: 99.9

Buildbot stdio: http://build.chromium.org/p/tryserver.chromium.perf/builders/mac_retina_perf_bisect/builds/1296
Job details: https://chromeperf.appspot.com/buildbucket_job_status/9012932150913425792


Not what you expected? We'll investigate and get back to you!
  https://chromeperf.appspot.com/bad_bisect?try_job_id=5835884230868992

| O O | Visit http://www.chromium.org/developers/speed-infra/perf-bug-faq
|  X  | for more information addressing perf regression bugs. For feedback,
| / \ | file a bug with component Tests>AutoBisect.  Thank you!
Project Member

Comment 3 by 42576172...@developer.gserviceaccount.com, May 11 2016


===== BISECT JOB RESULTS =====
Status: completed


===== SUSPECTED CL(s) =====
Subject : Make Mac swap code like other platforms
Author  : ccameron
Commit description:
  
Swap buffer completion is sent from the GPU process to the browser
process via the IPC GpuCommandBufferMsg_SwapBuffersCompleted on all
platforms except for Mac, which uses the IPC
GpuHostMsg_AcceleratedSurfaceBuffersSwapped.

Mac needs (for now) to send a handful of additional parameters from the
gpu process at every swap. These parameters are used to display in the
browser process the CALayer tree that is created in the gpu process.
Add these parameters to GpuHostMsg_AcceleratedSurfaceBuffersSwapped
under a platform ifdef. These parameters will be able to be removed when
layer tree construction is moved to be in the browser process.

Pass these parameters along to GpuBrowserCompositorOutputSurface::
SwapBuffers, where they are consumed in Mac-specific code. This wart,
the gpu::GpuProcessHostedCALayerTreeParamsMac structure being passed
along, will be removed when the CALayer tree is constructed in the
browser process.

Swaps are acknowledged by the browser process to the gpu process in the
AcceleratedSurfaceMsg_BufferPresented IPC. The purpose of this IPC was
to send vsync data to the gpu process to coordinate swaps, but this
data is no longer used by the gpu process, is entirely dead code, and
can be removed.

Remove other supporting code that is no longer needed. Not all supporting
code is removed in this patch.

BUG=604052
CQ_INCLUDE_TRYBOTS=tryserver.chromium.linux:linux_optional_gpu_tests_rel;tryserver.chromium.mac:mac_optional_gpu_tests_rel;tryserver.chromium.win:win_optional_gpu_tests_rel

Review-Url: https://codereview.chromium.org/1962493002
Cr-Commit-Position: refs/heads/master@{#392419}
Commit  : 433204258d41867ad95c2af17c1248dfc64032ac
Date    : Mon May 09 20:59:44 2016


===== TESTED REVISIONS =====
Revision         Mean     Std Dev  N  Good?
chromium@392415  687.66   3.56809  8  good
chromium@392418  693.61   11.1824  8  good
chromium@392419  716.063  7.11986  5  bad    <--
chromium@392420  710.746  3.69999  8  bad
chromium@392424  712.48   5.07904  5  bad
chromium@392432  714.799  7.07165  5  bad
chromium@392449  724.545  22.2416  5  bad

Bisect job ran on: mac_retina_perf_bisect
Bug ID: 611152

Test Command: src/tools/perf/run_benchmark -v --browser=release --output-format=chartjson --upload-results --also-run-disabled-tests page_cycler.intl_hi_ru
Test Metric: warm_times/page_load_time
Relative Change: 5.63%
Score: 99.5

Buildbot stdio: http://build.chromium.org/p/tryserver.chromium.perf/builders/mac_retina_perf_bisect/builds/1295
Job details: https://chromeperf.appspot.com/buildbucket_job_status/9012932745426116688


Not what you expected? We'll investigate and get back to you!
  https://chromeperf.appspot.com/bad_bisect?try_job_id=5874779454701568

| O O | Visit http://www.chromium.org/developers/speed-infra/perf-bug-faq
|  X  | for more information addressing perf regression bugs. For feedback,
| / \ | file a bug with component Tests>AutoBisect.  Thank you!

Sign in to add a comment