找回密码
 点一下
查看: 1416|回复: 15

为什么我做的地图玩完以后退出游戏需要很长时间?

[复制链接]
发表于 2009-11-19 01:31:50 | 显示全部楼层 |阅读模式
  自己做了个对战地图,在运行过程中不卡,但是玩的时间长了后退出游戏时会非常慢,求解决办法~~
发表于 2009-11-19 08:50:14 | 显示全部楼层
电脑配置问题或者地图排污严重
回复

使用道具 举报

发表于 2009-11-19 09:16:06 | 显示全部楼层
应该还是排泄问题吧
回复

使用道具 举报

 楼主| 发表于 2009-11-19 16:38:33 | 显示全部楼层
但是我基本用T做的技能都做了排泄啊,而且这些技能使用多次以后游戏也不会变卡,主要是退出游戏时非常慢,TAB出去看WAR3内存有时达到600000+KB……
回复

使用道具 举报

 楼主| 发表于 2009-11-19 17:05:48 | 显示全部楼层
[trigger]
fengbaozhichui
    事件
        单位 - 任意单位 发动技能效果
    环境
        (施放技能) 等于 风暴之锤
    动作
        设置 gongyong_d[0] = ((触发单位) 的位置)
        设置 gongyong_d[1] = ((技能施放目标) 的位置)
        设置 gongyong_dwz[2] = (半径为 375.00 圆心为 gongyong_d[1] 且满足 ((((匹配单位) 是 ((触发单位) 的所有者) 的敌对单位) 等于 TRUE) and ((匹配单位) 不等于 (技能施放目标))) 的所有单位)
        单位组 - 选取 gongyong_dwz[2] 内所有单位做动作
            Loop - 动作
                单位 - 创建 1 个 群体技马甲 给 ((触发单位) 的所有者) 在 gongyong_d[0] ,面向角度为 默认建筑朝向 度
                单位 - 设置 1.00 秒 水元素 类型的生命周期对 最后创建的单位 [R]
                单位 - 为 最后创建的单位 [R] 添加 风暴之锤 (辅助)
                单位 - 设置 最后创建的单位 [R] 的 风暴之锤 (辅助) 等级为 ((触发单位) 的 风暴之锤 技能等级)
                单位 - 对 最后创建的单位 [R] 发布 人族山丘之王 - 风暴之锤 命令到目标: (选取单位)
        点 - 清除 gongyong_d[0]
        点 - 清除 gongyong_d[1]
        单位组 - 清空 gongyong_dwz[2] 内所有单位
        单位组 - 删除 gongyong_dwz[2]
[/trigger]

  这是我地图里最常用的T了,这样排泄有什么问题?
回复

使用道具 举报

发表于 2009-11-19 17:50:14 | 显示全部楼层
如果单个触发器没有排泄的失误的话,可能是全局变量被覆盖或者触发器之间的联合作用?
回复

使用道具 举报

 楼主| 发表于 2009-11-19 18:13:29 | 显示全部楼层
全局变量被覆盖是什么情况?上面触发的变量算全局变量吗?
回复

使用道具 举报

发表于 2009-11-19 18:55:21 | 显示全部楼层
只要是触发编辑器使用的变量都是全局变量。
局部变量时jass里头才有的。
至于覆盖的情况嘛……
比如你在触发器1里创建了一个马甲(当然可能是别的东西),用变量a[0]记录它。
然后这个触发器1等待了1秒。
在这1秒中,另一个触发器2也创建了一个马甲,也用变量a[0]记录它。
这时候之前创建的马甲就被覆盖了。
之后触发器1和触发器2删除单位都是之后的马甲。
之前的马甲就是泄露了。
回复

使用道具 举报

 楼主| 发表于 2009-11-19 19:06:44 | 显示全部楼层
我的群体技能中变量都是用gongyong_dwz这些数组变量做的,只不过后面的索引会不同,也不会用到等待,这样应该不会造成泄漏吧?
回复

使用道具 举报

发表于 2009-11-19 19:08:29 | 显示全部楼层
应该是。
但是看LZ说的War3的内存占用情况。
我还是严重怀疑LZ某些地方有很大的泄露。
一般是触发器有问题。
当然别的一些东西也可能导致内存泄露。
比如无限循环的衍生九头蛇。
回复

使用道具 举报

发表于 2009-11-19 19:45:47 | 显示全部楼层
单位组清空就可以了
用不着删除
回复

使用道具 举报

发表于 2009-11-19 19:53:07 | 显示全部楼层
ls说的不正确吧……最好还是删除掉,因为每次赋值都是创建一个赋给它的
回复

使用道具 举报

发表于 2009-11-22 11:30:55 | 显示全部楼层
要么考虑 T和T之间的联合作用 造成的影响

要么就是中病毒了。。。
回复

使用道具 举报

发表于 2009-12-7 02:57:08 | 显示全部楼层
不一定是技能的T有排泄问题.  一般说的排泄就是没有删除干净.

会不会玩家胜利条件那部分T有些没设计好, 导致同一时间内运行多次的地方.
LZ可以再仔细检测看看.    有些图可能在玩家胜利失败和玩家退出游戏这部分有冲突.
回复

使用道具 举报

发表于 2009-12-10 22:53:16 | 显示全部楼层
怎么说呢,如果你经常看一些技能演示,或者经常测试一些东西,你就会发现,某些时候退出的速度慢得够呛,为什么?最大的可能就是排泄问题!关于排泄,可能没有哪一位敢说自己是权威,个人认为凡是赋值的变量都应该及时的清空或者删除,某些需要多次使用的变量建议用全局变量(别误会,我说的全局变量是这个变量一直就某个东东,比如某个点,某个单位或者单位组,仅赋值一次,以后就不用重复赋值了)。
话说,技能的泄露是最恐怖的,某些华丽的技能可能只需释放几次就可以明显感觉到游戏速度慢了。但是,这个技能就一定能卡机?不一定吧,关键还是排泄。
哎,总归还是个变量问题,反正用了过后不需要再用的变量就删了吧。某些地方是要用变量记住,然后才能有效删除的,比如点啊,特效啊。
回复

使用道具 举报

发表于 2009-12-11 21:29:59 | 显示全部楼层
真不行把地图发上来吧~~
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 点一下

本版积分规则

Archiver|移动端|小黑屋|地精研究院

GMT+8, 2024-11-26 01:28 , Processed in 0.033246 second(s), 18 queries .

Powered by Discuz! X3.5

© 2001-2023 Discuz! Team.

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