void RefreshThrottleFPS(void)
{
- desiredfps=FCEUI_GetDesiredFPS()>>8;
+ uint64 f=FCEUI_GetDesiredFPS();
+ // great, a bit faster than before
+ //f = (f*65) >> 6;
+ desiredfps=f>>8;
tfreq=1000000;
tfreq<<=16; /* Adjustment for fps returned from FCEUI_GetDesiredFPS(). */
}
return(ret);
}
-void SpeedThrottle(void)
+INLINE void SpeedThrottle(void)
{
static uint64 ttime,ltime;
ttime=GetCurTime();
if( (ttime-ltime) < (tfreq/desiredfps) )
+ {
goto waiter;
+ }
if( (ttime-ltime) >= (tfreq*4/desiredfps))
ltime=ttime;
else