You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
					
					
						
							23 lines
						
					
					
						
							518 B
						
					
					
				
			
		
		
	
	
							23 lines
						
					
					
						
							518 B
						
					
					
				#pragma once
 | 
						|
 | 
						|
#include <cstdint>
 | 
						|
#include <string>
 | 
						|
 | 
						|
class RateKeeper {
 | 
						|
public:
 | 
						|
  RateKeeper(const std::string &name, float rate, float print_delay_threshold = 0);
 | 
						|
  ~RateKeeper() {}
 | 
						|
  bool keepTime();
 | 
						|
  bool monitorTime();
 | 
						|
  inline double frame() const { return frame_; }
 | 
						|
  inline double remaining() const { return remaining_; }
 | 
						|
 | 
						|
private:
 | 
						|
  double interval;
 | 
						|
  double next_frame_time;
 | 
						|
  double last_monitor_time;
 | 
						|
  double remaining_ = 0;
 | 
						|
  float print_delay_threshold = 0;
 | 
						|
  uint64_t frame_ = 0;
 | 
						|
  std::string name;
 | 
						|
};
 | 
						|
 |