summaryrefslogtreecommitdiffstats
path: root/cc/resources/skpicture_content_layer_updater.cc
diff options
context:
space:
mode:
authorvangelis@chromium.org <vangelis@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-08-28 03:30:52 +0000
committervangelis@chromium.org <vangelis@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-08-28 03:30:52 +0000
commit50120f2dae7a44e4549878ae3c77986aa3f0fd0c (patch)
tree9413c5eda77c647e162bf900d48a3d53983a6a23 /cc/resources/skpicture_content_layer_updater.cc
parentf079ded96e4e9cb99eb018f3eb2a1cdebc9f7dbd (diff)
downloadchromium_src-50120f2dae7a44e4549878ae3c77986aa3f0fd0c.zip
chromium_src-50120f2dae7a44e4549878ae3c77986aa3f0fd0c.tar.gz
chromium_src-50120f2dae7a44e4549878ae3c77986aa3f0fd0c.tar.bz2
Skip clearing the canvas before painting the contents of opaque layers
The SkCanvas doesn't need to be cleared before painting the layer contents if the layer is known to be opaque (e.g. the root layer). Bypassing the clear gives a sizeable perf boost. This patch also switches to calling clear() instead of drawRect() for clearing the canvas pixels as clear has been shown to be significantly faster. BUG=279612 Review URL: https://chromiumcodereview.appspot.com/23484005 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@219894 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'cc/resources/skpicture_content_layer_updater.cc')
-rw-r--r--cc/resources/skpicture_content_layer_updater.cc9
1 files changed, 2 insertions, 7 deletions
diff --git a/cc/resources/skpicture_content_layer_updater.cc b/cc/resources/skpicture_content_layer_updater.cc
index e44dbc2..79769bc 100644
--- a/cc/resources/skpicture_content_layer_updater.cc
+++ b/cc/resources/skpicture_content_layer_updater.cc
@@ -17,8 +17,7 @@ SkPictureContentLayerUpdater::SkPictureContentLayerUpdater(
scoped_ptr<LayerPainter> painter,
RenderingStatsInstrumentation* stats_instrumentation,
int layer_id)
- : ContentLayerUpdater(painter.Pass(), stats_instrumentation, layer_id),
- layer_is_opaque_(false) {}
+ : ContentLayerUpdater(painter.Pass(), stats_instrumentation, layer_id) {}
SkPictureContentLayerUpdater::~SkPictureContentLayerUpdater() {}
@@ -33,7 +32,7 @@ void SkPictureContentLayerUpdater::PrepareToUpdate(
base::TimeTicks start_time =
rendering_stats_instrumentation_->StartRecording();
PaintContents(canvas,
- content_rect,
+ content_rect.origin(),
contents_width_scale,
contents_height_scale,
resulting_opaque_rect);
@@ -49,8 +48,4 @@ void SkPictureContentLayerUpdater::DrawPicture(SkCanvas* canvas) {
canvas->drawPicture(picture_);
}
-void SkPictureContentLayerUpdater::SetOpaque(bool opaque) {
- layer_is_opaque_ = opaque;
-}
-
} // namespace cc