OpenTTD Source  20241108-master-g80f628063a
PerformanceMeasurer Class Reference

RAII class for measuring simple elements of performance. More...

#include <framerate_type.h>

Public Member Functions

 PerformanceMeasurer (PerformanceElement elem)
 Begin a cycle of a measured element. More...
 
 ~PerformanceMeasurer ()
 Finish a cycle of a measured element and store the measurement taken.
 
void SetExpectedRate (double rate)
 Set the rate of expected cycles per second of a performance element.
 

Static Public Member Functions

static void SetInactive (PerformanceElement elem)
 Mark a performance element as not currently in use.
 
static void Paused (PerformanceElement elem)
 Indicate that a cycle of "pause" where no processing occurs. More...
 

Private Attributes

PerformanceElement elem
 
TimingMeasurement start_time
 

Detailed Description

RAII class for measuring simple elements of performance.

Construct an object with the appropriate element parameter when processing begins, time is automatically taken when the object goes out of scope again.

Call Paused at the start of a frame if the processing of this element is paused.

Definition at line 92 of file framerate_type.h.

Constructor & Destructor Documentation

◆ PerformanceMeasurer()

PerformanceMeasurer::PerformanceMeasurer ( PerformanceElement  elem)

Begin a cycle of a measured element.

Parameters
elemThe element to be measured

Definition at line 242 of file framerate_gui.cpp.

References GetPerformanceTimer(), and PFE_MAX.

Member Function Documentation

◆ Paused()

void PerformanceMeasurer::Paused ( PerformanceElement  elem)
static

Indicate that a cycle of "pause" where no processing occurs.

Parameters
elemThe element not currently being processed

Definition at line 297 of file framerate_gui.cpp.

References anonymous_namespace{framerate_gui.cpp}::_pf_data, anonymous_namespace{framerate_gui.cpp}::PerformanceData::AddPause(), GetPerformanceTimer(), and SetInactive().

Referenced by StateGameLoop().


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