A downloadable RPG Maker MV plugin

Download NowName your own price

This plugin fixes a common source of sporadic screen (graphics) freezes in RPG Maker MV games.

The Bug

RPG Maker MV uses DateTime.now() to check how long rendering takes, to skip frames accordingly if it takes too long. However, the skip count, Graphics._skipCount, can become negative when DateTime.now() runs backwards.

This can happen for example when the system time is updated while rendering, which can be caused manually, and also seems to happen sporadically.

(The timing is fairly precise, so you may need a few hundred tries when trying to cause a freeze manually. I was fortunate enough to run into the issue while playtesting, so I could debug it then and there.)

As the game only checks whether Graphics._skipCount === 0, and otherwise decrements this counter, any negative value will cause indefinite frame skips.

The Fix

This plugin overrides Graphics.render to ensure Graphics._skipCount >= 0 after the original function runs.

You could still write Graphics._skipCount = Infinity to cause a permanent freeze, but that can't happen randomly with the 1.6.2 engine code, as it clamps the calculated value to prevent too many skips in a row.

Logging

An info message is logged to the console whenever this plugin prevents a freeze.  This should happen very rarely, usually once every few hours.

Load Order

Load order usually doesn't matter for this plugin.
When in doubt, load TS_Freeze_Fix early/high in the plugin list.

Configuration and Use

This plugin does not have any configuration options or API/plugin commands.
As long as the plugin is ON when the game is started, the bug is patched.

Compatibility Notes

This plugin was tested on RPG Maker MV 1.6.2, uses only the public RPG Maker API as far as possible, and does not use any platform-specific APIs.

This plugin should be compatible with any deployment target available for RPG Maker MV, including web and most custom ones.

Freeze Fix is compatible with any plugins that don't rely on negative or non-number values for Graphics._skipCount. (That is: There should be no incompatibilities, as it's unlikely any published plugin relies on those unusual values.)

StatusReleased
CategoryAssets
Rating
Rated 5.0 out of 5 stars
(1 total ratings)
AuthorTamschi
Made withRPG Maker
Tagsbugfix, plugin, RPG Maker
Average sessionA few seconds
LanguagesEnglish
LinksImprint / Impressum

Download

Download NowName your own price

Click download now to get access to the following files:

TS_Freeze_Fix.js 2 kB
Version 1.0.0

Leave a comment

Log in with itch.io to leave a comment.