summaryrefslogtreecommitdiffstats
path: root/cc/layers/picture_layer.cc
diff options
context:
space:
mode:
authordanakj <danakj@chromium.org>2015-05-05 16:15:58 -0700
committerCommit bot <commit-bot@chromium.org>2015-05-05 23:16:32 +0000
commit4bf88ec3975213f0b4ca7c2f6c95835e11b33d5b (patch)
treee34c0bf81cae7d14424d42b599b7ea1498aef337 /cc/layers/picture_layer.cc
parent21414ababfc5f7264c2c16f9e15cf9bc2aa3b422 (diff)
downloadchromium_src-4bf88ec3975213f0b4ca7c2f6c95835e11b33d5b.zip
chromium_src-4bf88ec3975213f0b4ca7c2f6c95835e11b33d5b.tar.gz
chromium_src-4bf88ec3975213f0b4ca7c2f6c95835e11b33d5b.tar.bz2
ui: Disable the use_cached_picture option in DisplayListRecordingSource
The ui compositor does not need the use_cached_picture option and it slows down recording a fair bit. Add a flag to turn it off in LayerTreeSettings and disable it in ui::Compositor. R=ajuma BUG=466426 Review URL: https://codereview.chromium.org/1125983002 Cr-Commit-Position: refs/heads/master@{#328431}
Diffstat (limited to 'cc/layers/picture_layer.cc')
-rw-r--r--cc/layers/picture_layer.cc20
1 files changed, 11 insertions, 9 deletions
diff --git a/cc/layers/picture_layer.cc b/cc/layers/picture_layer.cc
index 5c4cb06..06fff46 100644
--- a/cc/layers/picture_layer.cc
+++ b/cc/layers/picture_layer.cc
@@ -85,21 +85,22 @@ void PictureLayer::SetLayerTreeHost(LayerTreeHost* host) {
if (!host)
return;
+ const LayerTreeSettings& settings = layer_tree_host()->settings();
if (!recording_source_) {
- if (host->settings().use_display_lists) {
+ if (settings.use_display_lists) {
recording_source_.reset(new DisplayListRecordingSource(
- host->settings().default_tile_grid_size));
+ settings.default_tile_grid_size,
+ settings.use_cached_picture_in_display_list));
} else {
- recording_source_.reset(
- new PicturePile(host->settings().minimum_contents_scale,
- host->settings().default_tile_grid_size));
+ recording_source_.reset(new PicturePile(settings.minimum_contents_scale,
+ settings.default_tile_grid_size));
}
}
recording_source_->SetSlowdownRasterScaleFactor(
host->debug_state().slow_down_raster_scale_factor);
- recording_source_->SetGatherPixelRefs(host->settings().gather_pixel_refs);
+ recording_source_->SetGatherPixelRefs(settings.gather_pixel_refs);
- DCHECK(host->settings().raster_enabled);
+ DCHECK(settings.raster_enabled);
}
void PictureLayer::SetNeedsDisplayRect(const gfx::Rect& layer_rect) {
@@ -185,8 +186,9 @@ skia::RefPtr<SkPicture> PictureLayer::GetPicture() const {
if (settings.use_display_lists) {
scoped_ptr<RecordingSource> recording_source;
- recording_source.reset(
- new DisplayListRecordingSource(settings.default_tile_grid_size));
+ recording_source.reset(new DisplayListRecordingSource(
+ settings.default_tile_grid_size,
+ settings.use_cached_picture_in_display_list));
Region recording_invalidation;
recording_source->UpdateAndExpandInvalidation(
client_, &recording_invalidation, layer_size, gfx::Rect(layer_size),