New issue
Advanced search Search tips

Issue 673434 link

Starred by 2 users

Issue metadata

Status: Fixed
Owner:
Closed: Jun 2017
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: ----
Pri: 2
Type: Feature

Blocking:
issue 525259



Sign in to add a comment

Renderer should defer activation/draw until GPU proc. work completes in SMOOTHNESS_TAKES_PRIORITY

Project Member Reported by ericrk@chromium.org, Dec 12 2016

Issue description

Currently, the renderer will activate or draw with a tile as soon as the renderer-side tasks to generate that tile have completed. This can end up backing up the GPU process, as the duration of the GPU side work may not correspond with the renderer-side work.

We should allow the renderer to delay activation and drawing of tiles which have not yet completed their GPU-process work. This will remove dependencies between the renderer worker GL context and the compositor GL context, allowing the GPU scheduler to better prioritize these.

To start out, these changes will only impact SMOOTHNESS_TAKES_PRIORITY mode.
 
Project Member

Comment 1 by bugdroid1@chromium.org, Dec 13 2016

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

commit 1e323eedf1930d7fa26d21f25edbfeec6afea826
Author: ericrk <ericrk@chromium.org>
Date: Tue Dec 13 02:30:03 2016

Add PictureLayerTiling pointer to Tile

This is preperatory work which will allow for cheaper update of the
req'd for activation/draw status in the client side scheduler work.

BUG= 673434 
CQ_INCLUDE_TRYBOTS=master.tryserver.blink:linux_trusty_blink_rel

Review-Url: https://codereview.chromium.org/2564433003
Cr-Commit-Position: refs/heads/master@{#437990}

[modify] https://crrev.com/1e323eedf1930d7fa26d21f25edbfeec6afea826/cc/tiles/picture_layer_tiling.cc
[modify] https://crrev.com/1e323eedf1930d7fa26d21f25edbfeec6afea826/cc/tiles/picture_layer_tiling_unittest.cc
[modify] https://crrev.com/1e323eedf1930d7fa26d21f25edbfeec6afea826/cc/tiles/tile.cc
[modify] https://crrev.com/1e323eedf1930d7fa26d21f25edbfeec6afea826/cc/tiles/tile.h

Should this stay Pri-1? Since this is Feature work, should this be lower to Pri-2?
Project Member

Comment 3 by bugdroid1@chromium.org, Feb 10 2017

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

commit 31c92fe8317757707c7c910c7d67bc04fb6938be
Author: sunnyps <sunnyps@chromium.org>
Date: Fri Feb 10 23:46:55 2017

cc: Use compositor context for signal sync token callback.

The signal sync token callback is run from an IPC message from the GPU
process. IPC messages are received on the thread a context is bound to;
for the worker context this is the main thread. This causes a data race
and a crash during compositor tear down.

Using the compositor context is fine because it is bound to the impl
thread, and it's safe to receive tile manager callbacks there.

R=ericrk@chromium.org,vmpstr@chromium.org
BUG= 673434 
CQ_INCLUDE_TRYBOTS=master.tryserver.blink:linux_trusty_blink_rel

Review-Url: https://codereview.chromium.org/2682023005
Cr-Commit-Position: refs/heads/master@{#449792}

[modify] https://crrev.com/31c92fe8317757707c7c910c7d67bc04fb6938be/cc/raster/gpu_raster_buffer_provider.cc
[modify] https://crrev.com/31c92fe8317757707c7c910c7d67bc04fb6938be/cc/raster/one_copy_raster_buffer_provider.cc

Project Member

Comment 4 by bugdroid1@chromium.org, Feb 11 2017

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

commit c5a9848cb8132fd80c83be857d4560a53ce11f21
Author: sunnyps <sunnyps@chromium.org>
Date: Sat Feb 11 00:58:13 2017

cc: Remove resource freed tiles from tile manager pending gpu work set.

CheckPendingGpuWorkTiles crashes because of nullptr dereference from
tiles whose resources have been freed.

R=ericrk@chromium.org,vmpstr@chromium.org
BUG= 673434 
CQ_INCLUDE_TRYBOTS=master.tryserver.blink:linux_trusty_blink_rel

Review-Url: https://codereview.chromium.org/2680313007
Cr-Commit-Position: refs/heads/master@{#449810}

[modify] https://crrev.com/c5a9848cb8132fd80c83be857d4560a53ce11f21/cc/tiles/tile_manager.cc

Comment 5 by vmi...@chromium.org, Jun 26 2017

Labels: -Pri-1 Pri-2

Comment 6 by ericrk@chromium.org, Jun 27 2017

Status: Fixed (was: Started)
I think the work here is completed.

Sign in to add a comment