New issue
Advanced search Search tips

Issue 796734 link

Starred by 1 user

Issue metadata

Status: Fixed
Owner:
Closed: Dec 2017
Cc:
EstimatedDays: ----
NextAction: ----
OS: ----
Pri: 1
Type: Feature

Blocking:
issue 757607



Sign in to add a comment

Stop sharing compositor & compositor worker contexts. Remove non-async worker path.

Project Member Reported by vmi...@chromium.org, Dec 20 2017

Issue description

To further simplify the RasterInterface and raster contexts in  Issue 757607 , I would like to remove ShareGroup capability from RasterContextProviders.

A step to doing this is to remove compositor worker context sharing from the Browser compositor, and stop supporting the non-async worker path.
 

Comment 1 by vmi...@chromium.org, Dec 20 2017

I've done some local Linux Telemetry runs with & without async browser worker contexts.  

I'm not seeing any noticeable change except on tough_compositing_cases CC_SCROLL_TEXT_ONLY test.  This seems to be because the test scrolls for few frames and results are quite noisy.

Summary of thread_total_fast_path_cpu_time_per_frame:

* sync_context *
avg	4.124 ms
count	11
max	5.497 ms
min	3.536 ms
std	0.612 ms
sum	45.364 ms

* async_context *
avg	4.530 ms
count	11
max	5.142 ms
min	3.546 ms
std	0.621 ms
sum	49.825 ms
results.html
1.4 MB View Download

Comment 2 by vmi...@chromium.org, Dec 20 2017

#1 thread_total_fast_path_cpu_time_per_frame counts were from CC_SCROLL_TEXT_ONLY only.

Here are mean thread_total_fast_path_cpu_time_per_frame counts for all pages:

http://jsbin.com/beqojupo/1/quiet?JS_FULL_SCREEN_INVALIDATION  4.448 ms  4.813 ms
http://jsbin.com/covoqi/1/quiet?NEW_TILINGS                    5.076 ms  5.094 ms
http://jsbin.com/falefice/1/quiet?CC_POSTER_CIRCLE             4.600 ms  4.523 ms
http://jsbin.com/giqafofe/1/quiet?JS_POSTER_CIRCLE             5.749 ms  5.745 ms
http://jsbin.com/jevibahi/4/quiet?JS_SCROLL_200_LAYER_GRID     5.778 ms  6.199 ms
http://jsbin.com/pixavefe/1/quiet?CC_SCROLL_TEXT_ONLY          4.530 ms  4.124 ms
http://jsbin.com/wixadinu/2/quiet?JS_SCROLL_TEXT_ONLY          3.665 ms  3.848 ms
http://jsbin.com/yakagevo/1/quiet?CC_SCROLL_200_LAYER_GRID     6.668 ms  7.017 ms

Comment 3 by vmi...@chromium.org, Dec 21 2017

Just to confirm that the change in CC_SCROLL_TEXT_ONLY is measurement noise, I re-ran the test with a longer version of the page here: 
http://jsbin.com/jagihax/quiet?CC_SCROLL_TEXT_ONLY

thread_total_fast_path_cpu_time_per_frame results.  Interestingly faster overall times with async_context, which was similar to other page results.

* sync_context *
avg	3.995 ms
count	10
max	4.518 ms
min	3.768 ms
std	0.283 ms
sum	39.951 ms

* async_context *
avg	3.958 ms
count	10
max	4.502 ms
min	3.483 ms
std	0.330 ms
sum	39.585 ms
results.html
1.1 MB View Download
Project Member

Comment 4 by bugdroid1@chromium.org, Dec 21 2017

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

commit ff648861c6c7f56f333cc5ab607839cafc95762e
Author: Victor Miura <vmiura@chromium.org>
Date: Thu Dec 21 04:16:15 2017

cc: Remove support for non-async compositor worker mode.

This change removes compositor worker GLES2 ContextGroup sharing in the Browser
Compositor, and makes async compositor worker mode the only supported mode.

Bug:  796734 , 757607 
Cq-Include-Trybots: master.tryserver.blink:linux_trusty_blink_rel;master.tryserver.chromium.android:android_optional_gpu_tests_rel
Change-Id: I2d3713b8948b5db2d9a437733f4bf58309f2f36e
Reviewed-on: https://chromium-review.googlesource.com/838243
Commit-Queue: Victor Miura <vmiura@chromium.org>
Reviewed-by: Antoine Labour <piman@chromium.org>
Reviewed-by: Sunny Sachanandani <sunnyps@chromium.org>
Cr-Commit-Position: refs/heads/master@{#525598}
[modify] https://crrev.com/ff648861c6c7f56f333cc5ab607839cafc95762e/cc/raster/gpu_raster_buffer_provider.cc
[modify] https://crrev.com/ff648861c6c7f56f333cc5ab607839cafc95762e/cc/raster/gpu_raster_buffer_provider.h
[modify] https://crrev.com/ff648861c6c7f56f333cc5ab607839cafc95762e/cc/raster/one_copy_raster_buffer_provider.cc
[modify] https://crrev.com/ff648861c6c7f56f333cc5ab607839cafc95762e/cc/raster/one_copy_raster_buffer_provider.h
[modify] https://crrev.com/ff648861c6c7f56f333cc5ab607839cafc95762e/cc/raster/raster_buffer_provider_perftest.cc
[modify] https://crrev.com/ff648861c6c7f56f333cc5ab607839cafc95762e/cc/raster/raster_buffer_provider_unittest.cc
[modify] https://crrev.com/ff648861c6c7f56f333cc5ab607839cafc95762e/cc/test/layer_tree_pixel_resource_test.cc
[modify] https://crrev.com/ff648861c6c7f56f333cc5ab607839cafc95762e/cc/trees/layer_tree_host_impl.cc
[modify] https://crrev.com/ff648861c6c7f56f333cc5ab607839cafc95762e/cc/trees/layer_tree_settings.h
[modify] https://crrev.com/ff648861c6c7f56f333cc5ab607839cafc95762e/content/browser/compositor/gpu_process_transport_factory.cc
[modify] https://crrev.com/ff648861c6c7f56f333cc5ab607839cafc95762e/content/browser/compositor/gpu_process_transport_factory.h
[modify] https://crrev.com/ff648861c6c7f56f333cc5ab607839cafc95762e/content/browser/compositor/viz_process_transport_factory.cc
[modify] https://crrev.com/ff648861c6c7f56f333cc5ab607839cafc95762e/content/browser/compositor/viz_process_transport_factory.h
[modify] https://crrev.com/ff648861c6c7f56f333cc5ab607839cafc95762e/content/browser/gpu/compositor_util.cc
[modify] https://crrev.com/ff648861c6c7f56f333cc5ab607839cafc95762e/content/browser/gpu/compositor_util.h
[modify] https://crrev.com/ff648861c6c7f56f333cc5ab607839cafc95762e/content/browser/renderer_host/render_process_host_impl.cc
[modify] https://crrev.com/ff648861c6c7f56f333cc5ab607839cafc95762e/content/public/common/content_switches.cc
[modify] https://crrev.com/ff648861c6c7f56f333cc5ab607839cafc95762e/content/public/common/content_switches.h
[modify] https://crrev.com/ff648861c6c7f56f333cc5ab607839cafc95762e/content/renderer/gpu/compositor_dependencies.h
[modify] https://crrev.com/ff648861c6c7f56f333cc5ab607839cafc95762e/content/renderer/gpu/render_widget_compositor.cc
[modify] https://crrev.com/ff648861c6c7f56f333cc5ab607839cafc95762e/content/renderer/render_thread_impl.cc
[modify] https://crrev.com/ff648861c6c7f56f333cc5ab607839cafc95762e/content/renderer/render_thread_impl.h
[modify] https://crrev.com/ff648861c6c7f56f333cc5ab607839cafc95762e/content/test/fake_compositor_dependencies.cc
[modify] https://crrev.com/ff648861c6c7f56f333cc5ab607839cafc95762e/content/test/fake_compositor_dependencies.h

Comment 5 by vmi...@chromium.org, Dec 22 2017

Status: Fixed (was: Started)

Sign in to add a comment