FrameRateMeter

class FrameRateMeter

Bases: TextNode

This is a special TextNode that automatically updates itself with the current frame rate. It can be placed anywhere in the world where you’d like to see the frame rate.

It also has a special mode in which it may be attached directly to a channel or window. If this is done, it creates a DisplayRegion for itself and renders itself in the upper-right-hand corner.

Inheritance diagram

Inheritance diagram of FrameRateMeter

explicit FrameRateMeter(std::string const &name)
FrameRateMeter(FrameRateMeter const&) = default
void clear_window(void)

Undoes the effect of a previous call to setup_window().

static TypeHandle get_class_type(void)
ClockObject *get_clock_object(void) const

Returns the clock that is used to determine the frame rate.

DisplayRegion *get_display_region(void) const

Returns the DisplayRegion that the meter has created to render itself into the window to setup_window(), or NULL if setup_window() has not been called.

std::string const &get_text_pattern(void) const

Returns the sprintf() pattern that is used to format the text.

double get_update_interval(void) const

Returns the number of seconds that will elapse between updates to the frame rate indication.

GraphicsOutput *get_window(void) const

Returns the GraphicsOutput that was passed to setup_window(), or NULL if setup_window() has not been called.

void set_clock_object(ClockObject *clock_object)

Sets the clock that is used to determine the frame rate. The default is the application’s global clock (ClockObject::get_global_clock()).

void set_text_pattern(std::string const &text_pattern)

Sets the sprintf() pattern that is used to format the text. The string “%f” or some variant will be replaced with the current frame rate in frames per second.

void set_update_interval(double update_interval)

Specifies the number of seconds that should elapse between updates to the frame rate indication. This should be reasonably slow (e.g. 0.2 to 1.0) so that the calculation of the frame rate text does not itself dominate the frame rate.

void setup_window(GraphicsOutput *window)

Sets up the frame rate meter to create a DisplayRegion to render itself into the indicated window.

void update(void)

You can call this to explicitly force the FrameRateMeter to update itself with the latest frame rate information. Normally, it is not necessary to call this explicitly.