-
Notifications
You must be signed in to change notification settings - Fork 6k
[tracing] SceneDisplayLag is a synchronous event #17878
Changes from all commits
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -286,6 +286,7 @@ RasterStatus Rasterizer::DoDraw( | |
| timing.Set(FrameTiming::kRasterFinish, raster_finish_time); | ||
| delegate_.OnFrameRasterized(timing); | ||
|
|
||
| std::string vsync_transitions_missed = "0"; | ||
| if (raster_finish_time > frame_target_time) { | ||
| fml::TimePoint latest_frame_target_time = | ||
| delegate_.GetLatestFrameTargetTime(); | ||
|
|
@@ -297,21 +298,16 @@ RasterStatus Rasterizer::DoDraw( | |
| } | ||
| const auto frame_lag = | ||
| (latest_frame_target_time - frame_target_time).ToMillisecondsF(); | ||
| const int vsync_transitions_missed = round(frame_lag / frame_budget_millis); | ||
| fml::tracing::TraceEventAsyncComplete( | ||
| "flutter", // category | ||
| "SceneDisplayLag", // name | ||
| raster_finish_time, // begin_time | ||
| latest_frame_target_time, // end_time | ||
| "frame_target_time", // arg_key_1 | ||
| frame_target_time, // arg_val_1 | ||
| "current_frame_target_time", // arg_key_2 | ||
| latest_frame_target_time, // arg_val_2 | ||
| "vsync_transitions_missed", // arg_key_3 | ||
| vsync_transitions_missed // arg_val_3 | ||
| ); | ||
| vsync_transitions_missed = | ||
| std::to_string(round(frame_lag / frame_budget_millis)); | ||
|
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Should we use
Contributor
Author
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. I can see both sides to the argument here. If there is One other alternative is to keep this as a
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Hmm... maybe I misunderstood the definition of To better understand the definition of |
||
| } | ||
|
|
||
| TRACE_EVENT1("flutter", // cateogry | ||
| "SceneDisplayLag", // name | ||
| "vsync_transitions_missed", // arg1_key | ||
| vsync_transitions_missed.c_str() // arg1_val | ||
| ); | ||
|
|
||
| // Pipeline pressure is applied from a couple of places: | ||
| // rasterizer: When there are more items as of the time of Consume. | ||
| // animator (via shell): Frame gets produces every vsync. | ||
|
|
||
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Shouldn't the begin/end be
frame_target_time, raster_finish_time?