From 694c8b569011c884e88f0b34d6690c776e1429fe Mon Sep 17 00:00:00 2001 From: Brad Davis Date: Wed, 28 Dec 2016 12:37:47 -0800 Subject: [PATCH] Further reduce cost of Duration class when tracing is inactive --- libraries/shared/src/Profile.cpp | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/libraries/shared/src/Profile.cpp b/libraries/shared/src/Profile.cpp index 02a6f94337..27ca303ccc 100644 --- a/libraries/shared/src/Profile.cpp +++ b/libraries/shared/src/Profile.cpp @@ -25,8 +25,12 @@ Q_LOGGING_CATEGORY(trace_simulation_physics, "trace.simulation.physics") #define NSIGHT_TRACING #endif +static bool tracingEnabled() { + return DependencyManager::get()->isEnabled(); +} + Duration::Duration(const QLoggingCategory& category, const QString& name, uint32_t argbColor, uint64_t payload, const QVariantMap& baseArgs) : _name(name), _category(category) { - if (_category.isDebugEnabled()) { + if (tracingEnabled() && category.isDebugEnabled()) { QVariantMap args = baseArgs; args["nv_payload"] = QVariant::fromValue(payload); tracing::traceEvent(_category, _name, tracing::DurationBegin, "", args); @@ -48,7 +52,7 @@ Duration::Duration(const QLoggingCategory& category, const QString& name, uint32 } Duration::~Duration() { - if (_category.isDebugEnabled()) { + if (tracingEnabled() && _category.isDebugEnabled()) { tracing::traceEvent(_category, _name, tracing::DurationEnd); #ifdef NSIGHT_TRACING nvtxRangePop(); @@ -59,7 +63,7 @@ Duration::~Duration() { // FIXME uint64_t Duration::beginRange(const QLoggingCategory& category, const char* name, uint32_t argbColor) { #ifdef NSIGHT_TRACING - if (category.isDebugEnabled()) { + if (tracingEnabled() && category.isDebugEnabled()) { nvtxEventAttributes_t eventAttrib = { 0 }; eventAttrib.version = NVTX_VERSION; eventAttrib.size = NVTX_EVENT_ATTRIB_STRUCT_SIZE; @@ -76,7 +80,7 @@ uint64_t Duration::beginRange(const QLoggingCategory& category, const char* name // FIXME void Duration::endRange(const QLoggingCategory& category, uint64_t rangeId) { #ifdef NSIGHT_TRACING - if (category.isDebugEnabled()) { + if (tracingEnabled() && category.isDebugEnabled()) { nvtxRangeEnd(rangeId); } #endif