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

Side by Side Diff: cc/resources/tile_manager.cc

Issue 23802002: CC: Delete unused code and fix priority_ array definition. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 7 years, 3 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 unified diff | Download patch
« no previous file with comments | « cc/resources/tile_manager.h ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2012 The Chromium Authors. All rights reserved. 1 // Copyright 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "cc/resources/tile_manager.h" 5 #include "cc/resources/tile_manager.h"
6 6
7 #include <algorithm> 7 #include <algorithm>
8 #include <limits> 8 #include <limits>
9 #include <string> 9 #include <string>
10 10
(...skipping 131 matching lines...) Expand 10 before | Expand all | Expand 10 after
142 ResourceProvider* resource_provider, 142 ResourceProvider* resource_provider,
143 scoped_ptr<RasterWorkerPool> raster_worker_pool, 143 scoped_ptr<RasterWorkerPool> raster_worker_pool,
144 size_t num_raster_threads, 144 size_t num_raster_threads,
145 RenderingStatsInstrumentation* rendering_stats_instrumentation) 145 RenderingStatsInstrumentation* rendering_stats_instrumentation)
146 : client_(client), 146 : client_(client),
147 resource_pool_(ResourcePool::Create(resource_provider)), 147 resource_pool_(ResourcePool::Create(resource_provider)),
148 raster_worker_pool_(raster_worker_pool.Pass()), 148 raster_worker_pool_(raster_worker_pool.Pass()),
149 prioritized_tiles_dirty_(false), 149 prioritized_tiles_dirty_(false),
150 all_tiles_that_need_to_be_rasterized_have_memory_(true), 150 all_tiles_that_need_to_be_rasterized_have_memory_(true),
151 all_tiles_required_for_activation_have_memory_(true), 151 all_tiles_required_for_activation_have_memory_(true),
152 all_tiles_required_for_activation_have_been_initialized_(true),
153 bytes_releasable_(0), 152 bytes_releasable_(0),
154 resources_releasable_(0), 153 resources_releasable_(0),
155 ever_exceeded_memory_budget_(false), 154 ever_exceeded_memory_budget_(false),
156 rendering_stats_instrumentation_(rendering_stats_instrumentation), 155 rendering_stats_instrumentation_(rendering_stats_instrumentation),
157 did_initialize_visible_tile_(false) { 156 did_initialize_visible_tile_(false) {
158 raster_worker_pool_->SetClient(this); 157 raster_worker_pool_->SetClient(this);
159 } 158 }
160 159
161 TileManager::~TileManager() { 160 TileManager::~TileManager() {
162 // Reset global state and manage. This should cause 161 // Reset global state and manage. This should cause
(...skipping 327 matching lines...) Expand 10 before | Expand all | Expand 10 after
490 489
491 void TileManager::AssignGpuMemoryToTiles( 490 void TileManager::AssignGpuMemoryToTiles(
492 PrioritizedTileSet* tiles, 491 PrioritizedTileSet* tiles,
493 TileVector* tiles_that_need_to_be_rasterized) { 492 TileVector* tiles_that_need_to_be_rasterized) {
494 TRACE_EVENT0("cc", "TileManager::AssignGpuMemoryToTiles"); 493 TRACE_EVENT0("cc", "TileManager::AssignGpuMemoryToTiles");
495 494
496 // Now give memory out to the tiles until we're out, and build 495 // Now give memory out to the tiles until we're out, and build
497 // the needs-to-be-rasterized queue. 496 // the needs-to-be-rasterized queue.
498 all_tiles_that_need_to_be_rasterized_have_memory_ = true; 497 all_tiles_that_need_to_be_rasterized_have_memory_ = true;
499 all_tiles_required_for_activation_have_memory_ = true; 498 all_tiles_required_for_activation_have_memory_ = true;
500 all_tiles_required_for_activation_have_been_initialized_ = true;
501 499
502 // Cast to prevent overflow. 500 // Cast to prevent overflow.
503 int64 bytes_available = 501 int64 bytes_available =
504 static_cast<int64>(bytes_releasable_) + 502 static_cast<int64>(bytes_releasable_) +
505 static_cast<int64>(global_state_.memory_limit_in_bytes) - 503 static_cast<int64>(global_state_.memory_limit_in_bytes) -
506 static_cast<int64>(resource_pool_->acquired_memory_usage_bytes()); 504 static_cast<int64>(resource_pool_->acquired_memory_usage_bytes());
507 int resources_available = 505 int resources_available =
508 resources_releasable_ + 506 resources_releasable_ +
509 global_state_.num_resources_limit - 507 global_state_.num_resources_limit -
510 resource_pool_->acquired_resource_count(); 508 resource_pool_->acquired_resource_count();
(...skipping 69 matching lines...) Expand 10 before | Expand all | Expand 10 after
580 } else { 578 } else {
581 bytes_left -= tile_bytes; 579 bytes_left -= tile_bytes;
582 resources_left -= tile_resources; 580 resources_left -= tile_resources;
583 581
584 if (tile_version.resource_) 582 if (tile_version.resource_)
585 continue; 583 continue;
586 } 584 }
587 585
588 DCHECK(!tile_version.resource_); 586 DCHECK(!tile_version.resource_);
589 587
590 if (tile->required_for_activation())
591 all_tiles_required_for_activation_have_been_initialized_ = false;
592
593 // Tile shouldn't be rasterized if |tiles_that_need_to_be_rasterized| 588 // Tile shouldn't be rasterized if |tiles_that_need_to_be_rasterized|
594 // has reached it's limit or we've failed to assign gpu memory to this 589 // has reached it's limit or we've failed to assign gpu memory to this
595 // or any higher priority tile. Preventing tiles that fit into memory 590 // or any higher priority tile. Preventing tiles that fit into memory
596 // budget to be rasterized when higher priority tile is oom is 591 // budget to be rasterized when higher priority tile is oom is
597 // important for two reasons: 592 // important for two reasons:
598 // 1. Tile size should not impact raster priority. 593 // 1. Tile size should not impact raster priority.
599 // 2. Tiles with existing raster task could otherwise incorrectly 594 // 2. Tiles with existing raster task could otherwise incorrectly
600 // be added as they are not affected by |bytes_allocatable|. 595 // be added as they are not affected by |bytes_allocatable|.
601 if (oomed || tiles_that_need_to_be_rasterized->size() >= kMaxRasterTasks) { 596 if (oomed || tiles_that_need_to_be_rasterized->size() >= kMaxRasterTasks) {
602 all_tiles_that_need_to_be_rasterized_have_memory_ = false; 597 all_tiles_that_need_to_be_rasterized_have_memory_ = false;
(...skipping 245 matching lines...) Expand 10 before | Expand all | Expand 10 after
848 bytes_releasable_ += tile->bytes_consumed_if_allocated(); 843 bytes_releasable_ += tile->bytes_consumed_if_allocated();
849 ++resources_releasable_; 844 ++resources_releasable_;
850 } 845 }
851 846
852 FreeUnusedResourcesForTile(tile); 847 FreeUnusedResourcesForTile(tile);
853 if (tile->priority(ACTIVE_TREE).distance_to_visible_in_pixels == 0) 848 if (tile->priority(ACTIVE_TREE).distance_to_visible_in_pixels == 0)
854 did_initialize_visible_tile_ = true; 849 did_initialize_visible_tile_ = true;
855 } 850 }
856 851
857 } // namespace cc 852 } // namespace cc
OLDNEW
« no previous file with comments | « cc/resources/tile_manager.h ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698