新人开发1年半求助游戏优化问题
gamemaker吧
全部回复
仅看楼主
level 1
我的开发在一台4070的云电脑上,游戏在里面运行顺利,但在自己的老笔记本上会有卡顿,我把PNG优化成PNG-4,并且做了精灵图预加载,完成预加载后,游戏运行变得顺滑,但整体速度变得缓慢,对于这种小体量的2D游戏似乎不正常?似乎还需要做很多优化工作。[疑问]
有没有技巧能知道需要优化的是“精灵图”还是“代码”,以及有没有办法确定具体哪部分需要优化呢,如果比较方便讲,希望能得到点建议[委屈]
2025年05月15日 06点05分 1
level 1
放下包体供参考,目前开发进度不到一半,程序比较简陋
https://www.123912.com/s/UhWTjv-7qwH
主菜单:↑←↓→选择,空格确认
游戏内:WASD移动,JK攻击,UI技能,shift翻滚,长按F喝药
2025年05月15日 07点05分 5
level 12
要知道哪边要优化很简单啊,把精灵图全隐藏再看卡不卡就知道了吧[滑稽]
2025年05月15日 08点05分 6
吧务
level 13
老机器运行卡顿,不知道到底是多老,也不知道具体的硬件信息。建议从以下几个方向进行排查:
0、看看老机器是否具备独显;
1、老机器上打开任务管理器,观察CPU、GPU、内存等硬件的资源占用,看看运行这个游戏时是否在某一方面进行了高占用;//比如,可能是内存
2、在新机器上看一下,同一资源的实际占用是多少,除了硬盘读写队列没有太大参考意义之外,其他的应该都可以;//比如,可能一下占用了1.5G的内存/显存
3、看一下老机器上这部分的总量是多少;//比如可能一共4G内存,系统启动完就占掉了3G
4、从已有画面来看,可能游戏使用了较多的图片素材,如果是这部分的占用大,且上面那些“比如”刚好一致,可以考虑对应的资源释放,就是将暂时不用是sprite先从内存里清除掉以空出一些空间,这个功能好像是整张texture page一起释放的,所以需要打包texture page时也进行对应的规划。
另外,这个帖需要“开发进度”或者“作品发布”分类的加精吗
2025年05月15日 08点05分 7
level 9
代码一般不至于会卡,开任务管理器看看啥时候内存突然飙升下不去了,可能存在资源释放的问题
2025年05月15日 08点05分 8
level 1
感谢大佬的解答,我确实发现GPU被占满了,我做了纹理相关的优化,也优化了部分代码。但结果仍然不乐观。
现在游戏启动后,内存、CPU和GPU似乎都没有高占用?但游戏的fps仍然在较低的35左右,fps_real在40-50徘徊。
而在开发游戏的计算机上,fps为75(与设置的room_speed一致),fps_real在800-900徘徊。
以下是老计算机中,游戏运行前后的数据对比。以及两台计算机的配置对比
2025年05月21日 21点05分 15
吧务
level 13
首先是老机器可能已经出现了降频的情况。虽说没看到CPU型号,不过和1650同时代的话不至于主频锁在0.79G,且CPU占用始终在33%以下。这个不在GMS2能管到的范围内,甚至可能不是软件问题。比如电源管理设置为低功耗模式,甚至是散热老化为给CPU控温所以降频这种可能性。
-----------------------------
如果要针对这台机器进行优化,其实是建议把开发环境放上去的,在debug模式里可以记录不同函数的调用次数、占用时间:
不同设备环境下,时间和占比可能会有所差异,不过次数统计还是可以参考的。
2025年05月22日 01点05分 16
1