Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(87)

Unified Diff: content/browser/renderer_host/render_widget_host_view_aura.cc

Issue 11293121: Add latency measurement system (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: minor input event changes Created 8 years ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: content/browser/renderer_host/render_widget_host_view_aura.cc
diff --git a/content/browser/renderer_host/render_widget_host_view_aura.cc b/content/browser/renderer_host/render_widget_host_view_aura.cc
index 81ee608adebc351dafde63009d3c8d056190805b..a13c01afb54cc6c0c238183e6a3abb490e8479c7 100644
--- a/content/browser/renderer_host/render_widget_host_view_aura.cc
+++ b/content/browser/renderer_host/render_widget_host_view_aura.cc
@@ -897,6 +897,14 @@ void RenderWidgetHostViewAura::AcceleratedSurfaceBuffersSwapped(
if (compositor) {
gfx::Size surface_size = ConvertSizeToDIP(this, params_in_pixel.size);
window_->SchedulePaintInRect(gfx::Rect(surface_size));
+
+ FrameLatency frame_latency;
+ frame_latency.latency_info = params_in_pixel.latency_info;
+ frame_latency.latency_info.browserMainFrameNumber =
+ compositor->SetInputNumber(frame_latency.latency_info.inputNumber);
+ frame_latency.gpu_host_id = gpu_host_id;
+ frame_latency.route_id = params_in_pixel.route_id;
+ frame_queue_.push(frame_latency);
}
SwapBuffersCompleted(ack_params);
@@ -958,6 +966,14 @@ void RenderWidgetHostViewAura::AcceleratedSurfacePostSubBuffer(
rect_to_paint.Inset(-1, -1);
rect_to_paint.Intersect(window_->bounds());
+ FrameLatency frame_latency;
+ frame_latency.latency_info = params_in_pixel.latency_info;
+ frame_latency.latency_info.browserMainFrameNumber =
+ compositor->SetInputNumber(frame_latency.latency_info.inputNumber);
+ frame_latency.gpu_host_id = gpu_host_id;
+ frame_latency.route_id = params_in_pixel.route_id;
+ frame_queue_.push(frame_latency);
+
window_->SchedulePaintInRect(rect_to_paint);
}
@@ -1782,6 +1798,28 @@ void RenderWidgetHostViewAura::OnCompositingLockStateChanged(
}
}
+void RenderWidgetHostViewAura::OnReceivedLatencyInfo(
+ ui::Compositor* compositor,
+ const WebKit::WebLatencyInfoImpl& latency_info) {
+ while (!frame_queue_.empty()) {
+ const FrameLatency& frame_latency = frame_queue_.front();
+ if (latency_info.rendererMainFrameNumber <
+ frame_latency.latency_info.browserMainFrameNumber)
+ break;
+
+ WebKit::WebLatencyInfoImpl real_latency_info = frame_latency.latency_info;
+ real_latency_info.browserMainFrameNumber =
+ latency_info.rendererMainFrameNumber;
+ real_latency_info.browserImplFrameNumber =
+ latency_info.rendererImplFrameNumber;
+ real_latency_info.swapTimestamp = latency_info.swapTimestamp;
+ RenderWidgetHostImpl::NotifyFrameDisplayed(frame_latency.route_id,
+ frame_latency.gpu_host_id,
+ real_latency_info);
+ frame_queue_.pop();
+ }
+}
+
////////////////////////////////////////////////////////////////////////////////
// RenderWidgetHostViewAura, ImageTransportFactoryObserver implementation:

Powered by Google App Engine
This is Rietveld 408576698