8000 [css-will-change-1] proposal: will-change: integer-transform · Issue #4560 · w3c/csswg-drafts · GitHub
[go: up one dir, main page]

Skip to content

[css-will-change-1] proposal: will-change: integer-transform #4560

@progers

Description

@progers

Proposal: will-change: integer-transform. This allows the browser to use high quality anti-aliasing when initially rasterizing the text, and continue using the same rasterized text as the transform changes. Engines that do not use subpixel anti-aliasing would treat this as an alias for will-change: transform.

In https://crrev.com/645003, chromium/blink stopped using subpixel anti-aliasing when will-change: transform is used, as it avoids needing to re-raster if the pixel alignment of the text changes. This idea is explicitly referenced in the spec:

If any non-initial value of a property would cause rendering differences on the element (such as using a different anti-aliasing strategy for text), the user agent should use that alternate rendering when the property is specified in will-change, to avoid sudden rendering differences when the property is eventually changed.

This change caused the Monaco editor (used by VSCode) to lose high-quality text rendering (see: https://crbug.com/1016062). This proposal is a standard way to maintain high-quality text while hinting that the transform will change.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions

      0