Back off overlay frame rate when all timing tests have fired (saves CPU)
Closes #225 github issue (Jay Freeman).
This commit is contained in:
@@ -285,8 +285,10 @@ int OverlayManager::wait_time( void )
|
|||||||
next_expiry = 1000;
|
next_expiry = 1000;
|
||||||
}
|
}
|
||||||
|
|
||||||
if ( predictions.active() && ( next_expiry > 20 ) ) {
|
if ( predictions.timing_tests_necessary()
|
||||||
next_expiry = 20;
|
&& predictions.active()
|
||||||
|
&& ( next_expiry > 50 ) ) {
|
||||||
|
next_expiry = 50;
|
||||||
}
|
}
|
||||||
|
|
||||||
return next_expiry;
|
return next_expiry;
|
||||||
|
|||||||
@@ -214,6 +214,11 @@ namespace Overlay {
|
|||||||
|
|
||||||
bool active( void ) const;
|
bool active( void ) const;
|
||||||
|
|
||||||
|
bool timing_tests_necessary( void ) const {
|
||||||
|
/* Are there any timing-based triggers that haven't fired yet? */
|
||||||
|
return !( glitch_trigger && flagging );
|
||||||
|
}
|
||||||
|
|
||||||
void set_local_frame_sent( uint64_t x ) { local_frame_sent = x; }
|
void set_local_frame_sent( uint64_t x ) { local_frame_sent = x; }
|
||||||
void set_local_frame_acked( uint64_t x ) { local_frame_acked = x; }
|
void set_local_frame_acked( uint64_t x ) { local_frame_acked = x; }
|
||||||
void set_local_frame_late_acked( uint64_t x ) { local_frame_late_acked = x; }
|
void set_local_frame_late_acked( uint64_t x ) { local_frame_late_acked = x; }
|
||||||
|
|||||||
Reference in New Issue
Block a user