Skip to content

Ignore duplicate FlutterView.render calls in the same frame #144444

@loic-sharma

Description

@loic-sharma

Background

Currently the FlutterView.render calls are "batched": the UI thread collects all rendered scenes and submits them to the raster thread once the frame ends. In other words, the raster thread does not start rasterization until the UI thread has received all scenes.

In the future, we would like to be able to "stream" renders: the UI thread sends each rendered scene to the raster thread as it receives them. This would allow the UI and raster threads to work in parallel on the same frame.

Problem

What happens if I render a view multiple times in the same frame with different scenes? These re-renders should be ignored to ensure that the raster thread does not have to do throwaway work in a "streaming" world.
 
Part of #142845

Metadata

Metadata

Assignees

Labels

P2Important issues not at the top of the work lista: multi windowIssues related to multi window supportengineflutter/engine related. See also e: labels.fyi-linuxFor the attention of the Linux platform teamfyi-windowsFor the attention of the Windows platform teamteam-macosOwned by the macOS platform team

Type

No type

Projects

Status

Done

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions