summaryrefslogtreecommitdiffstats
path: root/cc/debug
diff options
context:
space:
mode:
authorcaseq@google.com <caseq@google.com@0039d316-1c4b-4281-b951-d872f2087c98>2013-05-22 12:46:35 +0000
committercaseq@google.com <caseq@google.com@0039d316-1c4b-4281-b951-d872f2087c98>2013-05-22 12:46:35 +0000
commit4c38fdc54a9d15156b3196be3dfe15fe15edc685 (patch)
treed5a67bf3c18a8843c7b4b8d5208542f9d27b342a /cc/debug
parentf6c58823df3449679e4f266ba0c612f11e9594cb (diff)
downloadchromium_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.h45
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_
-