12 #ifndef hifi_RefreshRateController_h
13 #define hifi_RefreshRateController_h
15 #include <DependencyManager.h>
22 class RefreshRateController {
24 RefreshRateController() =
default;
25 ~RefreshRateController() =
default;
27 void setRefreshRateLimitPeriod(
int refreshRateLimit);
28 int getRefreshRateLimitPeriod()
const;
30 void clockStartTime() { _startTime = std::chrono::high_resolution_clock::now(); }
31 void clockEndTime() { _endTime = std::chrono::high_resolution_clock::now(); }
32 std::chrono::nanoseconds sleepThreadIfNeeded(QThread* thread,
bool isHmd);
34 std::chrono::time_point<std::chrono::high_resolution_clock> _startTime { std::chrono::high_resolution_clock::now() };
35 std::chrono::time_point<std::chrono::high_resolution_clock> _endTime { std::chrono::high_resolution_clock::now() };
36 std::atomic<int64_t> _refreshRateLimitPeriod { 50 };