有没有人救救我,gm8是不是有内存上限啊
gamemaker吧
全部回复
仅看楼主
level 7
😅😅真的佛了,我导入的很多精灵都是那种6、7十多张的动图,大概导入了很多吧然后今天下午导入了一套动图后运行程序直接未响应了😅,不知道是不是内存爆了,后面我改成加载条一步一步导入音乐文件还是没用,我就怀疑是不是贴图占内存太大了,但是我把导入的贴图全删了也还是没用,后来我看了下删掉贴图后gmk内存压根没变化呀(依旧是100kb)莫非我导进了就出不来了?😅最后我还是想问一下,如果我贴图都改成用sprite_add从程序外导入到程序内还会内存爆掉吗,求你们了来个人救救我吧[泪]
2024年03月02日 14点03分 1
level 7
我去破案了,我把开头持续的实例obj_world的字体导入去掉就解决了,不是这玩意很占内存吗[喷]
2024年03月02日 14点03分 2
@它是小血球2 每帧加载一次活该卡死[汗]
2024年03月04日 03点03分
@渣渣114514 你看清楚了再发话行吗,这是创建事件[汗]
2024年03月04日 04点03分
@它是小血球2 我的错[泪]
2024年03月04日 10点03分
一些建议,这种规模的游戏可以用s2或者更高的版本做,自带中文支持就不用字体相关的插件了
2024年03月04日 10点03分
level 9
参考我的这个帖子:
1 gm8有内存上限,自动释放的过程很缓慢,如果你全部动画都在gmk里的话最后会卡死并闪退
2 如果你使用了小狐狸的中文绘制插件,他有制作内存保护,当你遇到1的情况时会报错access什么的
3 使用spriteadd可以解决该问题,但需要注意的是这只是缓兵之计,即把一次性全部导入的贴图变成了Spriteadd函数导入,当你全部add一遍之后和原来没有任何区别,所以需要内存管理系统,即当该贴图不用了之后使用release函数释放内存
4 导入这一行为如果写在步事件或者绘制事件(和步事件一样每帧执行)都会导致内存爆炸,因为这无异于重复了几万遍3中的add操作
5 我也在做类pvz游戏,也是贴图占用大量内存会爆炸,我的思路是全部贴图动画外载,当生成(比如豌豆射手)时,检测豌豆的贴图是否导入(很重要,不然种一个豌豆导入一次你只能释放最近那个)导入贴图,在退出关卡后释放全部资源(我是用了简单脚本,统一检测1 外部贴图是否等于一,即被导入了 2 如果是,释放该资源)
2024年03月03日 02点03分 3
好的好的,非常感谢[泪]
2024年03月03日 02点03分
其实我没搞明白我是先导入字体文件再导入所有音频文件,然后我试了一下,只导入字体文件会闪退,但是只导入音频文件不会闪退,这是为啥,难道字体文件比音频还大吗
2024年03月03日 03点03分
吧务
level 13
emmmmmmm,和咱看到、知道的内容有出入,有些可能不会直接导致内存达到上限,但好多东西累积到一起就不好说了:
0-截图显示源文件大小是100,349 KB,这叫100M而不是100K。
1-PVZ的大多是有限的几张基础图(拆件/被吃掉一部分),加上摇摆、缩放等方式做出动画效果,直接导入“那种6、7十多张的动图”本身就意味着用内存给偷懒买单。
2-GM8原生对中文的支持不理想,使用插件意味着要额外考虑插件本身和兼容性两个方面的风险。GMS2似乎是将需要使用的文字按字体、字号提取出图片,按sprite方式来管理,通常来说除了视觉小说、RPG之类会大量出现文本的地方之外,都可以考虑把字体载入优化掉。PVZ里似乎只有图鉴会用到,要不要考虑直接把图鉴文字卡片保存成图片?
2024年03月06日 08点03分 4
@它是小血球2 记得GM8好像有个地方说是会预计算sprite各种旋转角度下的贴图,如果是这样,内存占用确实会增大好几倍。老引擎确实有不少问题,换掉也合理。不过就算换了引擎,一些“引擎不会刻意优化”的地方还是要靠制作人,不然大概还是会遇到这样那样问题的吧。
2024年03月12日 01点03分
我打算换引擎了,终究还是退出gm8的圈子了[呵呵]
2024年03月06日 08点03分
@q糖豆p 感觉这个基本已经无解了,毕竟gm8又不支持骨架精灵我也不可能拼个动画出来,也就是说我想继续做下去就必须过内存这个坎,现在内存爆了用什么办法挽救都没用了,因为我肯定是想继续更新下去的
2024年03月06日 08点03分
@它是小血球2 现在只能不得不换个引擎去解决了。亏了这么好用的引擎,要是功能完善点内存多点就好了。
2024年03月06日 08点03分
level 4
确实会有内存上限,但是不至于100m就爆了吧
2024年05月07日 02点05分 5
level 8
GM8内存上限2G
GMS2内存上限就是你的电脑的空闲内存大小
2024年05月10日 12点05分 6
level 1
用GMS2 2.3解决此类问题[滑稽]
2024年06月11日 13点06分 7
解决了,还得是GMS,gm8谁啊不熟[呵呵]
2024年06月12日 01点06分
level 1
不会


2024年09月10日 07点09分 8
level 2
gm8有最大纹理大小限制
2024年10月10日 07点10分 9
1