| OLD | NEW |
| 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/tile_manager.h" | 5 #include "cc/tile_manager.h" |
| 6 | 6 |
| 7 #include <algorithm> | 7 #include <algorithm> |
| 8 | 8 |
| 9 #include "base/bind.h" | 9 #include "base/bind.h" |
| 10 #include "base/debug/trace_event.h" | 10 #include "base/debug/trace_event.h" |
| (...skipping 96 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 107 } | 107 } |
| 108 | 108 |
| 109 ManagedTileState::~ManagedTileState() { | 109 ManagedTileState::~ManagedTileState() { |
| 110 DCHECK(!resource); | 110 DCHECK(!resource); |
| 111 DCHECK(!resource_is_being_initialized); | 111 DCHECK(!resource_is_being_initialized); |
| 112 } | 112 } |
| 113 | 113 |
| 114 TileManager::TileManager( | 114 TileManager::TileManager( |
| 115 TileManagerClient* client, | 115 TileManagerClient* client, |
| 116 ResourceProvider* resource_provider, | 116 ResourceProvider* resource_provider, |
| 117 size_t num_raster_threads, | 117 size_t num_raster_threads) |
| 118 bool record_rendering_stats) | |
| 119 : client_(client), | 118 : client_(client), |
| 120 resource_pool_(ResourcePool::Create(resource_provider)), | 119 resource_pool_(ResourcePool::Create(resource_provider)), |
| 121 raster_worker_pool_(RasterWorkerPool::Create(num_raster_threads, record_re
ndering_stats)), | 120 raster_worker_pool_(RasterWorkerPool::Create(num_raster_threads)), |
| 122 manage_tiles_pending_(false), | 121 manage_tiles_pending_(false), |
| 123 manage_tiles_call_count_(0), | 122 manage_tiles_call_count_(0), |
| 124 bytes_pending_set_pixels_(0), | 123 bytes_pending_set_pixels_(0), |
| 125 ever_exceeded_memory_budget_(false), | 124 ever_exceeded_memory_budget_(false), |
| 126 record_rendering_stats_(record_rendering_stats) { | 125 record_rendering_stats_(false) { |
| 127 for (int i = 0; i < NUM_STATES; ++i) { | 126 for (int i = 0; i < NUM_STATES; ++i) { |
| 128 for (int j = 0; j < NUM_TREES; ++j) { | 127 for (int j = 0; j < NUM_TREES; ++j) { |
| 129 for (int k = 0; k < NUM_BINS; ++k) | 128 for (int k = 0; k < NUM_BINS; ++k) |
| 130 raster_state_count_[i][j][k] = 0; | 129 raster_state_count_[i][j][k] = 0; |
| 131 } | 130 } |
| 132 } | 131 } |
| 133 } | 132 } |
| 134 | 133 |
| 135 TileManager::~TileManager() { | 134 TileManager::~TileManager() { |
| 136 // Reset global state and manage. This should cause | 135 // Reset global state and manage. This should cause |
| (...skipping 241 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 378 size_t memoryUsedBytes; | 377 size_t memoryUsedBytes; |
| 379 GetMemoryStats(&memoryRequiredBytes, | 378 GetMemoryStats(&memoryRequiredBytes, |
| 380 &memoryNiceToHaveBytes, | 379 &memoryNiceToHaveBytes, |
| 381 &memoryUsedBytes); | 380 &memoryUsedBytes); |
| 382 requirements->SetInteger("memory_required_bytes", memoryRequiredBytes); | 381 requirements->SetInteger("memory_required_bytes", memoryRequiredBytes); |
| 383 requirements->SetInteger("memory_nice_to_have_bytes", memoryNiceToHaveBytes); | 382 requirements->SetInteger("memory_nice_to_have_bytes", memoryNiceToHaveBytes); |
| 384 requirements->SetInteger("memory_used_bytes", memoryUsedBytes); | 383 requirements->SetInteger("memory_used_bytes", memoryUsedBytes); |
| 385 return requirements.PassAs<base::Value>(); | 384 return requirements.PassAs<base::Value>(); |
| 386 } | 385 } |
| 387 | 386 |
| 387 void TileManager::SetRecordRenderingStats(bool record_rendering_stats) { |
| 388 if (record_rendering_stats_ == record_rendering_stats) |
| 389 return; |
| 390 |
| 391 record_rendering_stats_ = record_rendering_stats; |
| 392 raster_worker_pool_->SetRecordRenderingStats(record_rendering_stats); |
| 393 } |
| 394 |
| 388 void TileManager::GetRenderingStats(RenderingStats* stats) { | 395 void TileManager::GetRenderingStats(RenderingStats* stats) { |
| 389 CHECK(record_rendering_stats_); | 396 CHECK(record_rendering_stats_); |
| 390 raster_worker_pool_->GetRenderingStats(stats); | 397 raster_worker_pool_->GetRenderingStats(stats); |
| 391 stats->totalDeferredImageCacheHitCount = | 398 stats->totalDeferredImageCacheHitCount = |
| 392 rendering_stats_.totalDeferredImageCacheHitCount; | 399 rendering_stats_.totalDeferredImageCacheHitCount; |
| 393 stats->totalImageGatheringCount = rendering_stats_.totalImageGatheringCount; | 400 stats->totalImageGatheringCount = rendering_stats_.totalImageGatheringCount; |
| 394 stats->totalImageGatheringTime = | 401 stats->totalImageGatheringTime = |
| 395 rendering_stats_.totalImageGatheringTime; | 402 rendering_stats_.totalImageGatheringTime; |
| 396 } | 403 } |
| 397 | 404 |
| (...skipping 376 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 774 decode_begin_time = base::TimeTicks::Now(); | 781 decode_begin_time = base::TimeTicks::Now(); |
| 775 pixel_ref->Decode(); | 782 pixel_ref->Decode(); |
| 776 if (stats) { | 783 if (stats) { |
| 777 stats->totalDeferredImageDecodeCount++; | 784 stats->totalDeferredImageDecodeCount++; |
| 778 stats->totalDeferredImageDecodeTime += | 785 stats->totalDeferredImageDecodeTime += |
| 779 base::TimeTicks::Now() - decode_begin_time; | 786 base::TimeTicks::Now() - decode_begin_time; |
| 780 } | 787 } |
| 781 } | 788 } |
| 782 | 789 |
| 783 } // namespace cc | 790 } // namespace cc |
| OLD | NEW |