mupen64plus/mupen64plus-core — pull request #24 by ricrpi (2014-05-06 15:36:01+00:00)
Title: Moving Average Filter for better vi timing

On embedded systems it is likely that the time to do a VI update will exceed the 'AdjustedLimit' time.

The use of frame skipping for video plug-ins can counter this but if l_MainSpeedLimit is true then mupen64plus will pause during a VI where graphics are not being updated and so emulation cannot 'catch up'.

I have found that implementing a 6 point Moving Average filter gets around this nicely so that emulation will not over-run when the processing load is low but will also not waste CPU cycles when the load is high.