Mark missed frames in devtools?
- 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
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