Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(12)

Issue 1848613002: Extract subpixel offsets from composited layer transforms when possible. (Closed)

Created:
4 years, 8 months ago by chrishtr
Modified:
4 years, 1 month ago
Reviewers:
CC:
blink-reviews, blink-reviews-paint_chromium.org, cc-bugs_chromium.org, chromium-reviews, dshwang, slimming-paint-reviews_chromium.org
Base URL:
https://chromium.googlesource.com/chromium/src.git@master
Target Ref:
refs/pending/heads/master
Project:
chromium
Visibility:
Public.

Description

Extract subpixel offsets from composited layer transforms when possible. When setting transform on a composited layer, try to separate the subpixel offset from the rest of it in cases when the transform is a translate or scale. The transform is modified to remove the subpixel offset; when rastering the layer we offset the canvas the subpixel offset (this is how it's communicated to Skia); and the layer size is increased by 1 to account for the shift. Composited transform animations are supported by prefixing the updated transform by the inverse of the subpixel offset, to account for the shift of the rastered tiles by that offset. The graphics layer is marked as not-opaque if the subpixel offset is non-zero. This allows us to communicate the subpixel offset to Skia, which can then use its magic to do better subpixel positioning and pixel snapping. In particular, this makes text and images snappier if the layer transform has an extractable subpixel offset. BUG= CQ_INCLUDE_TRYBOTS=tryserver.blink:linux_blink_rel

Patch Set 1 #

Unified diffs Side-by-side diffs Delta from patch set Stats (+53 lines, -5 lines) Patch
M cc/layers/layer.h View 1 chunk +3 lines, -0 lines 0 comments Download
M cc/layers/layer.cc View 4 chunks +22 lines, -3 lines 0 comments Download
M cc/layers/layer_impl.h View 3 chunks +4 lines, -0 lines 0 comments Download
M cc/layers/layer_impl.cc View 1 chunk +1 line, -1 line 0 comments Download
M cc/layers/picture_layer_impl.cc View 1 chunk +6 lines, -0 lines 0 comments Download
M cc/playback/raster_source.h View 3 chunks +5 lines, -0 lines 0 comments Download
M cc/playback/raster_source.cc View 2 chunks +4 lines, -1 line 0 comments Download
M cc/trees/property_tree_builder.cc View 2 chunks +5 lines, -0 lines 0 comments Download
M third_party/WebKit/Source/core/paint/PaintLayerPainter.cpp View 2 chunks +3 lines, -0 lines 0 comments Download

Depends on Patchset:

Messages

Total messages: 3 (3 generated)
chrishtr
Description was changed from ========== none BUG= ========== to ========== none BUG= CQ_INCLUDE_TRYBOTS=tryserver.blink:linux_blink_rel ==========
4 years, 8 months ago (2016-03-30 22:35:12 UTC) #1
chrishtr
Description was changed from ========== none BUG= CQ_INCLUDE_TRYBOTS=tryserver.blink:linux_blink_rel ========== to ========== Extract subpixel offsets from ...
4 years, 8 months ago (2016-03-31 16:04:33 UTC) #2
chrishtr
4 years, 8 months ago (2016-03-31 16:38:06 UTC) #3
Description was changed from

==========
Extract subpixel offsets from composited layer transforms when possible.

When setting transform on a composited layer, try to separate the subpixel
offset
from the rest of it in cases when the transform is a translate or scale. The
transform is modified to remove the subpixel offset; when rastering the layer
we offset the canvas the subpixel offset (this is how it's communicated to
Skia);
 and the layer size is increased by 1 to account for the shift.

Composited transform animations are supported by prefixing the updated transform
by the inverse
of the subpixel offset, to account for the shift of the rastered tiles by that
offset.

This allows us to communicate the subpixel offset to Skia, which can then use
its
magic to do better subpixel positioning and pixel snapping. In particular, this
makes text and images snappier if the layer transform has an extractable
subpixel
offset. 


BUG=
CQ_INCLUDE_TRYBOTS=tryserver.blink:linux_blink_rel
==========

to

==========
Extract subpixel offsets from composited layer transforms when possible.

When setting transform on a composited layer, try to separate the subpixel
offset
from the rest of it in cases when the transform is a translate or scale. The
transform is modified to remove the subpixel offset; when rastering the layer
we offset the canvas the subpixel offset (this is how it's communicated to
Skia);
 and the layer size is increased by 1 to account for the shift.

Composited transform animations are supported by prefixing the updated transform
by the inverse of the subpixel offset, to account for the shift of the rastered
tiles by that offset.

The graphics layer is marked as not-opaque if the subpixel offset is non-zero.

This allows us to communicate the subpixel offset to Skia, which can then use
its
magic to do better subpixel positioning and pixel snapping. In particular, this
makes text and images snappier if the layer transform has an extractable
subpixel
offset. 


BUG=
CQ_INCLUDE_TRYBOTS=tryserver.blink:linux_blink_rel
==========

Powered by Google App Engine
This is Rietveld 408576698