Improve compositor damage tracking |
|||
Issue descriptionImprove 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.
,
May 4 2018
,
May 25 2018
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.
,
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
,
Jan 11
Setting defect without priority to Pri-2. |
|||
►
Sign in to add a comment |
|||
Comment 1 by hoegsberg@chromium.org
, Apr 18 2018