Skip to content

flutter driver tests need to know when the GPU thread finishes rendering the first frame #31442

@liyuqian

Description

@liyuqian

So we can trace the correct performance (first frame latency, worst frame after the first frame), and do the correct screenshot of the first frame.

Previously, it only knows the event when the UI thread finished preparing the first frame. That made us measure the wrong performance metrics, and take the wrong screenshots (blank screens instead of the first frame).

In order to implement this, we'll need to let UI thread and GPU thread communicate through VMService. Currently flutter_tools package has a VMService that flutter_drive could use but flutter_drive can't depend on flutter_tools. Hence we'll do a big yak shave to extract that VMService and put it in a common package that can be used by both flutter_tools and flutter_drive.

Metadata

Metadata

Assignees

No one assigned

    Labels

    c: contributor-productivityTeam-specific productivity, code health, technical debt.c: performanceRelates to speed or footprint issues (see "perf:" labels)

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions