//============================================================================= // FPSLimit.js //============================================================================= /*: * @plugindesc Limits game refresh rate * @author ocean pollen * * @param FPS Limit * @desc For a 20FPS limit, set this to 20, etc. * Default: 60 * @default 60 * * @help This plugin does not provide plugin commands. */ (function () { var desiredFPS = Number(PluginManager.parameters("FPSLimit")["FPS Limit"]), frameLimit = 1000 / desiredFPS, nextUpdate = 0, timeout = null; SceneManager.requestUpdate = function () { if (!this._stopped) { var now = Date.now(); if (now >= nextUpdate) { if (timeout) { clearTimeout(timeout); timeout = null; } nextUpdate = now + frameLimit; requestAnimationFrame(this.update.bind(this)); } else { var that = this; timeout = setTimeout(function () { nextUpdate = Date.now() + frameLimit; requestAnimationFrame(that.update.bind(that)); }, nextUpdate - now); } } }; })();