设为首页收藏本站同能贴吧 切换语言 繁体中文
开启辅助访问 切换到窄版
扫描二维码关注官方公众号
返回列表
+ 发新帖
查看: 55|回复: 0

[制作教程] RPG Maker MV Games Graphics Will Freeze, but Sound Keeps Playing: The Problem &a

[复制链接]
累计送礼:
0 个
累计收礼:
1 个
  • TA的每日心情
    开心
    前天 04:10
  • 签到天数: 209 天

    连续签到: 2 天

    [LV.7]常住居民III

    4446

    主题

    864

    回帖

    2万

    积分

    管理员

    Rank: 9Rank: 9Rank: 9

    VIP
    7
    卡币
    22899
    OK点
    16
    推广点
    0
    同能卷
    50
    积分
    28239

    灌水之王

    发表于 3 天前 | 显示全部楼层 |阅读模式
    This is really something EVERY RPG Maker MV dev should do, even if you aren't experiencing the problem yourself!


    First an explanation. If you don't care and just want to get right to the fix, scroll down.

    What's the Problem?

    For a long time I had been having a strange type of crash. This crash is not your typical RPG Maker crash where the screen dims and some text pops up. Nor is this like when there is a missing file. This type of crash seems to be a graphical crash. The result would be that the rendered image would be frozen, as in, no more frames are being drawn on screen you're just stuck with a still image. However, the actual logic of the game is still running fine. You can press up/down/left/right, open menus, and even interact with the game (though, you'd have to do it entirely by ear since the graphics are no longer being drawn).
    This crash would happen randomly and unpredictably, so it was hard to determine the source.

    What Causes this Problem?

    It took awhile for me to narrow down the cause, but thanks to another user reporting this problem in this thread it occurred to me that we have something in common: a high refresh rate monitor.

    Spoiler: What's the difference between Refresh Rate and FPS?
    For the uninitiated, there are 2 important factors when it comes to drawing a game's frame for you - the player (or dev) to see: 1) How fast can your graphics hardware render the frame? This would be your frame rate.
    2) How fast can your display hardware (computer monitor/screen/TV) show the rendered frame? This would be your refresh rate.
    Spoiler: RPG Maker's Render Logic
    Originally, RPG Maker had it's engine logic tied to the output frame rate. This means any engine calculation were done whenever the game drew a frame. The problem with this is that frame rate can be variable. Some users hardware might struggle to draw 60 frames per second, and therefore the game would feel slow. On the other hand, some users hardware may run the game faster than 60 frames per second, therefore the game would run faster than intended.
    Somewhere during the lifecycle of RPG Maker MV, engine logic was separated from the render logic. So the engine logic will always try to run at 60 frames per second while the rendered frame can run below or above the engine logic, creating more consistency in game play.
    The problem is that if someone has both the graphics hardware to output hundreds of frames per second and display hardware to support all of the the rendered frames, the game will run above 60fps.

    So the solution is to just limit the frame rate, right? Just use Yanfly's video synch.
    Spoiler: Rant about Yanfly FPS Synch
    No, that's not going to work.
    To start, Yanfly's plugin actually allows returning the engine and renderer logic back to before the update where the logic and renderer were tied together...it's beyond me why anyone would want to do that, but regardless: it's not true v-sync.
    (Side note: if you are using Yanfly's video synch plugin, the option it adds to the options menu is misleading and could confuse players - especially players whom are not familiar with RPG Maker plugins. Please rename this option to prevent confusing players. I've renamed it to "Fluid Time Step" because that's exactly how Yanfly refers to it in the description (no idea why they didn't just call the option that to begin with since even they refer to it as that))


    How to Fix The Problem:

    There are 2 solutions. 1 solution is really more intended for players whom might be playing RPG Maker MV games that have not implemented the engine fix, however, I suppose devs can use this solution just to test it's validity. This solution will only fix the problem on YOUR local machine, so obviously compiling the game and distributing it will not have the fix therefore the problem may persist on other's computers (which is why devs need to implement option 2)

    Frame Limiting:
    Do this if you're a player
    Spoiler: Do this if you are a PLAYER
    If the problem is high frame rates, then the solution is to stop rendering so many frames. It's that simple.
    Most dedicated graphics hardware should have the ability to limit the output frame rate of specific games. Unfortunately I don't have an AMD or Intel graphics card to give you step by step instructions on how to do this, however, for Nvidia users I will give a step-by-step guide below. For AMD or Intel, try searching your favorite search engine for how to set a frame limiter on your card.

    Nvidia Users:
    You can turn on frame limiting in your Nvidia Control Panel




    To access this, right click on your desktop and select "Nvidia Control Panel"




    This will bring up the picture I showed in the start of this section.
    Inside the Nvidia Control panel, you will want to navigate to the item "Manage 3D settings" found is the left hand column, below the "3D Settings" tree.

    The tab that will be opened after clicking on this will be your global settings. You can change these if you want, but it's better if your don't since these are global, any changes made here will be applied to EVERY game you play.
    Instead click the tab that says "Program Settings". This will manage your graphics card settings for individual games (It's also useful to use these settings for other games if a game is performing poorly or you want to make some slight graphical improvements to the game if your hardware can support it)

    Now, to quickly add the game to the list of programs, first launch the game. If you are just a player, launch the Game.exe found in the game's folder (or if it is on Steam, just click "play"). Once the game opens, close the game. If you are a dev, open RPG Maker and play test your game. Wait for the play test to open, then close the play test and RPG Maker.

    In the "Program Settings" tab, at "1. Select a program to customize:" there is a drop down list of recognized, supported, or previously added programs. Your game is likely not here, so to the right; click "Add" - sometimes it's slow to bring up this dialogue box, so please be patient.
    Once the dialogue box opens, there is a list of recently launched .exe files. Since you just launched your game and/or play test, it should be at the top of the list.



    For players, your file will be called "Game" or "Game.exe", and for devs, your file is "nwjs"
    Select the program, and click "Add Selected Program"
    (If it's not in the list of recent programs, you can click the "Browse..." button and navigate to the .exe file)

    Once it is added, scroll down the list of options and look for "Max Frame Rate"



    Select the option, click on, then set the max FPS to 60




    Once any changes have been made inside the Nvidia control panel, it will show an "Apply" or "Cancel" option at the bottom of the control panel. Make sure to click "Apply" to save the changes. Once that is done, you have now limited the maximum frame rate and will stop the renderer from crashing!

    One warning about this: I experienced gross frame timing problems with this setting enabled. In short: FPS is just an average number of frames over a span of time, but frame timing is the exact amount of time between each individual frame. So theoretically you could have 1 frame that is drawn super fast, but then the next frame is really slow. The average of the 2 is 60 FPS, but the feeling (and look) of the game might not be very smooth. Some might call this "micro stutters". Your experience may differ, but for me it was borderline unpleasant. Just barely tolerable. This will always vary based on the game and the complexity of it, and your hardware. Hopefully you have a more pleasant experience! Regardless, at least this fix allows you to play the game. You should also consider reaching out to the developer and share this thread with them so that they can implement the fix into the game.


    FIX THE ENGINE
    Do this if you're an RM dev.


    Thanks to @Mac15001900 he rolled this fix into a plugin that also fixes other problems related to high refresh rate monitors, such as reducing CPU utilization when the game is running above 60hz.
    You can find his fix here, and I recommend using this over Kido's solution:
    MAC_High_Hz_Fixes - Fixes for various problems with >60Hz monitors

    Synopsis This is a plugin that, unless you've done something similar yourself, you'd almost certainly benefit from adding to your game, no matter what kind of game it is. Let me explain why.  MV games have the tendency to break in various ways when they're played on a monitor with a refresh rate...

                                            forums.rpgmakerweb.com                               




    Before Mac created his "High Hz Fix" plugin, a plugin created by author Kido was the main fix for fixing graphical freezes. This plugin can be found here:
    GraphicsRenderFix.js
    (click the link above, once it is open press ctrl+s or right click "save as..." to download the plugin)
    This plugin was developed by Kido (not me) and only fixes this graphics render problem. This was the old solution, however Mac's solution is more robust.

    Technically speaking, it seems itch user and plugin dev Tamschidiscovered this error a few months before I made this post. While I still recommend Mac's solution above anyone else's, here is yet another alternative plugin to the fix:
    Freeze Fix by Tamschi

    Implement it like any normal plugin - it's just overriding an error in the base core script of RPG Maker.

    I should mention, I would have never found this plugin had it not been brought up by Steam user ozwvip found in this Steam discussion thread on the same matter this tutorial is about.

    So why should EVERY Dev Implement this fix?

    Well, I think I already made the point clear, but if not: This is an error within the engine itself. So just because you yourself don't experience the problem doesn't mean others won't. Wouldn't it just be terrible that you worked so hard on a game for years, you release it, and then suddenly you start receiving negative reviews because the game is having a strange graphical crash? The solution is easy to implement and has very little overhead to it, so there is no reason not to implement it.

    Unsure if you face the problem?
    User @I_LIKE_BREAD7 shared this simple test for debug purposes to see if the bug persists/affects your hardware (this only works for developers)
    Link to his post is here.


    Wrap Up:
    I've seen in a few places people crediting me for this fix.
    To clarify: I did not make this fix.
    I simply dug up the source of the problem and found someone who had made a patch for it, and made this patch more accessible and easier to find.
    Credit is appreciated, but I didn't make the fix, so make sure to credit the people who actually made the patch.

    Does this problem persist in MZ?

    According to @caethyril this problem has been patched in MZ.



    edit 2024/09/24
    Added @Mac15001900 's plugin as a fix for high refresh rate monitors.
    Edit 2025/12/08
    Added Tamschi's fix, since it seems he discovered this error long before I did (but I didn't find his fix until just now)


    Spoiler: banner




    本贴来自国际rpgmaker官方论坛作者:TheAM-Dol处,因国际论坛即将永久关站,为了存档多年珍贵资料,署名转载到本论坛存档,由于官方帖子为英文原帖,需要中文翻译请点击论坛顶部切换语言为中文就可以将帖子翻译成中文浏览,方便大家随时查看,原文地址:https://forums.rpgmakerweb.com/threads/rpg-maker-mv-games-graphics-will-freeze-but-sound-keeps-playing-the-problem-the-solution.151887/

    本帖子中包含更多资源

    您需要 登录 才可以下载或查看,没有账号?立即注册

    x
    天天去同能,天天有童年!
    回复 送礼论坛版权

    使用道具 举报

    文明发言,和谐互动
    文明发言,和谐互动
    高级模式
    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    简体中文
    繁體中文
    English(英语)
    日本語(日语)
    Deutsch(德语)
    Русский язык(俄语)
    بالعربية(阿拉伯语)
    Türkçe(土耳其语)
    Português(葡萄牙语)
    ภาษาไทย(泰国语)
    한어(朝鲜语/韩语)
    Français(法语)
    关闭

    幸运抽奖

    社区每日抽奖来袭,快来试试你是欧皇还是非酋~

    立即查看

    聊天机器人
    Loading...

    QQ|Archiver|手机版|小黑屋|同能RPG制作大师 ( 沪ICP备12027754号-3 )

    GMT+8, 2026-7-14 14:20 , Processed in 0.074247 second(s), 64 queries .

    Powered by Discuz! X3.4

    Copyright © 2001-2020, Tencent Cloud.

    快速回复 返回顶部 返回列表