Skip to content

Improve engine event loop task prioritization #76570

@zanderso

Description

@zanderso

Expired tasks posted on task runners in the Flutter engine are serviced in FIFO order. For threads that service a large number of tasks, critical tasks related to jank free operation may be queued behind asynchronous callbacks that are of little relevance to frame workloads. A mechanism to identify and service UI critical tasks in the core event loop mechanism of the Flutter Engine is desirable.

Identifying and preferring UI critical tasks also gives the engine the ability to surface feedback to app developers when non-UI tasks cause UI tasks to miss deadlines.

/cc @iskakaushik @chinmaygarde (Filing an issue for this since I think we didn't already have one, but feel free to close this one as a duplicate if I'm mistaken.)

Metadata

Metadata

Assignees

Labels

P3Issues that are less important to the Flutter projectc: new featureNothing broken; request for a new capabilityc: performanceRelates to speed or footprint issues (see "perf:" labels)engineflutter/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