Index: cc/tile_manager.cc |
diff --git a/cc/tile_manager.cc b/cc/tile_manager.cc |
index 16d82d46a8a885052d1549bf4749c73e9d1e50f9..9393c63aa984fc85c34a73369e9b7fefdab5486a 100644 |
--- a/cc/tile_manager.cc |
+++ b/cc/tile_manager.cc |
@@ -495,7 +495,7 @@ void TileManager::AssignGpuMemoryToTiles() { |
} |
size_t bytes_allocatable = global_state_.memory_limit_in_bytes - unreleasable_bytes; |
- size_t bytes_that_exceeded_memory_budget = 0; |
+ size_t bytes_that_exceeded_memory_budget_in_now_bin = 0; |
size_t bytes_left = bytes_allocatable; |
for (TileVector::iterator it = tiles_.begin(); it != tiles_.end(); ++it) { |
Tile* tile = *it; |
@@ -511,7 +511,9 @@ void TileManager::AssignGpuMemoryToTiles() { |
} |
if (tile_bytes > bytes_left) { |
managed_tile_state.can_use_gpu_memory = false; |
- bytes_that_exceeded_memory_budget += tile_bytes; |
+ if (managed_tile_state.bin[HIGH_PRIORITY_BIN] == NOW_BIN || |
+ managed_tile_state.bin[LOW_PRIORITY_BIN] == NOW_BIN) |
+ bytes_that_exceeded_memory_budget_in_now_bin += tile_bytes; |
FreeResourcesForTile(tile); |
continue; |
} |
@@ -524,11 +526,11 @@ void TileManager::AssignGpuMemoryToTiles() { |
} |
} |
- ever_exceeded_memory_budget_ |= bytes_that_exceeded_memory_budget > 0; |
+ ever_exceeded_memory_budget_ |= bytes_that_exceeded_memory_budget_in_now_bin > 0; |
reveman
2013/02/12 06:30:06
nit: long line
|
if (ever_exceeded_memory_budget_) { |
TRACE_COUNTER_ID2("cc", "over_memory_budget", this, |
"budget", global_state_.memory_limit_in_bytes, |
- "over", bytes_that_exceeded_memory_budget); |
+ "over", bytes_that_exceeded_memory_budget_in_now_bin); |
} |
memory_stats_from_last_assign_.total_budget_in_bytes = |
global_state_.memory_limit_in_bytes; |
@@ -536,7 +538,7 @@ void TileManager::AssignGpuMemoryToTiles() { |
bytes_allocatable - bytes_left; |
memory_stats_from_last_assign_.bytes_unreleasable = unreleasable_bytes; |
memory_stats_from_last_assign_.bytes_over = |
- bytes_that_exceeded_memory_budget; |
+ bytes_that_exceeded_memory_budget_in_now_bin; |
// Reverse two tiles_that_need_* vectors such that pop_back gets |
// the highest priority tile. |