Project1

标题: 导致游戏闪退的原因 [打印本页]

作者: 康姆图帕帕    时间: 2019-1-3 18:54
标题: 导致游戏闪退的原因
本帖最后由 康姆图帕帕 于 2019-1-3 19:01 编辑

如题,本人的工程中有大量的并行事件,可能会有数十个并行公共事件同时计算变量和开关、条件分歧等,随着游戏的运行,游戏本身不会卡顿,但会导致游戏进程在窗口关闭后结束的时间越来越长。如果游戏持续运行大概两分钟,会在没有预兆的情况下闪退。
造成这种原因的情况是并行事件过多导致的吗?如何定位闪退的原因?

--------------------------------

关于为什么并行事件这么多:我用公共事件建立了一个物品合成系统,每个参与合成的物品的合成速度都有一个独立的计时

作者: q1456503215    时间: 2019-1-3 19:06
这种物品合成系统还不如直接开一个独立的窗口然后合成 步骤 菜单添加选项->跳转到合成系统界面
作者: 康姆图帕帕    时间: 2019-1-3 19:21
q1456503215 发表于 2019-1-3 19:06
这种物品合成系统还不如直接开一个独立的窗口然后合成 步骤 菜单添加选项->跳转到合成系统界面 ...

目前还没有找到可以不暂停游戏进程的合成脚本,本人技术不够也改不动js
大概只能优化事件了吧
作者: q1456503215    时间: 2019-1-3 19:26
康姆图帕帕 发表于 2019-1-3 19:21
目前还没有找到可以不暂停游戏进程的合成脚本,本人技术不够也改不动js
大概只能优化事件了吧 ...

要么你就找一个npc然后在里面做功能 我做了一个武器强化系统就是纯事件做的在一个npc里面 也不要并行了吧
一个npc只做这一个功能应该不算复杂
作者: 康姆图帕帕    时间: 2019-1-3 19:41
q1456503215 发表于 2019-1-3 19:26
要么你就找一个npc然后在里面做功能 我做了一个武器强化系统就是纯事件做的在一个npc里面 也不要并行了吧 ...

我明白你的意思,不过我做的系统很特殊,它是个真正的“系统”,带UI界面和按钮的那种,基本告别npc了...
我已经感受到拿MV做非RPG的各种局限性了,但多数都是逻辑上的问题,面对并行事件过多这种引擎天花板性质的,我掌握的知识不太好解决

作者: 康姆图帕帕    时间: 2019-1-3 20:56
问题找到了,还好,并不是由于并行事件过多导致游戏崩溃。

我将大部分的D_TextPicture的图片显示方式设置为并行,以此进行实时刷新。但DTP在这个过程中并不会释放该图片已经被占用的内存,结果相当于同一张图片被反复加载,我的内存占用像坐火箭一样往上涨,短短两分钟游戏就崩了

还好DTP提供了图片自行刷新的指令,现在正在修改所有用了DTP的并行公共事件

作者: yang1zhi    时间: 2019-1-3 21:27
建议学习脚本,为以后做打算




欢迎光临 Project1 (https://rpg.blue/) Powered by Discuz! X3.1