diff options
author | reveman@chromium.org <reveman@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2013-08-14 23:10:03 +0000 |
---|---|---|
committer | reveman@chromium.org <reveman@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2013-08-14 23:10:03 +0000 |
commit | 7accf223e52b764c3be5400afa74e81e5e6f0c53 (patch) | |
tree | e86576d466dc0ba8f4e12f778640b5873350e4b6 /cc/resources | |
parent | 1901cab34964e4c4d2a3e2fe8e4f0d15d9c7e15b (diff) | |
download | chromium_src-7accf223e52b764c3be5400afa74e81e5e6f0c53.zip chromium_src-7accf223e52b764c3be5400afa74e81e5e6f0c53.tar.gz chromium_src-7accf223e52b764c3be5400afa74e81e5e6f0c53.tar.bz2 |
cc: Add tracing for unused memory in resource pool.
This includes the amount of unused memory in the resource pool
in "DidManage" traces and adds a trace counter that is updated
each time ManageTiles is called.
BUG=272453
Review URL: https://chromiumcodereview.appspot.com/23208002
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@217686 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'cc/resources')
-rw-r--r-- | cc/resources/resource_pool.h | 3 | ||||
-rw-r--r-- | cc/resources/tile_manager.cc | 13 | ||||
-rw-r--r-- | cc/resources/tile_manager.h | 1 |
3 files changed, 15 insertions, 2 deletions
diff --git a/cc/resources/resource_pool.h b/cc/resources/resource_pool.h index 2304a50..309bf33 100644 --- a/cc/resources/resource_pool.h +++ b/cc/resources/resource_pool.h @@ -44,6 +44,9 @@ class CC_EXPORT ResourcePool { size_t max_unused_memory_usage_bytes, size_t num_resources_limit); + size_t total_memory_usage_bytes() const { + return memory_usage_bytes_; + } size_t acquired_memory_usage_bytes() const { return memory_usage_bytes_ - unused_memory_usage_bytes_; } diff --git a/cc/resources/tile_manager.cc b/cc/resources/tile_manager.cc index 9968195..7cf5096 100644 --- a/cc/resources/tile_manager.cc +++ b/cc/resources/tile_manager.cc @@ -362,12 +362,16 @@ void TileManager::ManageTiles() { &tiles_that_need_to_be_rasterized); CleanUpUnusedImageDecodeTasks(); + // Finally, schedule rasterizer tasks. + ScheduleTasks(tiles_that_need_to_be_rasterized); + TRACE_EVENT_INSTANT1( "cc", "DidManage", TRACE_EVENT_SCOPE_THREAD, "state", TracedValue::FromValue(BasicStateAsValue().release())); - // Finally, schedule rasterizer tasks. - ScheduleTasks(tiles_that_need_to_be_rasterized); + TRACE_COUNTER_ID1("cc", "unused_memory_bytes", this, + resource_pool_->total_memory_usage_bytes() - + resource_pool_->acquired_memory_usage_bytes()); } bool TileManager::UpdateVisibleTiles() { @@ -390,9 +394,11 @@ bool TileManager::UpdateVisibleTiles() { void TileManager::GetMemoryStats( size_t* memory_required_bytes, size_t* memory_nice_to_have_bytes, + size_t* memory_allocated_bytes, size_t* memory_used_bytes) const { *memory_required_bytes = 0; *memory_nice_to_have_bytes = 0; + *memory_allocated_bytes = resource_pool_->total_memory_usage_bytes(); *memory_used_bytes = resource_pool_->acquired_memory_usage_bytes(); for (TileMap::const_iterator it = tiles_.begin(); it != tiles_.end(); @@ -439,13 +445,16 @@ scoped_ptr<base::Value> TileManager::GetMemoryRequirementsAsValue() const { size_t memory_required_bytes; size_t memory_nice_to_have_bytes; + size_t memory_allocated_bytes; size_t memory_used_bytes; GetMemoryStats(&memory_required_bytes, &memory_nice_to_have_bytes, + &memory_allocated_bytes, &memory_used_bytes); requirements->SetInteger("memory_required_bytes", memory_required_bytes); requirements->SetInteger("memory_nice_to_have_bytes", memory_nice_to_have_bytes); + requirements->SetInteger("memory_allocated_bytes", memory_allocated_bytes); requirements->SetInteger("memory_used_bytes", memory_used_bytes); return requirements.PassAs<base::Value>(); } diff --git a/cc/resources/tile_manager.h b/cc/resources/tile_manager.h index 2e226c9..7957fc8 100644 --- a/cc/resources/tile_manager.h +++ b/cc/resources/tile_manager.h @@ -69,6 +69,7 @@ class CC_EXPORT TileManager : public RasterWorkerPoolClient { scoped_ptr<base::Value> AllTilesAsValue() const; void GetMemoryStats(size_t* memory_required_bytes, size_t* memory_nice_to_have_bytes, + size_t* memory_allocated_bytes, size_t* memory_used_bytes) const; const MemoryHistory::Entry& memory_stats_from_last_assign() const { |