Skip to content

[Impeller] Image repeating is inefficient when images have filters #119476

@jonahwilliams

Description

@jonahwilliams

Currently Impeller will always apply a Color or Image filter in an offscreen contents to create a new texture. That has a less than desierable interaction with ImageRepeat.repeat or others. The repeat logic is computed entirely in the framework, so the engine is not aware that its being given more or less identical (expect for offset) commands.

This could be optimized by allowing per-pass sharing of this texture.

This can be seen in the wonderous wonder page, where the paint texture is repeated once on either side. This results in 3x the fairly expensive draws.

This is likely an issue with drawImageNine as well.

Metadata

Metadata

Assignees

No one assigned

    Labels

    P2Important issues not at the top of the work listc: performanceRelates to speed or footprint issues (see "perf:" labels)e: impellerImpeller rendering backend issues and features requestsengineflutter/engine related. See also e: labels.

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions