找回密码
 点一下
查看: 645|回复: 1

关于增益行为造成卡顿的测试

[复制链接]
发表于 2022-4-9 15:43:18 | 显示全部楼层 |阅读模式
本帖最后由 Nostalie 于 2022-4-9 15:54 编辑

测试环境:自己的电脑 CPU是 5800X

基准测试
用作弊码speed behavioradd 进行测试
100 个 机枪兵 巡逻 添加一个简单增益(加一点生命上限)
16 倍速下 每个300层会掉到二十帧以下
8倍速则是 600层
4倍速是 1100层
2倍速 2200层
1倍速 则是2700层的时候 直接星际2崩溃报错,核心:常规对象创建错误 (此前并没有掉帧)
所以基本上就是游戏每个周期计算量 不能超过玩家电脑这个周期能算的。另外会设置一个上限(从上面结果看是270000)的问题

%75 这个层数就会有卡顿感。50%以下几乎体验不到。
不考虑上限问题以后的实验都在上述基础且8倍速下,只更换某些条件下测试

单位数量
换成200个机枪兵,则是每个300层降到20帧以下。400个机枪兵则是55层就降到20帧以下,换成50个是1300层 换成25个是2000层 换成10个是 4500层 换成5个是 8800层 2个是22000层 1个是44000层(这里我是同一次游戏测得如果)
总结:单位数超过一定限度的情况下。能够承受的总层数大大降低。单位数不多时。计算压力基本和总层数成正比。

增益行为内容
把行为简单的从加一点最大生命到改修正里面十几项默认值。然后其实差别并不大!还是再500-600时下降到20帧以下
啥都不干的行为 没有区别
伤害响应几率1 修改系数0.99:400层 几率1修改量值 600层总结:默认的增益行为和进行各种增益的消耗的计算量是差不多的。进行伤害修正的会消耗更多资源。

使用属性行为
同样条件即时达到限制50000都不会卡。
关于属性的上限.属性里的最大点上限是20亿但实际到达50万溢出,这还不是最糟的其实如果是有实际意义的属性6万5后行为修正不会正常作用。比如+1最大生命超过6万5之后生命值就会飘起来。

那属性行为的数量种类太多会不会造成卡顿?
并不会。至少我给马润加了20种属性行为。每种行为都叠到十万多也没见卡的趋势。十万应该够用了。
所以增益行为总层数导致卡其实并不是修正计算带来的。而是增益行为其他的功能。

总结:
尽量避免增益行为的滥用。控制增益行为的总层数。特别是你的图本身计算压力就很大。比如触发器运行频繁。单位多。
可以尝试用升级或者属性行为代替。







发表于 2022-4-19 14:55:43 | 显示全部楼层
非常感谢!
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-11-21 21:34 , Processed in 0.076151 second(s), 18 queries .

Powered by Discuz! X3.5

© 2001-2023 Discuz! Team.

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