天工维度魔兽争霸开发者社区-全国最大的TJ集中营-原提百万联盟
标题:
触发器排泄讲解【一】
[打印本页]
作者:
闲云清枫
时间:
2018-11-12 02:55
标题:
触发器排泄讲解【一】
1.1基础概念
创建出东西就会占内存空间。
创建出的东西没用了还占着地方就变成了泄漏。
排泄就是随时将已经用不到的东西清理掉,以保证游戏畅通。
触发例子:
事件
时间 - 每 1.00 秒触发事件
条件
动作
//shuabingqu=刷兵区
单位 - 创建 1 个 步兵 给 玩家12(棕色) 在 (shuabingqu <预设> 的中心点) ,面向角度为 默认建筑朝向 度
这只是个普通的刷兵触发。。。但。。。
单位 - 创建 1 个 步兵 给 玩家12(棕色) 在 (shuabingqu <预设> 的中心点) ,面向角度为 默认建筑朝向 度[/quote]
这个动作是创建单位在点,想创建单位必需有一个点以供创建,而不能直接给系统XX区域的中心,所以在运行到(shuabingqu <预设> 的中心)的时候系统会自动创建一个点以供其刷兵,这条动作可以分段理解成:
点 - 创建一个点在(shuabingqu <预设> 的中心)
单位 - 创建 1 个 步兵 给 玩家12(棕色) 在 (最后创建的点) ,面向角度为 默认建筑朝向 度
步兵正常的出来了,但系统自己创建的临时用点却没有被清除,它将会一直存于内存里什么也不干却白白占用内存空间。一张图里单位多了会卡,点也是一样,相对于单位,点的泄漏较小但更为隐蔽。而每次有新的东西建立,内存就需要分个空间来储存。不止是点,单位组,特效等很多东西都会在游戏中不知不觉的堆积。
可以看到我在 步兵 这里也标了红色,因为这个单位也是新创建的东西,他也占用了内存,但他不能算作泄漏,因为我们是需要这个单位的,没了这些单位游戏还怎么玩啊~泄漏是针对于无用的东西的,像上面的点,游戏需要的东西占用内存自然是天经地义。
而将泄漏置之不理将会空占内存,使电脑寻址困难,影响运算速度,游戏速度越来越慢(卡),影响玩家游戏进程,游戏结束后还需要占用玩家大量时间由电脑自行排除泄漏。
或许大家会觉得泄漏并不是什么值得一提的事,自己什么也没处理的地图在测试时跑了3、40分钟依然流畅的很,的确现在的机器不需要我们很精细的死抠内存了,但你可能也会注意到在弹出计分屏时的廷迟,而且还要考虑到联机情形,更何况WE本身就是一种很好的娱乐不是么^ ^
一般来说,动作下方的注释里对动作是否可能泄漏有提醒:会创建XXX,如果不确定是否泄漏可以参照查看下。
此外,加了R字头的原有动作一般能直达动作核心,提高效率简化操作,两个一样效果的动作最好养成使用[R]标识的习惯哦~
作者:
gandi2019
时间:
2020-1-28 11:19
感谢分享,学到了
作者:
shaoge168
时间:
2021-12-20 13:16
很详细,新人必看
欢迎光临 天工维度魔兽争霸开发者社区-全国最大的TJ集中营-原提百万联盟 (http://bbs.mvprpg.com/)
Powered by Discuz! X3.4