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

Unified Diff: cc/tiles/tile_manager.cc

Issue 1531013004: cc: Do solid color analysis before scheduling tiles. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 5 years 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/tiles/tile_manager.cc
diff --git a/cc/tiles/tile_manager.cc b/cc/tiles/tile_manager.cc
index 9804da00fb6b93eeb4875904a5890d7bce320bde..11ec67d4ec98998209a6a6bc7969e18bed1c6f86 100644
--- a/cc/tiles/tile_manager.cc
+++ b/cc/tiles/tile_manager.cc
@@ -81,12 +81,6 @@ class RasterTaskImpl : public RasterTask {
DCHECK(raster_source_.get());
DCHECK(raster_buffer_);
- if (analyze_picture_) {
- Analyze(raster_source_.get());
- if (analysis_.is_solid_color)
- return;
- }
-
Raster(raster_source_.get());
}
@@ -722,6 +716,14 @@ void TileManager::ScheduleTasks(
DCHECK(tile->draw_info().requires_resource());
DCHECK(!tile->draw_info().resource_);
+ SkColor color = SK_ColorTRANSPARENT;
+ bool is_solid_color = prioritized_tile.raster_source()->IsSolidColorTile(
vmpstr 2015/12/17 18:55:47 This is an OK spot to do this. When I was thinking
sohanjg 2015/12/18 12:50:00 Done.
+ tile->content_rect(), tile->contents_scale(), &color);
+ if (is_solid_color) {
+ tile->draw_info().set_solid_color(color);
+ continue;
+ }
+
if (!tile->raster_task_) {
tile->raster_task_ = CreateRasterTask(prioritized_tile);
}
@@ -858,8 +860,7 @@ void TileManager::UpdateTileDrawInfo(
++flush_stats_.completed_count;
- if (analysis.is_solid_color) {
- draw_info.set_solid_color(analysis.solid_color);
+ if (draw_info.mode() == TileDrawInfo::SOLID_COLOR_MODE) {
vmpstr 2015/12/17 18:55:47 This shouldn't be possible anymore, right? UpdateT
sohanjg 2015/12/18 12:50:00 Acknowledged.
if (resource) {
// TODO(ericrk): If more partial raster work is done in the future, it may
// be worth returning the resource to the pool with its previous ID (not
« cc/playback/display_list_raster_source.cc ('K') | « cc/playback/display_list_raster_source.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698