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

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: fix raster source detection 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
Index: cc/layers/picture_layer_impl.cc
diff --git a/cc/layers/picture_layer_impl.cc b/cc/layers/picture_layer_impl.cc
index cb41e7a2031c38a8a3536bb785b5e740ae741913..90ae5e5bb9a0075a668c80f3e43804e74d2bed6b 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 =
brianderson 2015/05/19 02:40:35 Is this correct?
+ 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

Powered by Google App Engine
This is Rietveld 408576698