flutter / flutter/devtools

Mark missed frames in devtools?

Đang mở
#2,768 1 bình luận 0 reaction 0 người được giao Xem trên GitHub
P3 screen: performance
Ngôn ngữ chính
Dart
Star
1.7k
Fork
404
Merge trung bình
6 ngày 17 giờ
Pull request đã merge (30 ngày)
18

Mô tả

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.

Hướng dẫn đóng góp

Mở hướng dẫn đóng góp

Hướng nghiên cứu

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.

Do mô hình lập chỉ mục viết ra từ nội dung của issue.

Đánh giá

Công nghệ
dart, flutter
Lĩnh vực
devtools, performance
Loại issue
Tính năng
Độ khó
5/5
Thời gian dự kiến
Hơn một tuần
Mức độ hoạt động
Đình trệ
Độ rõ ràng
Cần làm rõ
Mức phù hợp với người mới
25/100

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.