diff options
author | danakj <danakj@chromium.org> | 2015-06-03 16:42:04 -0700 |
---|---|---|
committer | Commit bot <commit-bot@chromium.org> | 2015-06-03 23:43:41 +0000 |
commit | fb311cbcfcc06427a037ee01c7f0a3098a060e03 (patch) | |
tree | 7157819047bdeaa0a93bf9e086e18b6fb2ff745f /cc/playback/compositing_display_item.h | |
parent | 0db211cbbdbf2d19e178190471d105de190237c0 (diff) | |
download | chromium_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.h | 2 |
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; }; |