设为首页收藏本站|繁體中文

Project1

 找回密码
 注册会员
搜索
查看: 6444|回复: 3
打印 上一主题 下一主题

[已经解决] 关于游戏越来越卡顿的问题(已解决)

[复制链接]

Lv1.梦旅人

梦石
0
星屑
109
在线时间
65 小时
注册时间
2012-9-28
帖子
99
跳转到指定楼层
1
发表于 2018-6-21 17:35:33 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

加入我们,或者,欢迎回来。

您需要 登录 才可以下载或查看,没有帐号?注册会员

x
本帖最后由 kittyblain 于 2018-6-22 00:02 编辑

事件党一个,还做的是动作射击类的游戏,游戏做了几年,各种公共事件普通事件已经很多很多了,导致
游戏运行起来越来越慢,不知道有没有什么方法可以解决一下呢?

是不是某些执行内容特别容易让游戏卡顿?比如频繁更换角色的行走图,或者频繁的等待几秒之类?

Lv4.逐梦者 (版主)

梦石
0
星屑
6901
在线时间
7028 小时
注册时间
2013-11-2
帖子
1344

开拓者剧作品鉴家

2
发表于 2018-6-21 20:10:50 | 只看该作者
本帖最后由 RaidenInfinity 于 2018-6-21 21:54 编辑

更换行走图和等待并不是造成卡顿的原因。
基于事件的动作射击类游戏,并行事件用得很多,对吧?

造成卡顿的主要问题在于并行事件(不管是公共还是地图上的)。它的存在对游戏的运行来说是一个累赘。
(这也是为啥能用脚本就用脚本,不会脚本也得学脚本,尽量避免万恶的并行事件)
为什么呢?事件指令都是由一个“解释器”来处理的。地图里内置了一个主要的解释器,主要是处理当前触发中的事件(自动,碰撞,按确定键等)。
一个解释器同时只能处理一个事件。并行事件之所以叫并行就是要同时运行多个事件的指令。那要怎么办?一个并行事件一个解释器呗。
20个并行事件就20个解释器。多起来这就卡了。当然,再深入的原因是有的,就怕看不懂。

第二个造成卡顿的问题,就是同一地图上的事件数量过多,虽然不太明显。为什么呢?
每个事件的每一页,每帧(一秒有60帧,也就是16.67微秒。如果游戏无法在一帧内完成逻辑判定和绘制操作,就会出现肉眼可见的卡顿)都会有一次判定(直到找到适合的页面为止)。20个事件,每个4页的话,(最多)就80次了。如果是并行的话,噢,那会更糟。

所以解决方法是什么?
一,就是少用并行事件也少在地图里放事件。虽然貌似对于已经在制作后期的游戏来说很困难,但这是没办法的事情。
二,你可以尝试使用“防卡脚本”。这类脚本插件的主要功能是“冻结”屏幕外的事件。但是如果同一画面中很多事件,那可能会帮不了多少。
Theo - 终极防止卡顿 https://rpg.blue/forum.php?mod=viewthread&tid=405900
MOG - 防止事件卡顿 https://rpg.blue/forum.php?mod=viewthread&tid=404764

评分

参与人数 2+2 收起 理由
kittyblain + 1 谢谢谢谢!
超级D梦 + 1 认可答案

查看全部评分

回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
109
在线时间
65 小时
注册时间
2012-9-28
帖子
99
3
 楼主| 发表于 2018-6-21 23:07:59 | 只看该作者
RaidenInfinity 发表于 2018-6-21 20:10
更换行走图和等待并不是造成卡顿的原因。
基于事件的动作射击类游戏,并行事件用得很多,对吧?

一个事件里有一个解释器,那么是不是可以通过把大量功能尽量放到一个事件页里来运行来减少事件总数量
来减轻运算压力呢?能用一个事件就不要分成两个?

点评

可以这么说。不过,优化策略还是有一个极限的。你可以尝试一下,看能不能缓解卡顿的状况。  发表于 2018-6-21 23:15
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

拿上你的纸笔,建造一个属于你的梦想世界,加入吧。
 注册会员
找回密码

站长信箱:[email protected]|手机版|小黑屋|无图版|Project1游戏制作

GMT+8, 2024-11-17 05:55

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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