Skip to content

[Impeller] The 2-pass Gaussian Blur and the RRect blur deviate significantly. #149276

@bdero

Description

@bdero

See the video in #148412 for an example of flipping back and forth between the 2-pass Gaussian blur and the RRect fast path:

Simulator.Screen.Recording.-.iPhone.15.-.2024-05-15.at.17.00.46.mp4

There's quite an extreme difference between the two blur paths. In this example, the apparent standard deviation of one appears to be more than twice the other. This will continue causing issues for users because the RRect fast path is an opportunistic optimization and not a discrete path exposed to Flutter.

There is one correct solution for rendering a Gaussian blur with any given shape and sigma. It's perfectly okay if we slightly deviate from Skia in our blur's appearance, but our multiple blur paths should at least look remotely similar.

Metadata

Metadata

Assignees

No one assigned

    Labels

    P2Important issues not at the top of the work liste: impellerImpeller rendering backend issues and features requestsengineflutter/engine related. See also e: labels.team-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