diff options
author | caseq@google.com <caseq@google.com@0039d316-1c4b-4281-b951-d872f2087c98> | 2013-05-22 12:46:35 +0000 |
---|---|---|
committer | caseq@google.com <caseq@google.com@0039d316-1c4b-4281-b951-d872f2087c98> | 2013-05-22 12:46:35 +0000 |
commit | 4c38fdc54a9d15156b3196be3dfe15fe15edc685 (patch) | |
tree | d5a67bf3c18a8843c7b4b8d5208542f9d27b342a /cc/debug | |
parent | f6c58823df3449679e4f266ba0c612f11e9594cb (diff) | |
download | chromium_src-4c38fdc54a9d15156b3196be3dfe15fe15edc685.zip chromium_src-4c38fdc54a9d15156b3196be3dfe15fe15edc685.tar.gz chromium_src-4c38fdc54a9d15156b3196be3dfe15fe15edc685.tar.bz2 |
Add devtools instrumentation for canvas creation in BitmapContentLayerUpdater
Canvas bitmap allocation may take considerable time (close to that of
actual layer update), so having it intrumented helps to reduce "unknown"
time on Timeline.
- keep layer id in content layer updater, plumb it through all
content layer updaters.
- extract boilerplate of devtools instrumentation classes to a macro;
- add instrumentation around canvas bitmap allocation in
BitmapContentLayerUpdater.
Related blink change: https://codereview.chromium.org/15466005
R=nduca@chromium.org
Review URL: https://codereview.chromium.org/15317008
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@201498 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'cc/debug')
-rw-r--r-- | cc/debug/devtools_instrumentation.h | 45 |
1 files changed, 12 insertions, 33 deletions
diff --git a/cc/debug/devtools_instrumentation.h b/cc/debug/devtools_instrumentation.h index eb5a619..7b2ea1a 100644 --- a/cc/debug/devtools_instrumentation.h +++ b/cc/debug/devtools_instrumentation.h @@ -13,45 +13,25 @@ namespace devtools_instrumentation { namespace internal { const char kCategory[] = "cc,devtools"; const char kLayerId[] = "layerId"; +} + const char kPaintLayer[] = "PaintLayer"; const char kRasterTask[] = "RasterTask"; const char kImageDecodeTask[] = "ImageDecodeTask"; -} +const char kPaintSetup[] = "PaintSetup"; -struct ScopedPaintLayer { - explicit ScopedPaintLayer(int layer_id) { - TRACE_EVENT_BEGIN1(internal::kCategory, internal::kPaintLayer, +class ScopedLayerTask { + public: + explicit ScopedLayerTask(const char* event_name, int layer_id) + : event_name_(event_name) { + TRACE_EVENT_BEGIN1(internal::kCategory, event_name_, internal::kLayerId, layer_id); } - ~ScopedPaintLayer() { - TRACE_EVENT_END0(internal::kCategory, internal::kPaintLayer); + ~ScopedLayerTask() { + TRACE_EVENT_END0(internal::kCategory, event_name_); } - - DISALLOW_COPY_AND_ASSIGN(ScopedPaintLayer); -}; - -struct ScopedRasterTask { - explicit ScopedRasterTask(int layer_id) { - TRACE_EVENT_BEGIN1(internal::kCategory, internal::kRasterTask, - internal::kLayerId, layer_id); - } - ~ScopedRasterTask() { - TRACE_EVENT_END0(internal::kCategory, internal::kRasterTask); - } - - DISALLOW_COPY_AND_ASSIGN(ScopedRasterTask); -}; - -struct ScopedImageDecodeTask { - explicit ScopedImageDecodeTask(int layer_id) { - TRACE_EVENT_BEGIN1(internal::kCategory, internal::kImageDecodeTask, - internal::kLayerId, layer_id); - } - ~ScopedImageDecodeTask() { - TRACE_EVENT_END0(internal::kCategory, internal::kImageDecodeTask); - } - - DISALLOW_COPY_AND_ASSIGN(ScopedImageDecodeTask); + private: + const char* event_name_; }; struct ScopedLayerObjectTracker @@ -70,4 +50,3 @@ struct ScopedLayerObjectTracker } // namespace cc #endif // CC_DEBUG_DEVTOOLS_INSTRUMENTATION_H_ - |