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

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

Issue 670183003: Update from chromium 62675d9fb31fb8cedc40f68e78e8445a74f362e7 (Closed) Base URL: git@github.com:domokit/mojo.git@master
Patch Set: Created 6 years, 1 month 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.h ('k') | cc/resources/tile_manager.cc » ('j') | 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 #ifndef CC_RESOURCES_TILE_MANAGER_H_ 5 #ifndef CC_RESOURCES_TILE_MANAGER_H_
6 #define CC_RESOURCES_TILE_MANAGER_H_ 6 #define CC_RESOURCES_TILE_MANAGER_H_
7 7
8 #include <deque> 8 #include <deque>
9 #include <queue> 9 #include <queue>
10 #include <set> 10 #include <set>
(...skipping 80 matching lines...) Expand 10 before | Expand all | Expand 10 after
91 ALL = 1, 91 ALL = 1,
92 // Adding additional values requires increasing kNumberOfTaskSets in 92 // Adding additional values requires increasing kNumberOfTaskSets in
93 // rasterizer.h 93 // rasterizer.h
94 }; 94 };
95 95
96 static scoped_ptr<TileManager> Create( 96 static scoped_ptr<TileManager> Create(
97 TileManagerClient* client, 97 TileManagerClient* client,
98 base::SequencedTaskRunner* task_runner, 98 base::SequencedTaskRunner* task_runner,
99 ResourcePool* resource_pool, 99 ResourcePool* resource_pool,
100 Rasterizer* rasterizer, 100 Rasterizer* rasterizer,
101 RenderingStatsInstrumentation* rendering_stats_instrumentation); 101 RenderingStatsInstrumentation* rendering_stats_instrumentation,
102 size_t scheduled_raster_task_limit);
102 ~TileManager() override; 103 ~TileManager() override;
103 104
104 void ManageTiles(const GlobalStateThatImpactsTilePriority& state); 105 void ManageTiles(const GlobalStateThatImpactsTilePriority& state);
105 106
106 // Returns true when visible tiles have been initialized. 107 // Returns true when visible tiles have been initialized.
107 bool UpdateVisibleTiles(); 108 bool UpdateVisibleTiles();
108 109
109 scoped_refptr<Tile> CreateTile(PicturePileImpl* picture_pile, 110 scoped_refptr<Tile> CreateTile(PicturePileImpl* picture_pile,
110 const gfx::Size& tile_size, 111 const gfx::Size& tile_size,
111 const gfx::Rect& content_rect, 112 const gfx::Rect& content_rect,
(...skipping 44 matching lines...) Expand 10 before | Expand all | Expand 10 after
156 tiles.push_back(it->second); 157 tiles.push_back(it->second);
157 } 158 }
158 return tiles; 159 return tiles;
159 } 160 }
160 161
161 protected: 162 protected:
162 TileManager(TileManagerClient* client, 163 TileManager(TileManagerClient* client,
163 const scoped_refptr<base::SequencedTaskRunner>& task_runner, 164 const scoped_refptr<base::SequencedTaskRunner>& task_runner,
164 ResourcePool* resource_pool, 165 ResourcePool* resource_pool,
165 Rasterizer* rasterizer, 166 Rasterizer* rasterizer,
166 RenderingStatsInstrumentation* rendering_stats_instrumentation); 167 RenderingStatsInstrumentation* rendering_stats_instrumentation,
168 size_t scheduled_raster_task_limit);
167 169
168 void FreeResourcesForReleasedTiles(); 170 void FreeResourcesForReleasedTiles();
169 void CleanUpReleasedTiles(); 171 void CleanUpReleasedTiles();
170 172
171 // Overriden from RefCountedManager<Tile>: 173 // Overriden from RefCountedManager<Tile>:
172 friend class Tile; 174 friend class Tile;
173 void Release(Tile* tile) override; 175 void Release(Tile* tile) override;
174 176
175 // Overriden from RasterizerClient: 177 // Overriden from RasterizerClient:
176 void DidFinishRunningTasks(TaskSet task_set) override; 178 void DidFinishRunningTasks(TaskSet task_set) override;
(...skipping 52 matching lines...) Expand 10 before | Expand all | Expand 10 after
229 MemoryUsage* usage); 231 MemoryUsage* usage);
230 bool TilePriorityViolatesMemoryPolicy(const TilePriority& priority); 232 bool TilePriorityViolatesMemoryPolicy(const TilePriority& priority);
231 bool IsReadyToActivate() const; 233 bool IsReadyToActivate() const;
232 void CheckIfReadyToActivate(); 234 void CheckIfReadyToActivate();
233 235
234 TileManagerClient* client_; 236 TileManagerClient* client_;
235 scoped_refptr<base::SequencedTaskRunner> task_runner_; 237 scoped_refptr<base::SequencedTaskRunner> task_runner_;
236 ResourcePool* resource_pool_; 238 ResourcePool* resource_pool_;
237 Rasterizer* rasterizer_; 239 Rasterizer* rasterizer_;
238 GlobalStateThatImpactsTilePriority global_state_; 240 GlobalStateThatImpactsTilePriority global_state_;
241 const size_t scheduled_raster_task_limit_;
239 242
240 typedef base::hash_map<Tile::Id, Tile*> TileMap; 243 typedef base::hash_map<Tile::Id, Tile*> TileMap;
241 TileMap tiles_; 244 TileMap tiles_;
242 245
243 bool all_tiles_that_need_to_be_rasterized_are_scheduled_; 246 bool all_tiles_that_need_to_be_rasterized_are_scheduled_;
244 MemoryHistory::Entry memory_stats_from_last_assign_; 247 MemoryHistory::Entry memory_stats_from_last_assign_;
245 248
246 RenderingStatsInstrumentation* rendering_stats_instrumentation_; 249 RenderingStatsInstrumentation* rendering_stats_instrumentation_;
247 250
248 bool did_initialize_visible_tile_; 251 bool did_initialize_visible_tile_;
(...skipping 24 matching lines...) Expand all
273 RasterTilePriorityQueue raster_priority_queue_; 276 RasterTilePriorityQueue raster_priority_queue_;
274 EvictionTilePriorityQueue eviction_priority_queue_; 277 EvictionTilePriorityQueue eviction_priority_queue_;
275 bool eviction_priority_queue_is_up_to_date_; 278 bool eviction_priority_queue_is_up_to_date_;
276 279
277 DISALLOW_COPY_AND_ASSIGN(TileManager); 280 DISALLOW_COPY_AND_ASSIGN(TileManager);
278 }; 281 };
279 282
280 } // namespace cc 283 } // namespace cc
281 284
282 #endif // CC_RESOURCES_TILE_MANAGER_H_ 285 #endif // CC_RESOURCES_TILE_MANAGER_H_
OLDNEW
« no previous file with comments | « cc/resources/tile.h ('k') | cc/resources/tile_manager.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698