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

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

Issue 121653002: Track AsyncReadback time using histogram. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 7 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
« no previous file with comments | « content/browser/renderer_host/render_widget_host_view_android.h ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: content/browser/renderer_host/render_widget_host_view_android.cc
diff --git a/content/browser/renderer_host/render_widget_host_view_android.cc b/content/browser/renderer_host/render_widget_host_view_android.cc
index 6a9a341b24d9552fb9ec5d7c0893f7428d193015..d85bc3fef3ff7b0eab6917b421583dc2bcf71895 100644
--- a/content/browser/renderer_host/render_widget_host_view_android.cc
+++ b/content/browser/renderer_host/render_widget_host_view_android.cc
@@ -12,6 +12,7 @@
#include "base/command_line.h"
#include "base/logging.h"
#include "base/message_loop/message_loop.h"
+#include "base/metrics/histogram.h"
#include "base/strings/utf_string_conversions.h"
#include "base/threading/worker_pool.h"
#include "cc/base/latency_info_swap_promise.h"
@@ -90,10 +91,13 @@ void CopyFromCompositingSurfaceFinished(
const base::Callback<void(bool, const SkBitmap&)>& callback,
scoped_ptr<cc::SingleReleaseCallback> release_callback,
scoped_ptr<SkBitmap> bitmap,
+ const base::TimeTicks& start_time,
scoped_ptr<SkAutoLockPixels> bitmap_pixels_lock,
bool result) {
bitmap_pixels_lock.reset();
release_callback->Run(0, false);
+ UMA_HISTOGRAM_TIMES("RWHVA.CopyFromCompositingSurface asyncreadback time",
jar (doing other things) 2014/01/11 03:41:39 nit: Did you intend to add data to the same histog
sivag 2014/01/14 13:38:22 Done.
+ base::TimeTicks::Now() - start_time);
callback.Run(result, *bitmap);
}
@@ -585,6 +589,7 @@ void RenderWidgetHostViewAndroid::CopyFromCompositingSurface(
const gfx::Rect& src_subrect,
const gfx::Size& dst_size,
const base::Callback<void(bool, const SkBitmap&)>& callback) {
+ base::TimeTicks start_time = base::TimeTicks::Now();
if (!using_synchronous_compositor_ && !IsSurfaceAvailableForCopy()) {
callback.Run(false, SkBitmap());
return;
@@ -603,6 +608,8 @@ void RenderWidgetHostViewAndroid::CopyFromCompositingSurface(
if (using_synchronous_compositor_) {
SynchronousCopyContents(src_subrect_in_pixel, dst_size_in_pixel, callback);
+ UMA_HISTOGRAM_TIMES("RWHVA.SynchronousCopyContents",
+ base::TimeTicks::Now() - start_time);
return;
}
@@ -611,15 +618,18 @@ void RenderWidgetHostViewAndroid::CopyFromCompositingSurface(
request = cc::CopyOutputRequest::CreateBitmapRequest(base::Bind(
&RenderWidgetHostViewAndroid::PrepareBitmapCopyOutputResult,
dst_size_in_pixel,
+ start_time,
callback));
} else {
request = cc::CopyOutputRequest::CreateRequest(base::Bind(
&RenderWidgetHostViewAndroid::PrepareTextureCopyOutputResult,
dst_size_in_pixel,
+ start_time,
callback));
}
request->set_area(src_subrect_in_pixel);
layer_->RequestCopyOfOutput(request.Pass());
+
jar (doing other things) 2014/01/11 03:41:39 nit: no need for blank line
sivag 2014/01/14 13:38:22 Done.
}
void RenderWidgetHostViewAndroid::CopyFromCompositingSurfaceToVideoFrame(
@@ -1315,6 +1325,7 @@ void RenderWidgetHostViewAndroid::OnLostResources() {
// static
void RenderWidgetHostViewAndroid::PrepareTextureCopyOutputResult(
const gfx::Size& dst_size_in_pixel,
+ const base::TimeTicks& start_time,
const base::Callback<void(bool, const SkBitmap&)>& callback,
scoped_ptr<cc::CopyOutputResult> result) {
DCHECK(result->HasTexture());
@@ -1361,12 +1372,14 @@ void RenderWidgetHostViewAndroid::PrepareTextureCopyOutputResult(
callback,
base::Passed(&release_callback),
base::Passed(&bitmap),
+ start_time,
base::Passed(&bitmap_pixels_lock)));
}
// static
void RenderWidgetHostViewAndroid::PrepareBitmapCopyOutputResult(
const gfx::Size& dst_size_in_pixel,
+ const base::TimeTicks& start_time,
const base::Callback<void(bool, const SkBitmap&)>& callback,
scoped_ptr<cc::CopyOutputResult> result) {
DCHECK(result->HasBitmap());
@@ -1385,6 +1398,9 @@ void RenderWidgetHostViewAndroid::PrepareBitmapCopyOutputResult(
DCHECK_EQ(source->height(), dst_size_in_pixel.height());
ignore_result(scoped_callback_runner.Release());
+ UMA_HISTOGRAM_TIMES("RWHVA.CopyFromCompositingSurface asyncreadback time",
+ base::TimeTicks::Now() - start_time);
+
callback.Run(true, *source);
}
« no previous file with comments | « content/browser/renderer_host/render_widget_host_view_android.h ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698