diff options
author | hartmanng@chromium.org <hartmanng@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-11-09 15:58:45 +0000 |
---|---|---|
committer | hartmanng@chromium.org <hartmanng@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-11-09 15:58:45 +0000 |
commit | 63ab5426e2912b3fbf29af23e5a9b746bc409f62 (patch) | |
tree | e728199d89c8dbbb5885d8bac594d546084145e0 /cc | |
parent | 4a78ca387abe8cd1a1d5d716896de5604100db51 (diff) | |
download | chromium_src-63ab5426e2912b3fbf29af23e5a9b746bc409f62.zip chromium_src-63ab5426e2912b3fbf29af23e5a9b746bc409f62.tar.gz chromium_src-63ab5426e2912b3fbf29af23e5a9b746bc409f62.tar.bz2 |
Adding hooks for gathering total pixels painted and rasterized stats.
Blocked on: https://bugs.webkit.org/show_bug.cgi?id=98269
BUG=156087
Review URL: https://chromiumcodereview.appspot.com/10982078
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@166911 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'cc')
-rw-r--r-- | cc/bitmap_content_layer_updater.cc | 3 | ||||
-rw-r--r-- | cc/bitmap_skpicture_content_layer_updater.cc | 1 | ||||
-rw-r--r-- | cc/cc.gyp | 1 | ||||
-rw-r--r-- | cc/content_layer_updater.cc | 2 | ||||
-rw-r--r-- | cc/rendering_stats.cc | 23 | ||||
-rw-r--r-- | cc/rendering_stats.h | 32 |
6 files changed, 43 insertions, 19 deletions
diff --git a/cc/bitmap_content_layer_updater.cc b/cc/bitmap_content_layer_updater.cc index 387a06c..ffb1165d 100644 --- a/cc/bitmap_content_layer_updater.cc +++ b/cc/bitmap_content_layer_updater.cc @@ -7,6 +7,7 @@ #include "cc/bitmap_content_layer_updater.h" #include "cc/layer_painter.h" +#include "cc/rendering_stats.h" #include "cc/resource_update.h" #include "cc/resource_update_queue.h" #include "skia/ext/platform_canvas.h" @@ -55,6 +56,8 @@ void BitmapContentLayerUpdater::prepareToUpdate(const gfx::Rect& contentRect, co m_canvas = make_scoped_ptr(skia::CreateBitmapCanvas(m_canvasSize.width(), m_canvasSize.height(), m_opaque)); } + stats.totalPixelsRasterized += contentRect.width() * contentRect.height(); + paintContents(m_canvas.get(), contentRect, contentsWidthScale, contentsHeightScale, resultingOpaqueRect, stats); } diff --git a/cc/bitmap_skpicture_content_layer_updater.cc b/cc/bitmap_skpicture_content_layer_updater.cc index cd77aae..ce739de 100644 --- a/cc/bitmap_skpicture_content_layer_updater.cc +++ b/cc/bitmap_skpicture_content_layer_updater.cc @@ -67,6 +67,7 @@ void BitmapSkPictureContentLayerUpdater::paintContentsRect(SkCanvas* canvas, con base::TimeTicks rasterizeBeginTime = base::TimeTicks::Now(); drawPicture(canvas); stats.totalRasterizeTimeInSeconds += (base::TimeTicks::Now() - rasterizeBeginTime).InSecondsF(); + stats.totalPixelsRasterized += sourceRect.width() * sourceRect.height(); } } // namespace cc @@ -150,6 +150,7 @@ 'render_surface_impl.h', 'renderer.cc', 'renderer.h', + 'rendering_stats.cc', 'rendering_stats.h', 'resource.cc', 'resource.h', diff --git a/cc/content_layer_updater.cc b/cc/content_layer_updater.cc index b62a293..aba79ec0 100644 --- a/cc/content_layer_updater.cc +++ b/cc/content_layer_updater.cc @@ -56,6 +56,8 @@ void ContentLayerUpdater::paintContents(SkCanvas* canvas, const gfx::Rect& conte stats.totalPaintTimeInSeconds += (base::TimeTicks::Now() - paintBeginTime).InSecondsF(); canvas->restore(); + stats.totalPixelsPainted += contentRect.width() * contentRect.height(); + gfx::RectF opaqueContentRect = gfx::ScaleRect(opaqueLayerRect, contentsWidthScale, contentsHeightScale); resultingOpaqueRect = gfx::ToEnclosedRect(opaqueContentRect); diff --git a/cc/rendering_stats.cc b/cc/rendering_stats.cc new file mode 100644 index 0000000..ea465aa --- /dev/null +++ b/cc/rendering_stats.cc @@ -0,0 +1,23 @@ +// Copyright 2012 The Chromium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +#include "cc/rendering_stats.h" + +namespace cc { + +RenderingStats::RenderingStats() + : numAnimationFrames(0), + numFramesSentToScreen(0), + droppedFrameCount(0), + totalPaintTimeInSeconds(0), + totalRasterizeTimeInSeconds(0), + totalCommitTimeInSeconds(0), + totalCommitCount(0), + totalPixelsPainted(0), + totalPixelsRasterized(0), + numImplThreadScrolls(0), + numMainThreadScrolls(0) { +} + +} // namespace cc diff --git a/cc/rendering_stats.h b/cc/rendering_stats.h index ab4d9d0..a08b832 100644 --- a/cc/rendering_stats.h +++ b/cc/rendering_stats.h @@ -5,34 +5,28 @@ #ifndef CC_RENDERING_STATS_H_ #define CC_RENDERING_STATS_H_ +#include "base/basictypes.h" +#include "cc/cc_export.h" + namespace cc { -struct RenderingStats { +struct CC_EXPORT RenderingStats { // FIXME: Rename these to animationFrameCount and screenFrameCount, crbug.com/138641. - int numAnimationFrames; - int numFramesSentToScreen; - int droppedFrameCount; + int64 numAnimationFrames; + int64 numFramesSentToScreen; + int64 droppedFrameCount; double totalPaintTimeInSeconds; double totalRasterizeTimeInSeconds; double totalCommitTimeInSeconds; size_t totalCommitCount; - size_t numImplThreadScrolls; - size_t numMainThreadScrolls; + int64 totalPixelsPainted; + int64 totalPixelsRasterized; + int64 numImplThreadScrolls; + int64 numMainThreadScrolls; - RenderingStats() - : numAnimationFrames(0) - , numFramesSentToScreen(0) - , droppedFrameCount(0) - , totalPaintTimeInSeconds(0) - , totalRasterizeTimeInSeconds(0) - , totalCommitTimeInSeconds(0) - , totalCommitCount(0) - , numImplThreadScrolls(0) - , numMainThreadScrolls(0) - { - } + RenderingStats(); }; -} +} // namespace cc #endif // CC_RENDERING_STATS_H_ |