Skip to content

TransformLayer should participate in raster caching #91648

@dnfield

Description

@dnfield

The framework uses RepaintBoundarys to push OffsetLayers to signify an area that should paint independently. This gets turned into a TransformLayer on the engine side, with an SkMatrix that is translate-only.

This may result in multiple pictures that are individually raster cached, but often times a repaint boundary indicates an entire area of multiple pictures that would benefit from raster caching. This is particularly true in scrolling use cases, where repaint boundaries are used to animate the offset of a layer.

It should be possible for flutter::TransformLayers to check if they are a translation only matrix and raster cache using the same heuristics as other layers today. The theory is that this will help with scrolling scenarios. We'll want to monitor impact on memory usage.

/cc @goderbauer @flar

Metadata

Metadata

Assignees

Labels

P2Important issues not at the top of the work listc: performanceRelates to speed or footprint issues (see "perf:" labels)engineflutter/engine related. See also e: labels.perf: speedPerformance issues related to (mostly rendering) speed

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions