| Index: cc/layer_tree_host_impl.cc
|
| diff --git a/cc/layer_tree_host_impl.cc b/cc/layer_tree_host_impl.cc
|
| index 581377e2b3397ef5f3c4eea7e8502b62b7626621..41d66499587e9d2ff8cb84b0dd96307abc061614 100644
|
| --- a/cc/layer_tree_host_impl.cc
|
| +++ b/cc/layer_tree_host_impl.cc
|
| @@ -25,6 +25,7 @@
|
| #include "cc/prioritized_texture_manager.h"
|
| #include "cc/render_pass_draw_quad.h"
|
| #include "cc/rendering_stats.h"
|
| +#include "cc/rendering_stats_subscriber.h"
|
| #include "cc/scrollbar_animation_controller.h"
|
| #include "cc/scrollbar_layer_impl.h"
|
| #include "cc/settings.h"
|
| @@ -676,7 +677,10 @@ void LayerTreeHostImpl::drawLayers(const FrameData& frame)
|
| // FIXME: use the frame begin time from the overall compositor scheduler.
|
| // This value is currently inaccessible because it is up in Chromium's
|
| // RenderWidget.
|
| - m_fpsCounter->markBeginningOfFrame(base::TimeTicks::Now());
|
| + base::TimeTicks now = base::TimeTicks::Now();
|
| + m_fpsCounter->markBeginningOfFrame(now);
|
| + if (m_renderingStatsSubscriber)
|
| + m_renderingStatsSubscriber->markBeginningOfFrame(now);
|
|
|
| if (m_settings.showDebugRects())
|
| m_debugRectHistory->saveDebugRectsForCurrentFrame(m_rootLayerImpl.get(), *frame.renderSurfaceLayerList, frame.occludingScreenSpaceRects, settings());
|
| @@ -1472,6 +1476,26 @@ void LayerTreeHostImpl::renderingStats(RenderingStats* stats) const
|
| stats->numMainThreadScrolls = m_numMainThreadScrolls;
|
| }
|
|
|
| +void LayerTreeHostImpl::startRecordingRenderingStats()
|
| +{
|
| + m_renderingStatsSubscriber = RenderingStatsSubscriber::create();
|
| +}
|
| +
|
| +void LayerTreeHostImpl::stopRecordingRenderingStats(RenderingStats* stats)
|
| +{
|
| + double frame_rate_average = 0.0;
|
| + double frame_rate_standard_deviation = 0.0;
|
| +
|
| + m_renderingStatsSubscriber->getFPSAndStandardDeviation(
|
| + frame_rate_average,
|
| + frame_rate_standard_deviation);
|
| +
|
| + stats->frameRateAverage = frame_rate_average;
|
| + stats->frameRateStandardDeviation = frame_rate_standard_deviation;
|
| +
|
| + m_renderingStatsSubscriber.reset();
|
| +}
|
| +
|
| void LayerTreeHostImpl::animateScrollbars(base::TimeTicks time)
|
| {
|
| animateScrollbarsRecursive(m_rootLayerImpl.get(), time);
|
|
|