Nebula
|
Classes | |
struct | ProfilingContext |
thread context of profiling More... | |
struct | ProfilingScope |
struct | ProfilingScopeLock |
convenience class used to automatically push and pop scopes More... | |
Functions | |
void | ProfilingPushScope (const ProfilingScope &scope) |
push scope to scope stack | |
void | ProfilingPopScope () |
pop scope from scope stack | |
void | ProfilingNewFrame () |
pushes an 'end of frame' marker, only available on the main thread | |
Timing::Time | ProfilingGetTime () |
get current frametime | |
void | ProfilingRegisterThread () |
register a new thread for the profiling | |
const Util::Array< ProfilingScope > & | ProfilingGetScopes (Threading::ThreadId thread) |
get all top level scopes based on thread, only run when you know the thread is finished | |
const Util::Array< ProfilingContext > | ProfilingGetContexts () |
get all profiling contexts | |
void | ProfilingClear () |
clear all scopes | |
void | ProfilingIncreaseCounter (const char *id, uint64 value) |
increment profiling counter | |
void | ProfilingDecreaseCounter (const char *id, uint64 value) |
decrement profiling counter | |
const Util::Dictionary< const char *, uint64 > & | ProfilingGetCounters () |
return table of counters | |
void | ProfilingSetupBudgetCounter (const char *id, uint64 budget) |
Setup a profiling budget counter. | |
void | ProfilingBudgetIncreaseCounter (const char *id, uint64 value) |
Increment budget counter. | |
void | ProfilingBudgetDecreaseCounter (const char *id, uint64 value) |
Decrement budget counter. | |
void | ProfilingBudgetResetCounter (const char *id) |
Reset budget counter. | |
const Util::Dictionary< const char *, Util::Pair< uint64, uint64 > > & | ProfilingGetBudgetCounters () |
Return set of budget counters. | |
Variables | |
Util::Array< ProfilingContext > | profilingContexts |
Util::Array< Threading::CriticalSection * > | contextMutexes |
Util::Dictionary< Util::StringAtom, Util::Array< ProfilingScope > > | scopesByCategory |
Threading::CriticalSection | categoryLock |
Threading::AtomicCounter | ProfilingContextCounter = 0 |
atomic counter used to give each thread a unique id | |
thread_local IndexT | ProfilingContextIndex = InvalidIndex |
Threading::CriticalSection | counterLock |
Util::Dictionary< const char *, uint64 > | counters |
Util::Dictionary< const char *, Util::Pair< uint64, uint64 > > | budgetCounters |
void Profiling::ProfilingBudgetDecreaseCounter | ( | const char * | id, |
uint64 | value ) |
Decrement budget counter.
void Profiling::ProfilingBudgetIncreaseCounter | ( | const char * | id, |
uint64 | value ) |
Increment budget counter.
void Profiling::ProfilingBudgetResetCounter | ( | const char * | id | ) |
Reset budget counter.
void Profiling::ProfilingClear | ( | ) |
clear all scopes
void Profiling::ProfilingDecreaseCounter | ( | const char * | id, |
uint64 | value ) |
decrement profiling counter
const Util::Dictionary< const char *, Util::Pair< uint64, uint64 > > & Profiling::ProfilingGetBudgetCounters | ( | ) |
Return set of budget counters.
const Util::Array< ProfilingContext > Profiling::ProfilingGetContexts | ( | ) |
get all profiling contexts
const Util::Dictionary< const char *, uint64 > & Profiling::ProfilingGetCounters | ( | ) |
return table of counters
const Util::Array< ProfilingScope > & Profiling::ProfilingGetScopes | ( | Threading::ThreadId | thread | ) |
get all top level scopes based on thread, only run when you know the thread is finished
Timing::Time Profiling::ProfilingGetTime | ( | ) |
get current frametime
void Profiling::ProfilingIncreaseCounter | ( | const char * | id, |
uint64 | value ) |
increment profiling counter
void Profiling::ProfilingNewFrame | ( | ) |
pushes an 'end of frame' marker, only available on the main thread
void Profiling::ProfilingPopScope | ( | ) |
pop scope from scope stack
void Profiling::ProfilingPushScope | ( | const ProfilingScope & | scope | ) |
push scope to scope stack
void Profiling::ProfilingRegisterThread | ( | ) |
register a new thread for the profiling
void Profiling::ProfilingSetupBudgetCounter | ( | const char * | id, |
uint64 | budget ) |
Setup a profiling budget counter.
Util::Dictionary< const char *, Util::Pair< uint64, uint64 > > Profiling::budgetCounters |
Threading::CriticalSection Profiling::categoryLock |
Util::Array< Threading::CriticalSection * > Profiling::contextMutexes |
Threading::CriticalSection Profiling::counterLock |
Util::Dictionary< const char *, uint64 > Profiling::counters |
Threading::AtomicCounter Profiling::ProfilingContextCounter = 0 |
atomic counter used to give each thread a unique id
thread_local IndexT Profiling::ProfilingContextIndex = InvalidIndex |
Util::Array< ProfilingContext > Profiling::profilingContexts |
Util::Dictionary< Util::StringAtom, Util::Array< ProfilingScope > > Profiling::scopesByCategory |