Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(74)

Unified Diff: cc/layers/picture_layer_impl.cc

Issue 1131633003: cc: Use multiple PrepareTiles approaches Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: rebase Created 5 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « cc/layers/append_quads_data.h ('k') | cc/layers/picture_layer_impl_unittest.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: cc/layers/picture_layer_impl.cc
diff --git a/cc/layers/picture_layer_impl.cc b/cc/layers/picture_layer_impl.cc
index 806ae0a7f67a7dd26cca02a56162458b7ff126b1..fec12b0e6a2fb41ccfcca69042d2da8672a00a16 100644
--- a/cc/layers/picture_layer_impl.cc
+++ b/cc/layers/picture_layer_impl.cc
@@ -259,8 +259,19 @@ void PictureLayerImpl::AppendQuads(RenderPass* render_pass,
gfx::Rect scaled_viewport_for_tile_priority = gfx::ScaleToEnclosingRect(
viewport_rect_for_tile_priority_in_content_space_, max_contents_scale);
+ // Determine if num_incomplete_tiles and num_missing_tiles can become 0
+ // if we wait long enough.
+ auto ideal_tiling = tilings_->FindTilingWithScale(ideal_contents_scale_);
+ bool ideal_tiling_visible_tiles_can_be_rasterized =
+ ideal_tiling && ideal_tiling->RasterSourceCoversCurrentVisibleTiles();
+ auto raster_tiling = tilings_->FindTilingWithScale(raster_contents_scale_);
+ bool raster_tiling_visible_tiles_can_be_rasterized =
+ raster_tiling && raster_tiling->RasterSourceCoversCurrentVisibleTiles();
+ append_quads_data->raster_source_covers_visible_high_res_tiles =
+ ideal_tiling_visible_tiles_can_be_rasterized ||
+ raster_tiling_visible_tiles_can_be_rasterized;
+
size_t missing_tile_count = 0u;
- size_t on_demand_missing_tile_count = 0u;
only_used_low_res_last_append_quads_ = true;
for (PictureLayerTilingSet::CoverageIterator iter(
tilings_.get(), max_contents_scale,
@@ -366,13 +377,9 @@ void PictureLayerImpl::AppendQuads(RenderPass* render_pass,
}
if (missing_tile_count) {
- TRACE_EVENT_INSTANT2("cc",
- "PictureLayerImpl::AppendQuads checkerboard",
- TRACE_EVENT_SCOPE_THREAD,
- "missing_tile_count",
- missing_tile_count,
- "on_demand_missing_tile_count",
- on_demand_missing_tile_count);
+ TRACE_EVENT_INSTANT1("cc", "PictureLayerImpl::AppendQuads checkerboard",
+ TRACE_EVENT_SCOPE_THREAD, "missing_tile_count",
+ missing_tile_count);
}
// Aggressively remove any tilings that are not seen to save memory. Note
« no previous file with comments | « cc/layers/append_quads_data.h ('k') | cc/layers/picture_layer_impl_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698