summaryrefslogtreecommitdiffstats
path: root/cc/playback/compositing_display_item.h
diff options
context:
space:
mode:
authordanakj <danakj@chromium.org>2015-06-03 16:42:04 -0700
committerCommit bot <commit-bot@chromium.org>2015-06-03 23:43:41 +0000
commitfb311cbcfcc06427a037ee01c7f0a3098a060e03 (patch)
tree7157819047bdeaa0a93bf9e086e18b6fb2ff745f /cc/playback/compositing_display_item.h
parent0db211cbbdbf2d19e178190471d105de190237c0 (diff)
downloadchromium_src-fb311cbcfcc06427a037ee01c7f0a3098a060e03.zip
chromium_src-fb311cbcfcc06427a037ee01c7f0a3098a060e03.tar.gz
chromium_src-fb311cbcfcc06427a037ee01c7f0a3098a060e03.tar.bz2
cc: Cull DrawingDisplayItems outside of the raster playback rect
Avoid playing an SkPicture into the raster canvas at all if its bounds are not going to intersect what is being rastered. This is for the non-cached picture path which is only used by the ui compositor at this time. This improves the time to raster a single tab loading spinner in the ui compositor from 0.0807235 ms to 0.0597263 for 26% less raster time. BUG=487387 Review URL: https://codereview.chromium.org/1158553004 Cr-Commit-Position: refs/heads/master@{#332730}
Diffstat (limited to 'cc/playback/compositing_display_item.h')
-rw-r--r--cc/playback/compositing_display_item.h2
1 files changed, 2 insertions, 0 deletions
diff --git a/cc/playback/compositing_display_item.h b/cc/playback/compositing_display_item.h
index 78359e6..91cd3e7 100644
--- a/cc/playback/compositing_display_item.h
+++ b/cc/playback/compositing_display_item.h
@@ -29,6 +29,7 @@ class CC_EXPORT CompositingDisplayItem : public DisplayItem {
skia::RefPtr<SkColorFilter> color_filter);
void Raster(SkCanvas* canvas,
+ const gfx::Rect& canvas_target_playback_rect,
SkPicture::AbortCallback* callback) const override;
void AsValueInto(base::trace_event::TracedValue* array) const override;
@@ -50,6 +51,7 @@ class CC_EXPORT EndCompositingDisplayItem : public DisplayItem {
}
void Raster(SkCanvas* canvas,
+ const gfx::Rect& canvas_target_playback_rect,
SkPicture::AbortCallback* callback) const override;
void AsValueInto(base::trace_event::TracedValue* array) const override;
};