RPG Maker MV Games Graphics Will Freeze, but Sound Keeps Playing: The Problem & The Solution

● ARCHIVED · READ-ONLY
Started by TheAM-Dol 33 posts Page 2 of 2 View original ↗
  1. KermexRPG said:
    Guys, If I implement this fix in my game, Will I need Yanfly's FPS Sync plugin? I using a basic 60hz 1080p monitor so I cant test my game with higher refresh rates.
    No.
    FPS Synch has nothing to do with the problem. Personally, I highly recommend removing the FPS Synch plugin because it does nothing but cause problems.

    Regardless, this plugin as stated here:
    TheAM-Dol said:
    it's just overriding an error in the base core script of RPG Maker.
    and here
    TheAM-Dol said:
    The solution is easy to implement and has very little overhead to it, so there is no reason not to implement it.
    Basically saying that there should be no conflicts between this plugin and other plugins. At worse, it will have it's function overwritten by other plugins because it's basically a single line of code and that's it.

    Give it a download and try it.
  2. I seem to be still having this problem, despite implementing the suggestion in the op...

    Anybody have any other ideas, this also doesn't happen rarely... it happens a lot, and from every RPG maker game I've played, it has also happened in VX Ace... but mainly happens in MV.
  3. @Altimos I use a slightly other method on this, but with or without it,
    I dont have the problem really.

    it can be on a low end pc system which cannot be fixed fully, but it shouldn't
    freeze when using it though, which prevent that.

    if yours still freeze and depending on the game, it could have bad implementation
    of parallels or looping parts.
  4. ShadowDragon said:
    @Altimos I use a slightly other method on this, but with or without it,
    I dont have the problem really.

    it can be on a low end pc system which cannot be fixed fully, but it shouldn't
    freeze when using it though, which prevent that.

    if yours still freeze and depending on the game, it could have bad implementation
    of parallels or looping parts.
    It's actually kind of funny, because it doesn't happen right away... it happens after a few hours of playing any MV game, initially. But, when it does happen (despite implementing the NVIDIA fix), I still drop the javascript fix in the plugins folder. It STILL does the freezing. After it happens the first time and said fixes, it still freezes after a few moments.

    But again, it's just weird that it happens a few hours after the initial playing of ANY MV game... not like it happens right away playing it.
  5. Altimos said:
    I still drop the javascript fix in the plugins folder
    In your initial post you didn't give any indication as to whether you are a developer or just a player.

    If you are just a player, then simply dropping the plugin into the plugins folder is not going to fix it. You need access to the project in order to enable the plugin within the game, otherwise the game will do nothing with the file.

    Altimos said:
    it has also happened in VX Ace

    This sounds like a different problem since it affects VX Ace games as well. VX Ace uses a different renderer than MV. If the problem is identical in both MV and VX Ace games, this may indicate some other issue related to your system and not the problem described in this thread.

    Although I am unlikely able to assist you - this plugin was developed by another user, I just composed the tutorial for implementing the fix - there may be users who can better help you if you provide more technical information.

    Please tell first if you are a player or a developer. That's rather pertinent.

    • Please include the games you are playing. If you know how to find this information, please tell us what version of NWJS and PIXI they are using. VX Ace does not use NWJS or PIXI so this information is not available for games using that engine.
    • We don't know every game ever developed with this engine, so if possible, include either (more preferably) the version of rpg_core.js the game is using, or if it's not possible for you to locate this information, the date in which the game was published. (This will help identify whether the game was built on an outdated version of the engine; some of the older versions of the engine included memory bugs and frame rate issues)
    • Please include a few sample frame rates when playing a game. If they are steam games, you can enable an on-screen FPS counter for all games within your account settings. If it is an MV/MZ game, you can press the f2 key (assuming the dev hasn't disabled this functionality) to open an FPS counter. Sample various areas (such as towns, overworlds, caves, battle, and menus) and report the frame rate data. Additionally, if you can tell when playing, determine if the game seems to be running fast or at normal speed if the frame rate is above 60.
    • Please include hardware information, including the size and refresh rate of your monitor.
  6. I'm just glad there was a fix. i was hammering my head against the desk trying to figure it out (i use MV to dev for the wii U, it's the only approved package i have since i know rpgmkr inside out, where i didn't have the time to learn unity and my other devs use c2). this helps so much! i can finally release my projects!!
  7. As this bug happens mostly on high resolution monitors, which a lot of people (me included) can't test on, I though I would share a little manual test anyone can do at any time.

    For anyone who wants to test if the fix was applied correctly you can open the dev console (F8 -> Console tab) while test playing your game and paste this line in there
    Code:
    Graphics._skipCount = -1
    and press enter.

    This will manually trigger the situation where the bug happens.
    Without the patch the game's screen will freeze, with the patch the game should be completely unaffected.

    1731431817852.png
  8. @I_LIKE_BREAD7 thanks for sharing. I've added this to the OP so others can easily find your debug test (I simply linked your post # so people will quickly jump to your post)
  9. Ultimacj said:
    That's shame about it being Legacy find and error and won't patch it. At a customer point of view, it shows me that dev's don't care enough, MV isn't THAT old.
    Agreed.
  10. Why isn't this sticky? One of the plugins in this post should indeed be a first thing every MV dev installs. I though that something is wrong with my pc, since there were no errors in console, and this bug happened rarey. But then it was reported by another person, and i found this post. Big thanks for everyone who helped to solve this issue. But if nobody would reported this, i would keep quessing that it's just my problem. This is such an essentical fix that it needs to be sticked, IMHO, so everyone will see it once they open this forum.
  11. TYVM, this issue was haunting me. I have 240hz on monitor, i was realizing that could be something like this. I managed to install and run the plugin, since i did, it seems worked.

    I hope it works in the long run, anyway thanks again for the fix and for all the dedication in this post.
  12. I was wondering where the visits and downloads on this were coming from.

    Mac15001900 said:
    This sounds really interesting. Do you happen to know how this fix was found? Reading the code there doesn't seem to be any way for _skipCount to ever become negative.

    I've added the fix, since all it does is prevent a seemingly impossible state, and clearly if _skipCount became negative the renderer would indeed stop producing new frames, but I'm curious as to how this was discovered.
    It randomly happened to me during a playtest I had forgotten to close and I used the debugger to step through and identify the issue right then and there. I'm not the first one to find it though, I looked it up after and found some talk about editing the core script.

    There are multiple reasons Date.now() can go backwards. The fingerprinting protection @caethyril mentioned may be one reason, but another is that computers' real-time clocks just aren't monotonic and Date.now() is therefore subject to adjustments. Generally speaking, Performance.now() should be used instead to measure elapsed time.

    I agree with @TheAM-Dol that your plugin should be used instead in most cases. I'll add a link to it to the Itch page.
  13. Man am I glad I found this thread. Ive had 3 content creators in my community try my game and so far 2/3 are running into this sporadically. The one was just streaming the game via a monitor capture and the other 2 have this convoluted as hell setup with 2 pcs and a capture card and all these other bells and whistles but the description of the issue at hand is very similar. They'll play just fine for a bit but when they start a battle the graphics feeeze but they can still put in commands etc.