SDEngine
Game Engine
Loading...
Searching...
No Matches
sd::PerformanceLayer Class Reference

#include <PerformanceLayer.hpp>

+ Inheritance diagram for sd::PerformanceLayer:
+ Collaboration diagram for sd::PerformanceLayer:

Public Member Functions

 PerformanceLayer ()
 
void on_update (const float dt) override
 
void begin_sleep ()
 
void end_sleep ()
 
- Public Member Functions inherited from sd::Layer
virtual ~Layer ()=default
 
 Layer (const std::string &name="Layer", Scene *scene=nullptr)
 
virtual void on_attach ()
 
virtual void on_detach ()
 
virtual void on_activate ()
 
virtual void on_deactivate ()
 
virtual void on_swapchain_recreated ()
 
const std::string & get_name () const
 
void set_scene (Scene *scene)
 
Sceneget_scene () const
 
virtual void on_event (Event &)
 
virtual void on_fixed_update (double fixedDelta)
 
virtual void on_render (vk::CommandBuffer cmd)
 
virtual void on_gui_render ()
 
virtual void on_im_gui_menu_bar ()
 
bool is_active () const noexcept
 

Private Attributes

u32 m_frame_count = 0
 
float m_time_accumulator = 0.0f
 
u64 m_cycle_accumulator = 0
 
u64 m_last_cycles = 0
 
float m_sleep_time_accumulator = 0
 
u64 m_sleep_cycle_accumulator = 0
 
u64 m_sleep_start_cycles = 0
 
std::chrono::time_point< std::chrono::high_resolution_clock > m_sleep_start_time
 

Additional Inherited Members

- Protected Attributes inherited from sd::Layer
bool m_is_active = true
 
std::string m_debug_name
 
Scenem_scene = nullptr
 
int m_stage_id
 
ViewId m_view_id
 
Viewm_view = nullptr
 

Constructor & Destructor Documentation

◆ PerformanceLayer()

sd::PerformanceLayer::PerformanceLayer ( )
inlineexplicit

Member Function Documentation

◆ begin_sleep()

void sd::PerformanceLayer::begin_sleep ( )
inline

◆ end_sleep()

void sd::PerformanceLayer::end_sleep ( )
inline

◆ on_update()

void sd::PerformanceLayer::on_update ( const float  dt)
inlineoverridevirtual

Reimplemented from sd::Layer.

Member Data Documentation

◆ m_cycle_accumulator

u64 sd::PerformanceLayer::m_cycle_accumulator = 0
private

◆ m_frame_count

u32 sd::PerformanceLayer::m_frame_count = 0
private

◆ m_last_cycles

u64 sd::PerformanceLayer::m_last_cycles = 0
private

◆ m_sleep_cycle_accumulator

u64 sd::PerformanceLayer::m_sleep_cycle_accumulator = 0
private

◆ m_sleep_start_cycles

u64 sd::PerformanceLayer::m_sleep_start_cycles = 0
private

◆ m_sleep_start_time

std::chrono::time_point<std::chrono::high_resolution_clock> sd::PerformanceLayer::m_sleep_start_time
private

◆ m_sleep_time_accumulator

float sd::PerformanceLayer::m_sleep_time_accumulator = 0
private

◆ m_time_accumulator

float sd::PerformanceLayer::m_time_accumulator = 0.0f
private

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