Commit d673ee5f authored by vmpstr's avatar vmpstr Committed by Commit bot

cc: Optimize TileManager::CleanUpReleasedTiles.

This patch ensures that we don't do extra hidden iterations in the
loop over tiles (erase is linear).

R=danakj, enne

Review URL: https://codereview.chromium.org/1069493003

Cr-Commit-Position: refs/heads/master@{#324161}
parent 0f6edddc
...@@ -277,12 +277,10 @@ void TileManager::FreeResourcesForReleasedTiles() { ...@@ -277,12 +277,10 @@ void TileManager::FreeResourcesForReleasedTiles() {
} }
void TileManager::CleanUpReleasedTiles() { void TileManager::CleanUpReleasedTiles() {
std::vector<Tile*>::iterator it = released_tiles_.begin(); std::vector<Tile*> tiles_to_retain;
while (it != released_tiles_.end()) { for (auto* tile : released_tiles_) {
Tile* tile = *it;
if (tile->HasRasterTask()) { if (tile->HasRasterTask()) {
++it; tiles_to_retain.push_back(tile);
continue; continue;
} }
...@@ -299,8 +297,8 @@ void TileManager::CleanUpReleasedTiles() { ...@@ -299,8 +297,8 @@ void TileManager::CleanUpReleasedTiles() {
} }
delete tile; delete tile;
it = released_tiles_.erase(it);
} }
released_tiles_.swap(tiles_to_retain);
} }
void TileManager::DidFinishRunningTileTasks(TaskSet task_set) { void TileManager::DidFinishRunningTileTasks(TaskSet task_set) {
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment