0

Export timing details after mojo call to viz.

We want to do the work of exporting metrics to the
client after dispatching the frame complete signal
to Viz rather than before.

Bug: 338977417
Change-Id: Id9f2a093ef985f565499b3e0bdfbcf623d4e0515
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6354046
Commit-Queue: Stacy Gaikovaia <gaiko@google.com>
Reviewed-by: Jonathan Ross <jonross@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1432883}
This commit is contained in:
Stacy Gaikovaia
2025-03-14 11:17:48 -07:00
committed by Chromium LUCI CQ
parent 8715f96c55
commit fe74038b7d

@ -261,6 +261,9 @@ void AsyncLayerTreeFrameSink::SubmitCompositorFrame(
data->set_surface_frame_trace_id(trace_id);
});
compositor_frame_sink_ptr_->SubmitCompositorFrame(
local_surface_id_, std::move(frame), std::move(hit_test_region_list), 0);
if (base::FeatureList::IsEnabled(
features::kExportFrameTimingAfterFrameDone)) {
for (const auto& pair : timing_details_) {
@ -268,9 +271,6 @@ void AsyncLayerTreeFrameSink::SubmitCompositorFrame(
}
timing_details_.clear();
}
compositor_frame_sink_ptr_->SubmitCompositorFrame(
local_surface_id_, std::move(frame), std::move(hit_test_region_list), 0);
}
void AsyncLayerTreeFrameSink::DidNotProduceFrame(const viz::BeginFrameAck& ack,
@ -290,6 +290,8 @@ void AsyncLayerTreeFrameSink::DidNotProduceFrame(const viz::BeginFrameAck& ack,
data->set_surface_frame_trace_id(ack.trace_id);
});
compositor_frame_sink_ptr_->DidNotProduceFrame(ack);
if (base::FeatureList::IsEnabled(
features::kExportFrameTimingAfterFrameDone)) {
for (const auto& pair : timing_details_) {
@ -297,8 +299,6 @@ void AsyncLayerTreeFrameSink::DidNotProduceFrame(const viz::BeginFrameAck& ack,
}
timing_details_.clear();
}
compositor_frame_sink_ptr_->DidNotProduceFrame(ack);
}
std::unique_ptr<LayerContext> AsyncLayerTreeFrameSink::CreateLayerContext(