Skip to content

[ui] breaking change: make the default TileMode for image filters default to the "best" tile mode for the context. #154935

@jonahwilliams

Description

@jonahwilliams

As in #110318 , the default tile mode of clamp can cause rendering artifacts along the edges of most blurs. This happens because clamp can double the strength of the edge pixel, which for a blur gets smeared across a large area.

In other cases, clamp can lead to rendering that is correct but looks like a rendering error (is unintuitive). For example see https://x.com/SuprDeclarative/status/1798180992446042329 .

Are there cases where changing the tile mode to decal leads to changes that aren't an improvement? I don't actually think so. While the tile mode has a large impact when using canvas APIs like drawImageRect, I think the image filter tile mode always considers the output size of whatever input geometry, so it can only ever impact edge pixels. may be wrong.

FYI @flar / @matanlurey

Metadata

Metadata

Assignees

No one assigned

    Labels

    P2Important issues not at the top of the work listc: proposalA detailed proposal for a change to Flutterc: renderingUI glitches reported at the engine/skia or impeller rendering levelengineflutter/engine related. See also e: labels.r: fixedIssue is closed as already fixed in a newer versionteam-engineOwned by Engine teamtriaged-engineTriaged by Engine team

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions