diff options
author | dmurph@chromium.org <dmurph@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-08-20 22:51:32 +0000 |
---|---|---|
committer | dmurph@chromium.org <dmurph@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-08-20 22:51:32 +0000 |
commit | 36d12a3b65780a205369df4f81f399dc37788383 (patch) | |
tree | 9af40c419ee3af9e141b3b021027555141da4180 /gpu | |
parent | a5e00a11caef1db4fdc1718a8c8546dc52d6c689 (diff) | |
download | chromium_src-36d12a3b65780a205369df4f81f399dc37788383.zip chromium_src-36d12a3b65780a205369df4f81f399dc37788383.tar.gz chromium_src-36d12a3b65780a205369df4f81f399dc37788383.tar.bz2 |
GPU program cache - switched to high res timings, and time report binary cache miss without the cache on.
Review URL: https://chromiumcodereview.appspot.com/10836344
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@152417 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'gpu')
-rw-r--r-- | gpu/command_buffer/service/program_manager.cc | 44 |
1 files changed, 23 insertions, 21 deletions
diff --git a/gpu/command_buffer/service/program_manager.cc b/gpu/command_buffer/service/program_manager.cc index f1a0400..55d31aa 100644 --- a/gpu/command_buffer/service/program_manager.cc +++ b/gpu/command_buffer/service/program_manager.cc @@ -24,6 +24,7 @@ #include "gpu/command_buffer/service/program_cache.h" using base::TimeDelta; +using base::TimeTicks; namespace gpu { namespace gles2 { @@ -385,26 +386,28 @@ void ProgramManager::ProgramInfo::ExecuteBindAttribLocationCalls() { void ProgramManager::DoCompileShader(ShaderManager::ShaderInfo* info, ShaderTranslator* translator, FeatureInfo* feature_info) { - base::Time before = base::Time::Now(); + TimeTicks before = TimeTicks::HighResNow(); if (program_cache_ && program_cache_->GetShaderCompilationStatus(info->source() ? *info->source() : "") == ProgramCache::COMPILATION_SUCCEEDED) { info->SetStatus(true, "", translator); info->FlagSourceAsCompiled(false); - UMA_HISTOGRAM_CUSTOM_COUNTS("GPU.ProgramCache.CompilationCacheHitTime", - (base::Time::Now() - before).InMicroseconds(), - 0, - TimeDelta::FromSeconds(1).InMicroseconds(), - 50); + UMA_HISTOGRAM_CUSTOM_COUNTS( + "GPU.ProgramCache.CompilationCacheHitTime", + (TimeTicks::HighResNow() - before).InMicroseconds(), + 0, + TimeDelta::FromSeconds(1).InMicroseconds(), + 50); return; } ForceCompileShader(info->source(), info, translator, feature_info); - UMA_HISTOGRAM_CUSTOM_COUNTS("GPU.ProgramCache.CompilationCacheMissTime", - (base::Time::Now() - before).InMicroseconds(), - 0, - TimeDelta::FromSeconds(1).InMicroseconds(), - 50); + UMA_HISTOGRAM_CUSTOM_COUNTS( + "GPU.ProgramCache.CompilationCacheMissTime", + (TimeTicks::HighResNow() - before).InMicroseconds(), + 0, + TimeDelta::FromSeconds(1).InMicroseconds(), + 50); } void ProgramManager::ForceCompileShader(const std::string* source, @@ -486,7 +489,7 @@ bool ProgramManager::ProgramInfo::Link(ShaderManager* manager, } ExecuteBindAttribLocationCalls(); - base::Time before_time = base::Time::Now(); + TimeTicks before_time = TimeTicks::HighResNow(); bool link = true; ProgramCache* cache = manager_->program_cache_; if (cache) { @@ -527,7 +530,7 @@ bool ProgramManager::ProgramInfo::Link(ShaderManager* manager, } if (link) { - before_time = base::Time::Now(); + before_time = TimeTicks::HighResNow(); if (cache && gfx::g_GL_ARB_get_program_binary) { glProgramParameteri(service_id(), PROGRAM_BINARY_RETRIEVABLE_HINT, @@ -547,18 +550,17 @@ bool ProgramManager::ProgramInfo::Link(ShaderManager* manager, &bind_attrib_location_map_); UMA_HISTOGRAM_CUSTOM_COUNTS( "GPU.ProgramCache.BinaryCacheMissTime", - (base::Time::Now() - before_time).InMicroseconds(), + (TimeTicks::HighResNow() - before_time).InMicroseconds(), 0, TimeDelta::FromSeconds(10).InMicroseconds(), 50); - } else if (cache) { - UMA_HISTOGRAM_CUSTOM_COUNTS( - "GPU.ProgramCache.BinaryCacheHitTime", - (base::Time::Now() - before_time).InMicroseconds(), - 0, - TimeDelta::FromSeconds(1).InMicroseconds(), - 50); } + UMA_HISTOGRAM_CUSTOM_COUNTS( + "GPU.ProgramCache.BinaryCacheHitTime", + (TimeTicks::HighResNow() - before_time).InMicroseconds(), + 0, + TimeDelta::FromSeconds(1).InMicroseconds(), + 50); } else { UpdateLogInfo(); } |