@@ -104,10 +104,6 @@ void Animator::BeginFrame(
104104 // We have acquired a valid continuation from the pipeline and are ready
105105 // to service potential frame.
106106 FML_DCHECK (producer_continuation_);
107- fml::tracing::TraceEventAsyncComplete (
108- " flutter" , " VsyncSchedulingOverhead" ,
109- frame_timings_recorder_->GetVsyncStartTime (),
110- frame_timings_recorder_->GetBuildStartTime ());
111107 const fml::TimePoint frame_target_time =
112108 frame_timings_recorder_->GetVsyncTargetTime ();
113109 dart_frame_deadline_ = FxlToDartOrEarlier (frame_target_time);
@@ -195,6 +191,10 @@ bool Animator::CanReuseLastLayerTree() {
195191
196192void Animator::DrawLastLayerTree (
197193 std::unique_ptr<FrameTimingsRecorder> frame_timings_recorder) {
194+ // This method is very cheap, but this makes it explicitly clear in trace
195+ // files.
196+ TRACE_EVENT0 (" flutter" , " Animator::DrawLastLayerTree" );
197+
198198 pending_frame_semaphore_.Signal ();
199199 // In this case BeginFrame doesn't get called, we need to
200200 // adjust frame timings to update build start and end times,
@@ -208,6 +208,12 @@ void Animator::DrawLastLayerTree(
208208
209209void Animator::RequestFrame (bool regenerate_layer_tree) {
210210 if (regenerate_layer_tree) {
211+ // This event will be closed by BeginFrame. BeginFrame will only be called
212+ // if regenerating the layer tree. If a frame has been requested to update
213+ // an external texture, this will be false and no BeginFrame call will
214+ // happen.
215+ TRACE_EVENT_ASYNC_BEGIN0 (" flutter" , " Frame Request Pending" ,
216+ frame_request_number_);
211217 regenerate_layer_tree_ = true ;
212218 }
213219
@@ -225,13 +231,10 @@ void Animator::RequestFrame(bool regenerate_layer_tree) {
225231 // To support that, we need edge triggered wakes on VSync.
226232
227233 task_runners_.GetUITaskRunner ()->PostTask (
228- [self = weak_factory_.GetWeakPtr (),
229- frame_request_number = frame_request_number_]() {
234+ [self = weak_factory_.GetWeakPtr ()]() {
230235 if (!self) {
231236 return ;
232237 }
233- TRACE_EVENT_ASYNC_BEGIN0 (" flutter" , " Frame Request Pending" ,
234- frame_request_number);
235238 self->AwaitVSync ();
236239 });
237240 frame_scheduled_ = true ;
0 commit comments