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

Project1

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

[已经解决] 新人求教。关于事件内容过长会卡吗

[复制链接]

Lv1.梦旅人

梦石
0
星屑
55
在线时间
461 小时
注册时间
2014-7-23
帖子
232
跳转到指定楼层
1
发表于 2014-8-4 16:51:59 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式

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

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

x
一个事件的内容如果过长会导致游戏卡吗?

Lv3.寻梦者 (版主)

…あたしは天使なんかじゃないわ

梦石
0
星屑
2208
在线时间
4033 小时
注册时间
2010-10-4
帖子
10779

开拓者贵宾

2
发表于 2014-8-4 16:59:28 | 只看该作者
不会                        
回复 支持 反对

使用道具 举报

Lv2.观梦者

梦石
0
星屑
250
在线时间
233 小时
注册时间
2013-8-2
帖子
587
3
发表于 2014-8-4 17:27:59 | 只看该作者
不会,这不算水吧233 求认可答案求塞糖
我忘了,我要怎么遗忘。
回复 支持 反对

使用道具 举报

Lv5.捕梦者 (暗夜天使)

只有笨蛋才会看到

梦石
1
星屑
21484
在线时间
9389 小时
注册时间
2012-6-19
帖子
7114

开拓者短篇九导演组冠军

4
发表于 2014-8-4 17:36:25 | 只看该作者
@taroxd @千夙

理论上还是会卡的,我这边测试的时候,事件内容达到3000行时编辑器打开事件会卡,事件内容达到10000行的时候游戏执行事件的能够感觉到卡,事件内容达到6w行的时候编辑器打开事件直接失去响应,游戏中执行事件需要十秒以上…………


不过上面这些内容完全没用


只要你的事件不要长到在编辑器中打开时也会感觉到卡的地步的话,事件内容的长短对游戏是否卡的影响还比不上在地图上多放一个事件来的明显

点评

6w行!那游戏得有多大型阿,,  发表于 2014-8-4 17:49
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
48
在线时间
312 小时
注册时间
2014-2-28
帖子
914
5
发表于 2014-8-4 18:08:18 | 只看该作者
本帖最后由 冰之滄月 于 2014-8-4 18:12 编辑

执行一个事件是花费1帧的时间的。(按理来说等待除外)
然后条件分歧等等也是花费一帧
所以说LS喵呜喵5如果是真的的话(快来围观LS事件大触写60000行事件)
3000行,大约是3000帧,也就是50秒;
10000行,大约是10000帧,也就是166.6666666666……咳咳,咱们不用去管他行么我笔算无力
60000行,那就是60000帧……1000秒,16.6666666666……分钟,咳咳,同上。
也就是说LS喵呜喵5的事件算法简直作死,你见过一个需要执行16分钟多的坑爹代码么(╯‵□′)╯︵┻━┻
如果是并行处理那就更喜闻乐见了有木有(╯‵□′)╯︵┻━┻
综上所述,事件太多当然会卡一个可以执行16分钟多的坑爹代码足以压倒LS千千万的观点
PS:@喵呜喵5 如果用公共事件的话打开编辑器不会卡哦

点评

编辑器是指编辑事件……那里就一条指令执行公共事件XX 游戏是指测试游戏……哪里执行的就是整个公共事件的内容  发表于 2014-8-4 18:30
游戏里哪来的打开编辑器不会卡= =  发表于 2014-8-4 18:29
在编辑器的角度里,只是执行一个公共事件 游戏的角度里不一样……  发表于 2014-8-4 18:25
一个样,只是从编辑器载入对应的事件卡变成了编辑器载入对应的公共事件卡而已  发表于 2014-8-4 18:24

↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑
由于我不服H·H·Y大触事件满于是他让我的事件也调满于是我照着做了结果那货居然把事件调低了……结果我现在原稿找不回来了只好保持着事件满的状态在大家面前闹笑话擦擦擦擦擦擦擦擦擦擦擦擦擦擦擦擦
回复 支持 反对

使用道具 举报

Lv5.捕梦者 (暗夜天使)

只有笨蛋才会看到

梦石
1
星屑
21484
在线时间
9389 小时
注册时间
2012-6-19
帖子
7114

开拓者短篇九导演组冠军

6
发表于 2014-8-4 18:30:20 | 只看该作者
冰之滄月 发表于 2014-8-4 18:08
执行一个事件是花费1帧的时间的。(按理来说等待除外)
然后条件分歧等等也是花费一帧
所以说LS喵呜喵5如果 ...

谁没事吃饱了撑着写几千行事件啦,都是用脚本一键生成的
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
48
在线时间
312 小时
注册时间
2014-2-28
帖子
914
7
发表于 2014-8-4 18:33:19 | 只看该作者
@喵呜喵5
你的截图那样肯定会卡,可是我说的是这样

↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑
由于我不服H·H·Y大触事件满于是他让我的事件也调满于是我照着做了结果那货居然把事件调低了……结果我现在原稿找不回来了只好保持着事件满的状态在大家面前闹笑话擦擦擦擦擦擦擦擦擦擦擦擦擦擦擦擦
回复 支持 反对

使用道具 举报

Lv5.捕梦者 (暗夜天使)

只有笨蛋才会看到

梦石
1
星屑
21484
在线时间
9389 小时
注册时间
2012-6-19
帖子
7114

开拓者短篇九导演组冠军

8
发表于 2014-8-4 19:46:27 | 只看该作者
本帖最后由 喵呜喵5 于 2014-8-5 11:23 编辑
冰之滄月 发表于 2014-8-4 18:33
@喵呜喵5
你的截图那样肯定会卡,可是我说的是这样


没差,只要事件内容多了档案文件自然就会变大,load_data的时候自然就会卡

唯一的区别是地图事件在移动到对应地图时载入,公共事件在游戏开始运行时载入
因此地图事件在移动到对应地图时读取到对应事件的数据就会卡,公共事件在游戏开始时读取对应事件的数据就会卡
  1. def push_command(list,end_command)
  2.   60000.times {|i|
  3.     list.push(RPG::EventCommand.new(101,0,["",0,0,2]))
  4.     list.push(RPG::EventCommand.new(401,0,["#{i}"]))
  5.     p i
  6.   }
  7.   list.push(end_command)
  8. end

  9. event = load_data("Data/CommonEvents.rvdata2")
  10. end_command = event[1].list.pop
  11. list = event[1].list
  12. push_command(list,end_command)

  13. map = load_data("Data/Map001.rvdata2")
  14. list = map.events[1].pages[0].list
  15. end_command = list.pop
  16. push_command(list,end_command)

  17. save_data(map,"Data/Map001.rvdata2")
  18. save_data(event,"Data/CommonEvents.rvdata2")
  19. exit
复制代码
附上测试代码,有兴趣的话可以自己试试把第二行的6w改成100w

点评

你是太闲了吧…………  发表于 2014-8-5 08:30

评分

参与人数 2星屑 +132 收起 理由
taroxd + 66 你是太闲了吧
VIPArcher + 66 你是太闲了吧…………

查看全部评分

回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
155
在线时间
129 小时
注册时间
2014-2-22
帖子
233
9
发表于 2014-8-5 11:34:16 | 只看该作者
我补充一点,如果你不是放内存,加载图片到2000+你的机子离崩溃就不远了

点评

额,貌似我绕过去了,大概指的是updata吧,我忘记了。 我记得有做事件标题做到游戏文件崩溃的先例,就是图片太多然后看着内存慢慢上去3040到90  发表于 2014-8-5 11:38
和加载图片有啥关系?而且图片不就是放在内存里的吗?  发表于 2014-8-5 11:35
很多年了呢,坑还是没填完…………(草
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-9-25 21:18

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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