Skip to content

Commit

Permalink
Back off overlay frame rate when all timing tests have fired (saves CPU)
Browse files Browse the repository at this point in the history
Closes mobile-shell#225 github issue (Jay Freeman).
  • Loading branch information
keithw committed Apr 19, 2012
1 parent 9cf87d2 commit b127a92
Show file tree
Hide file tree
Showing 2 changed files with 9 additions and 2 deletions.
6 changes: 4 additions & 2 deletions src/frontend/terminaloverlay.cc
Expand Up @@ -285,8 +285,10 @@ int OverlayManager::wait_time( void )
next_expiry = 1000;
}

if ( predictions.active() && ( next_expiry > 20 ) ) {
next_expiry = 20;
if ( predictions.timing_tests_necessary()
&& predictions.active()
&& ( next_expiry > 50 ) ) {
next_expiry = 50;
}

return next_expiry;
Expand Down
5 changes: 5 additions & 0 deletions src/frontend/terminaloverlay.h
Expand Up @@ -214,6 +214,11 @@ namespace Overlay {

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_acked( uint64_t x ) { local_frame_acked = x; }
void set_local_frame_late_acked( uint64_t x ) { local_frame_late_acked = x; }
Expand Down

0 comments on commit b127a92

Please sign in to comment.