New issue
Advanced search Search tips

Issue 795008 link

Starred by 4 users

Issue metadata

Status: Assigned
Owner:
Cc:
EstimatedDays: ----
NextAction: ----
OS: ----
Pri: 2
Type: ----

Blocking:
issue 789288



Sign in to add a comment

Improve compositor damage tracking

Project Member Reported by hoegsberg@google.com, Dec 14 2017

Issue description

Improve damage tracking. Currently we union damage from all quads early on into a big rectangle. This throws away information about the damage each quad contributes and when we later move a quad to an overlay, we can’t remove the damage that that quad contributed. We need to union the damage later, after deciding which quads will be displayed in overlays.
 
Blocking: 789288

Comment 2 by yiyix@chromium.org, May 4 2018

Cc: yiyix@chromium.org

Comment 3 Deleted

A WIP (really) prototype to track per layer damage can be found here: crrev.com/c/1043465

Since video playback is switching to surfaces in 69 (chrome://flags/#enable-surfaces-for-videos) we might drop all the support for per-layer damage and do per-surface damage instead, that should reduce significantly reduce the size of the change.
Project Member

Comment 6 by bugdroid1@chromium.org, Jun 7 2018

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

commit b52ea8e2d63dca892f6d77a1e3958e640c1e251d
Author: Daniele Castagna <dcastagna@chromium.org>
Date: Thu Jun 07 17:59:37 2018

Check VideoFrameSubmitter produces only one quad

blink::VideoFrameSubmitter produces quads using
VideoFrameResourceProvider.VideoFrameSubmitter, that
produces at most one quad.

This CL DCHECKs that at most one quad is produced, since
we want to use this property for optimizing damage
tracking in SurfaceAggregator/GLRenderer.

Having the guarantee that only one quad will be produced
for this CompositorFrame will allow us to mark the video as
the only quad producing damage in SurfaceAggregator.
In this way GLRenderer will be able to promote to HW overlay
the quad for the video and completely skip compositing of the
remaining quads.
This will result in significant power savings.

Bug: 795008, b/80061773
Cq-Include-Trybots: master.tryserver.blink:linux_trusty_blink_rel;master.tryserver.chromium.linux:linux_layout_tests_slimming_paint_v2
Change-Id: Ic4c612c5c221366bd67039d937dc0e42104b4c56
Reviewed-on: https://chromium-review.googlesource.com/1083977
Reviewed-by: Dan Sanders <sandersd@chromium.org>
Reviewed-by: Stephen White <senorblanco@chromium.org>
Reviewed-by: danakj <danakj@chromium.org>
Reviewed-by: CJ DiMeglio <lethalantidote@chromium.org>
Commit-Queue: Daniele Castagna <dcastagna@chromium.org>
Cr-Commit-Position: refs/heads/master@{#565337}
[modify] https://crrev.com/b52ea8e2d63dca892f6d77a1e3958e640c1e251d/media/renderers/video_resource_updater.h
[modify] https://crrev.com/b52ea8e2d63dca892f6d77a1e3958e640c1e251d/third_party/blink/renderer/platform/graphics/video_frame_submitter.cc

Labels: Pri-2
Setting defect without priority to Pri-2.

Sign in to add a comment