Chromium Code Reviews| Index: cc/layers/picture_layer.cc |
| diff --git a/cc/layers/picture_layer.cc b/cc/layers/picture_layer.cc |
| index d41b541585cd8838ab70751015437696d50a4e18..e2ff13f44a488f575608d1e65ac5a27f6a7a1e1f 100644 |
| --- a/cc/layers/picture_layer.cc |
| +++ b/cc/layers/picture_layer.cc |
| @@ -5,6 +5,8 @@ |
| #include "cc/layers/picture_layer.h" |
| #include "base/auto_reset.h" |
| +#include "base/metrics/histogram_macros.h" |
| +#include "base/timer/elapsed_timer.h" |
| #include "cc/layers/content_layer_client.h" |
| #include "cc/layers/picture_layer_impl.h" |
| #include "cc/resources/display_list_recording_source.h" |
| @@ -136,6 +138,7 @@ bool PictureLayer::Update(ResourceUpdateQueue* queue, |
| layer_tree_host()->source_frame_number()); |
| devtools_instrumentation::ScopedLayerTreeTask update_layer( |
| devtools_instrumentation::kUpdateLayer, id(), layer_tree_host()->id()); |
| + base::ElapsedTimer timer; |
| // Calling paint in WebKit can sometimes cause invalidations, so save |
| // off the invalidation prior to calling update. |
| @@ -166,6 +169,13 @@ bool PictureLayer::Update(ResourceUpdateQueue* queue, |
| recording_invalidation_.Clear(); |
| } |
| + base::TimeDelta elapsed = timer.Elapsed(); |
| + UMA_HISTOGRAM_COUNTS("Renderer4.PictureLayerUpdateUs", |
| + elapsed.InMicroseconds()); |
| + UMA_HISTOGRAM_COUNTS( |
| + "Renderer4.PictureLayerUpdatePixelsPerMs", |
| + visible_layer_rect.size().GetArea() / elapsed.InMillisecondsF()); |
|
enne (OOO)
2015/04/08 20:18:45
visible layer rect is an inaccurate numerator. Yo
jbroman
2015/04/08 20:37:42
I'm hoping to avoid using an area that has differe
enne (OOO)
2015/04/08 21:03:49
No, the bounds are not the invalidated area. The
|
| + |
| return updated; |
| } |