| OLD | NEW |
| 1 // Copyright 2011 The Chromium Authors. All rights reserved. | 1 // Copyright 2011 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/trees/layer_tree_host_impl.h" | 5 #include "cc/trees/layer_tree_host_impl.h" |
| 6 | 6 |
| 7 #include <algorithm> | 7 #include <algorithm> |
| 8 #include <limits> | 8 #include <limits> |
| 9 | 9 |
| 10 #include "base/basictypes.h" | 10 #include "base/basictypes.h" |
| (...skipping 1153 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1164 UpdateTileManagerMemoryPolicy(policy); | 1164 UpdateTileManagerMemoryPolicy(policy); |
| 1165 } | 1165 } |
| 1166 | 1166 |
| 1167 void LayerTreeHostImpl::UpdateTileManagerMemoryPolicy( | 1167 void LayerTreeHostImpl::UpdateTileManagerMemoryPolicy( |
| 1168 const ManagedMemoryPolicy& policy) { | 1168 const ManagedMemoryPolicy& policy) { |
| 1169 if (!tile_manager_) | 1169 if (!tile_manager_) |
| 1170 return; | 1170 return; |
| 1171 | 1171 |
| 1172 // TODO(reveman): We should avoid keeping around unused resources if | 1172 // TODO(reveman): We should avoid keeping around unused resources if |
| 1173 // possible. crbug.com/224475 | 1173 // possible. crbug.com/224475 |
| 1174 global_tile_state_.memory_limit_in_bytes = | 1174 global_tile_state_.hard_memory_limit_in_bytes = 0; |
| 1175 visible_ ? | 1175 global_tile_state_.soft_memory_limit_in_bytes = 0; |
| 1176 policy.bytes_limit_when_visible : 0; | 1176 if (visible_ && policy.bytes_limit_when_visible > 0) { |
| 1177 global_tile_state_.hard_memory_limit_in_bytes = |
| 1178 policy.bytes_limit_when_visible; |
| 1179 global_tile_state_.soft_memory_limit_in_bytes = |
| 1180 global_tile_state_.hard_memory_limit_in_bytes * |
| 1181 settings_.max_memory_for_prepaint_percentage / 100; |
| 1182 } |
| 1183 // Unused limit is calculated from soft-limit, as hard-limit may |
| 1184 // be very high and shouldn't typically be exceeded. |
| 1177 global_tile_state_.unused_memory_limit_in_bytes = static_cast<size_t>( | 1185 global_tile_state_.unused_memory_limit_in_bytes = static_cast<size_t>( |
| 1178 (static_cast<int64>(global_tile_state_.memory_limit_in_bytes) * | 1186 (static_cast<int64>(global_tile_state_.soft_memory_limit_in_bytes) * |
| 1179 settings_.max_unused_resource_memory_percentage) / 100); | 1187 settings_.max_unused_resource_memory_percentage) / |
| 1188 100); |
| 1180 global_tile_state_.memory_limit_policy = | 1189 global_tile_state_.memory_limit_policy = |
| 1181 ManagedMemoryPolicy::PriorityCutoffToTileMemoryLimitPolicy( | 1190 ManagedMemoryPolicy::PriorityCutoffToTileMemoryLimitPolicy( |
| 1182 visible_ ? | 1191 visible_ ? |
| 1183 policy.priority_cutoff_when_visible : | 1192 policy.priority_cutoff_when_visible : |
| 1184 gpu::MemoryAllocation::CUTOFF_ALLOW_NOTHING); | 1193 gpu::MemoryAllocation::CUTOFF_ALLOW_NOTHING); |
| 1185 global_tile_state_.num_resources_limit = policy.num_resources_limit; | 1194 global_tile_state_.num_resources_limit = policy.num_resources_limit; |
| 1186 | 1195 |
| 1187 DidModifyTilePriorities(); | 1196 DidModifyTilePriorities(); |
| 1188 } | 1197 } |
| 1189 | 1198 |
| (...skipping 1802 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2992 swap_promise_monitor_.erase(monitor); | 3001 swap_promise_monitor_.erase(monitor); |
| 2993 } | 3002 } |
| 2994 | 3003 |
| 2995 void LayerTreeHostImpl::NotifySwapPromiseMonitorsOfSetNeedsRedraw() { | 3004 void LayerTreeHostImpl::NotifySwapPromiseMonitorsOfSetNeedsRedraw() { |
| 2996 std::set<SwapPromiseMonitor*>::iterator it = swap_promise_monitor_.begin(); | 3005 std::set<SwapPromiseMonitor*>::iterator it = swap_promise_monitor_.begin(); |
| 2997 for (; it != swap_promise_monitor_.end(); it++) | 3006 for (; it != swap_promise_monitor_.end(); it++) |
| 2998 (*it)->OnSetNeedsRedrawOnImpl(); | 3007 (*it)->OnSetNeedsRedrawOnImpl(); |
| 2999 } | 3008 } |
| 3000 | 3009 |
| 3001 } // namespace cc | 3010 } // namespace cc |
| OLD | NEW |