赞 | 95 |
VIP | 77 |
好人卡 | 113 |
积分 | 69 |
经验 | 147345 |
最后登录 | 2024-9-22 |
在线时间 | 7028 小时 |
Lv4.逐梦者 (版主)
- 梦石
- 0
- 星屑
- 6901
- 在线时间
- 7028 小时
- 注册时间
- 2013-11-2
- 帖子
- 1344
|
本帖最后由 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
|
评分
-
查看全部评分
|