flutter / flutter/devtools

Mark missed frames in devtools?

Open
#2,768 1 comment 0 reactions 0 assignees View on GitHub
P3 screen: performance
Dominant language
Dart
Stars
1.7k
Forks
404
Avg merge
6d 17h
Merged PRs (30d)
18

Description

When a frame is still being handled when the next frame comes due, the timeline trace shows a VSyncProcessCallback and an AsyncWaitForVsync and other related entries in the UI thread, without a corresponding "Framework Workload" event. It would be interesting to mark these somehow in the UI as missed frames. For example, maybe whatever GPURasterizer::Draw call was happening when the vsyncs got dropped on the floor could be flagged as having caused N missed frames. Or the vsync callback events could be marked in red to indicate that they are missed frames.

If we do anything like this please either have the engine label these events with clear names or make sure to add a test to the flutter/tests shard that verifies that we reliably send these events with the names that DevTools expects, so that someone doesn't break the output by "cleaning up" some of these events.

Contributor guide

Open the contributing guide

Research direction

Start by tracing the timeline handling for VSyncProcessCallback, AsyncWaitForVsync, Framework Workload, and GPURasterizer::Draw events, then inspect how the Flutter engine emits them. Define the missed-frame presentation in the DevTools UI and ensure the flutter/tests shard verifies the event names DevTools depends on.

Written by the indexing model from the issue text.

Assessment

Tech stack
dart, flutter
Domain
devtools, performance
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.