VR-Forces 5.0.1 Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
Classes | Namespaces | Macros | Functions
profiler.h File Reference

Go to the source code of this file.

Classes

class  makVrf::DtProfiler
 

Namespaces

 makVrf
 

Macros

#define TRACY_ENABLE
 
#define TRACY_ON_DEMAND
 
#define TRACY_DELAYED_INIT
 
#define TRACY_MANUAL_LIFETIME
 
#define ZoneScopedNA(name, active)   ZoneNamedN( ___tracy_scoped_zone, name, active )
 
#define ZoneScopedNCA(name, color, active)   ZoneNamedNC( ___tracy_scoped_zone, name, color, active )
 
#define DtPROFILEzone   ZoneNamed(___tracy_scoped_zone, makVrf::DtProfiler::collectTracyStats());
 
#define DtPROFILE(name)   ZoneScopedNA(name, makVrf::DtProfiler::collectTracyStats());
 
#define DtPROFILEC(name, color)   ZoneScopedNCA(name, color, makVrf::DtProfiler::collectTracyStats());
 
#define DtPROFILELEVEL(name, moduleName, level)   ZoneScopedNA(name, (makVrf::DtProfiler::collectTracyStats() && (makVrf::DtProfiler::tracyModuleLevel(moduleName) >= level)));
 
#define DtPROFILELEVELC(name, color, moduleName, level)   ZoneScopedNCA(name, color, (makVrf::DtProfiler::collectTracyStats() && (makVrf::DtProfiler::tracyModuleLevel(moduleName) >= level)));
 
#define DtPROFILE_SECTION(name)   {ZoneScopedNA(name, makVrf::DtProfiler::collectTracyStats());
 
#define DtPROFILE_ZONE_TEXT(text)   DtZoneSetText(___tracy_scoped_zone, text)
 
#define DtPROFILE_SECTION_END   }
 
#define DtPROFILE_ZONE_TEXT(text)   DtZoneSetText(___tracy_scoped_zone, text)
 
#define DtVRF_PROFILE(name)   DtPROFILE(name)
 
#define DtVRF_PROFILE_FILE(name)   DtPROFILE(name)
 
#define DtProfilerFrameMark   if(makVrf::DtProfiler::collectTracyStats()) { FrameMark; }
 
#define DtProfilerPlot(x, y)   TracyPlot(x,y)
 
#define DtProfilerThreadName(name)   tracy::SetThreadName(name );
 
#define DtProfilerMessage(str, stringLen)   TracyMessage(str, stringLen)
 

Functions

void DtZoneSetText (tracy::ScopedZone &zone, const char *text)
 
void DtZoneSetText (tracy::ScopedZone &zone, const std::string &text)
 

Macro Definition Documentation

#define TRACY_ENABLE

currently defaulting this to be on by default, VRF has a library by library setting, but that means that if you don't include the macro the profiling command just gets preprocessed away which is pretty confusing. with this on you'll get a linker error which is much more obvious why you'll need to hook in the libs.

#define TRACY_ON_DEMAND
#define TRACY_DELAYED_INIT
#define TRACY_MANUAL_LIFETIME
#define ZoneScopedNA (   name,
  active 
)    ZoneNamedN( ___tracy_scoped_zone, name, active )
#define ZoneScopedNCA (   name,
  color,
  active 
)    ZoneNamedNC( ___tracy_scoped_zone, name, color, active )
#define DtPROFILEzone   ZoneNamed(___tracy_scoped_zone, makVrf::DtProfiler::collectTracyStats());

win32 creates macros that work with our stats and tracy

#define DtPROFILE (   name)    ZoneScopedNA(name, makVrf::DtProfiler::collectTracyStats());
#define DtPROFILEC (   name,
  color 
)    ZoneScopedNCA(name, color, makVrf::DtProfiler::collectTracyStats());
#define DtPROFILELEVEL (   name,
  moduleName,
  level 
)    ZoneScopedNA(name, (makVrf::DtProfiler::collectTracyStats() && (makVrf::DtProfiler::tracyModuleLevel(moduleName) >= level)));

level need to be from 0 to 9

#define DtPROFILELEVELC (   name,
  color,
  moduleName,
  level 
)    ZoneScopedNCA(name, color, (makVrf::DtProfiler::collectTracyStats() && (makVrf::DtProfiler::tracyModuleLevel(moduleName) >= level)));
#define DtPROFILE_SECTION (   name)    {ZoneScopedNA(name, makVrf::DtProfiler::collectTracyStats());
#define DtPROFILE_ZONE_TEXT (   text)    DtZoneSetText(___tracy_scoped_zone, text)
#define DtPROFILE_SECTION_END   }
#define DtPROFILE_ZONE_TEXT (   text)    DtZoneSetText(___tracy_scoped_zone, text)
#define DtVRF_PROFILE (   name)    DtPROFILE(name)
#define DtVRF_PROFILE_FILE (   name)    DtPROFILE(name)
#define DtProfilerFrameMark   if(makVrf::DtProfiler::collectTracyStats()) { FrameMark; }

call stack version doesn't work RtlWalkFrameChain unresolved.

#define DtProfilerPlot (   x,
 
)    TracyPlot(x,y)
#define DtProfilerThreadName (   name)    tracy::SetThreadName(name );
#define DtProfilerMessage (   str,
  stringLen 
)    TracyMessage(str, stringLen)

Function Documentation

void DtZoneSetText ( tracy::ScopedZone &  zone,
const char text 
)
inline

TO DO include tracy on linux just to get it's macros for throwing things out.

void DtZoneSetText ( tracy::ScopedZone &  zone,
const std::string &  text 
)
inline

Document ID: Generated on Mon Jun 20 00:38:30 EDT 2022 from SVN revision 244029
Copyright © 2005-2021 MAK Technologies. All Rights Reserved (www.mak.com)