Blender  V3.3
Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
Profiler Class Reference

#include <profiling.h>

Public Member Functions

 Profiler ()
 
 ~Profiler ()
 
void reset (int num_shaders, int num_objects)
 
void start ()
 
void stop ()
 
void add_state (ProfilingState *state)
 
void remove_state (ProfilingState *state)
 
uint64_t get_event (ProfilingEvent event)
 
bool get_shader (int shader, uint64_t &samples, uint64_t &hits)
 
bool get_object (int object, uint64_t &samples, uint64_t &hits)
 
bool active () const
 

Protected Member Functions

void run ()
 

Protected Attributes

vector< uint64_tevent_samples
 
vector< uint64_tshader_samples
 
vector< uint64_tobject_samples
 
vector< uint64_tshader_hits
 
vector< uint64_tobject_hits
 
volatile bool do_stop_worker
 
threadworker
 
thread_mutex mutex
 
vector< ProfilingState * > states
 

Detailed Description

Definition at line 69 of file util/profiling.h.

Constructor & Destructor Documentation

◆ Profiler()

CCL_NAMESPACE_BEGIN Profiler::Profiler ( )

Definition at line 11 of file profiling.cpp.

◆ ~Profiler()

Profiler::~Profiler ( )

Definition at line 15 of file profiling.cpp.

References NULL, and worker.

Member Function Documentation

◆ active()

bool Profiler::active ( ) const

Definition at line 161 of file profiling.cpp.

References worker.

Referenced by PathTraceWorkCPU::render_samples().

◆ add_state()

void Profiler::add_state ( ProfilingState state)

◆ get_event()

uint64_t Profiler::get_event ( ProfilingEvent  event)

Definition at line 133 of file profiling.cpp.

References event_samples, NULL, and worker.

Referenced by RenderStats::collect_profiling().

◆ get_object()

bool Profiler::get_object ( int  object,
uint64_t samples,
uint64_t hits 
)

Definition at line 150 of file profiling.cpp.

References NULL, object_hits, object_samples, and worker.

Referenced by RenderStats::collect_profiling().

◆ get_shader()

bool Profiler::get_shader ( int  shader,
uint64_t samples,
uint64_t hits 
)

Definition at line 139 of file profiling.cpp.

References NULL, shader_hits, shader_samples, and worker.

Referenced by RenderStats::collect_profiling().

◆ remove_state()

void Profiler::remove_state ( ProfilingState state)

◆ reset()

void Profiler::reset ( int  num_shaders,
int  num_objects 
)

◆ run()

void Profiler::run ( )
protected

Definition at line 20 of file profiling.cpp.

References do_stop_worker, event_samples, lock, mutex, object_samples, PROFILING_NUM_EVENTS, shader_samples, state, and states.

Referenced by start().

◆ start()

void Profiler::start ( )

Definition at line 76 of file profiling.cpp.

References do_stop_worker, function_bind, NULL, run(), and worker.

Referenced by reset(), and Session::thread_render().

◆ stop()

void Profiler::stop ( )

Definition at line 83 of file profiling.cpp.

References do_stop_worker, thread::join(), NULL, and worker.

Referenced by reset(), and Session::thread_render().

Member Data Documentation

◆ do_stop_worker

volatile bool Profiler::do_stop_worker
protected

Definition at line 105 of file util/profiling.h.

Referenced by run(), start(), and stop().

◆ event_samples

vector<uint64_t> Profiler::event_samples
protected

Definition at line 94 of file util/profiling.h.

Referenced by get_event(), reset(), and run().

◆ mutex

thread_mutex Profiler::mutex
protected

Definition at line 108 of file util/profiling.h.

Referenced by add_state(), remove_state(), and run().

◆ object_hits

vector<uint64_t> Profiler::object_hits
protected

Definition at line 103 of file util/profiling.h.

Referenced by add_state(), get_object(), remove_state(), and reset().

◆ object_samples

vector<uint64_t> Profiler::object_samples
protected

Definition at line 96 of file util/profiling.h.

Referenced by get_object(), reset(), and run().

◆ shader_hits

vector<uint64_t> Profiler::shader_hits
protected

Definition at line 102 of file util/profiling.h.

Referenced by add_state(), get_shader(), remove_state(), and reset().

◆ shader_samples

vector<uint64_t> Profiler::shader_samples
protected

Definition at line 95 of file util/profiling.h.

Referenced by get_shader(), reset(), and run().

◆ states

vector<ProfilingState *> Profiler::states
protected

Definition at line 109 of file util/profiling.h.

Referenced by add_state(), remove_state(), and run().

◆ worker

thread* Profiler::worker
protected

Definition at line 106 of file util/profiling.h.

Referenced by active(), get_event(), get_object(), get_shader(), reset(), start(), stop(), and ~Profiler().


The documentation for this class was generated from the following files: