diff options
author | danakj <danakj@chromium.org> | 2015-05-05 16:15:58 -0700 |
---|---|---|
committer | Commit bot <commit-bot@chromium.org> | 2015-05-05 23:16:32 +0000 |
commit | 4bf88ec3975213f0b4ca7c2f6c95835e11b33d5b (patch) | |
tree | e34c0bf81cae7d14424d42b599b7ea1498aef337 /cc/layers/picture_layer.cc | |
parent | 21414ababfc5f7264c2c16f9e15cf9bc2aa3b422 (diff) | |
download | chromium_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.cc | 20 |
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), |