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

Unified Diff: content/common/gpu/texture_image_transport_surface.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/common/gpu/texture_image_transport_surface.cc
diff --git a/content/common/gpu/texture_image_transport_surface.cc b/content/common/gpu/texture_image_transport_surface.cc
index d354bef215388de84b5c060a7ded228bdfd5b2fb..bd3b5033bfb61555dca432a32330f71872d7784a 100644
--- a/content/common/gpu/texture_image_transport_surface.cc
+++ b/content/common/gpu/texture_image_transport_surface.cc
@@ -205,8 +205,25 @@ void TextureImageTransportSurface::OnWillDestroyStub(
stub_destroyed_ = true;
}
+void TextureImageTransportSurface::SetLatencyInfo(
+ const WebKit::WebLatencyInfoImpl& latency_info) {
+ if (latency_info_.rendererImplFrameNumber !=
+ latency_info.rendererImplFrameNumber) {
+ TRACE_EVENT_ASYNC_BEGIN2("frame", "Renderer Frame", this,
+ "frame_number",
+ latency_info.rendererImplFrameNumber,
+ "input_number", latency_info.inputNumber);
+ }
+
+ latency_info_ = latency_info;
+}
+
bool TextureImageTransportSurface::SwapBuffers() {
DCHECK(backbuffer_suggested_allocation_);
+ TRACE_EVENT_ASYNC_END2("frame", "Renderer Frame", this,
+ "frame_number", latency_info_.rendererImplFrameNumber,
+ "input_number", latency_info_.inputNumber);
+
if (!frontbuffer_suggested_allocation_)
return true;
@@ -221,6 +238,7 @@ bool TextureImageTransportSurface::SwapBuffers() {
GpuHostMsg_AcceleratedSurfaceBuffersSwapped_Params params;
params.surface_handle = backbuffer_.surface_handle;
params.size = backbuffer_.size;
+ params.latency_info = latency_info_;
helper_->SendAcceleratedSurfaceBuffersSwapped(params);
DCHECK(!is_swap_buffers_pending_);
@@ -231,6 +249,9 @@ bool TextureImageTransportSurface::SwapBuffers() {
bool TextureImageTransportSurface::PostSubBuffer(
int x, int y, int width, int height) {
DCHECK(backbuffer_suggested_allocation_);
+ TRACE_EVENT_ASYNC_END2("frame", "Renderer Frame", this,
+ "frame_number", latency_info_.rendererImplFrameNumber,
+ "input_number", latency_info_.inputNumber);
if (!frontbuffer_suggested_allocation_)
return true;
const gfx::Rect new_damage_rect(x, y, width, height);
@@ -256,6 +277,7 @@ bool TextureImageTransportSurface::PostSubBuffer(
params.y = y;
params.width = width;
params.height = height;
+ params.latency_info = latency_info_;
helper_->SendAcceleratedSurfacePostSubBuffer(params);
DCHECK(!is_swap_buffers_pending_);

Powered by Google App Engine
This is Rietveld 408576698