![]()  | 
  
    Jolt Physics
    
   A multi core friendly Game Physics Engine 
   | 
 
#include <mutex>#include <chrono>#include <Jolt/Core/NonCopyable.h>#include <Jolt/Core/TickCounter.h>#include <Jolt/Core/UnorderedMap.h>#include "Profiler.inl"Go to the source code of this file.
Classes | |
| class | Profiler | 
| Singleton class for managing profiling information.  More... | |
| class | ProfileSample | 
| class | ProfileThread | 
| Collects all samples of a single thread.  More... | |
| class | ProfileMeasurement | 
| Create this class on the stack to start sampling timing information of a particular scope.  More... | |
Macros | |
| #define | JPH_PROFILE_START(name) do { Profiler::sInstance = new Profiler; JPH_PROFILE_THREAD_START(name); } while (false) | 
| Start instrumenting program.  More... | |
| #define | JPH_PROFILE_END() do { JPH_PROFILE_THREAD_END(); delete Profiler::sInstance; Profiler::sInstance = nullptr; } while (false) | 
| End instrumenting program.  More... | |
| #define | JPH_PROFILE_THREAD_START(name) do { if (Profiler::sInstance) ProfileThread::sSetInstance(new ProfileThread(name)); } while (false) | 
| Start instrumenting a thread.  More... | |
| #define | JPH_PROFILE_THREAD_END() do { delete ProfileThread::sGetInstance(); ProfileThread::sSetInstance(nullptr); } while (false) | 
| End instrumenting a thread.  More... | |
| #define | JPH_PROFILE_TAG2(line) profile##line | 
| Scope profiling measurement.  More... | |
| #define | JPH_PROFILE_TAG(line) JPH_PROFILE_TAG2(line) | 
| #define | JPH_PROFILE(...) ProfileMeasurement JPH_PROFILE_TAG(__LINE__)(__VA_ARGS__) | 
| #define | JPH_PROFILE_FUNCTION() JPH_PROFILE(JPH_FUNCTION_NAME) | 
| Scope profiling for function.  More... | |
| #define | JPH_PROFILE_NEXTFRAME() Profiler::sInstance->NextFrame() | 
| Update frame counter.  More... | |
| #define | JPH_PROFILE_DUMP(...) Profiler::sInstance->Dump(__VA_ARGS__) | 
| Dump profiling info.  More... | |
| #define JPH_PROFILE | ( | ... | ) | ProfileMeasurement JPH_PROFILE_TAG(__LINE__)(__VA_ARGS__) | 
| #define JPH_PROFILE_DUMP | ( | ... | ) | Profiler::sInstance->Dump(__VA_ARGS__) | 
Dump profiling info.
| #define JPH_PROFILE_END | ( | ) | do { JPH_PROFILE_THREAD_END(); delete Profiler::sInstance; Profiler::sInstance = nullptr; } while (false) | 
End instrumenting program.
| #define JPH_PROFILE_FUNCTION | ( | ) | JPH_PROFILE(JPH_FUNCTION_NAME) | 
Scope profiling for function.
| #define JPH_PROFILE_NEXTFRAME | ( | ) | Profiler::sInstance->NextFrame() | 
Update frame counter.
| #define JPH_PROFILE_START | ( | name | ) | do { Profiler::sInstance = new Profiler; JPH_PROFILE_THREAD_START(name); } while (false) | 
Start instrumenting program.
| #define JPH_PROFILE_TAG | ( | line | ) | JPH_PROFILE_TAG2(line) | 
| #define JPH_PROFILE_TAG2 | ( | line | ) | profile##line | 
Scope profiling measurement.
| #define JPH_PROFILE_THREAD_END | ( | ) | do { delete ProfileThread::sGetInstance(); ProfileThread::sSetInstance(nullptr); } while (false) | 
End instrumenting a thread.
| #define JPH_PROFILE_THREAD_START | ( | name | ) | do { if (Profiler::sInstance) ProfileThread::sSetInstance(new ProfileThread(name)); } while (false) | 
Start instrumenting a thread.