= 创作分享 =
技术讨论
为何不使用AE2制作管道系统呢?
Doremy

为何不使用AE2制作管道系统呢?

Doremy 于 2020-8-8 16:11 ( 3年前 ) 发表在 [讨论] 分类。 [复制链接] [显示全部楼层] [打印]
1877 2
craftkuro
本帖最后由 craftkuro 于 2020-8-8 17:09 编辑

完全可以。AE可以做有相当灵活性的“管道”。
输入、输出、路由兼备,高吞吐低延迟(但输出输出总线的延迟不低),无视物理结构。是管道中的豪杰

目前只有通用的物品均匀分发不好用AE来做(指不标记物品类型,若可以标记物品类型,并且下游支持自动输入,那么用ME接口的效果非常好),物品p2p非常tricky。

点评

物品P2P怎么了(?  发表于 2020-8-8 18:16
发表于 2020-8-8 16:49:08 | 显示全部楼层

回复 | 举报

craftkuro
本帖最后由 craftkuro 于 2020-8-8 18:48 编辑

物品P2P,暂时的问题就是未能准确把握它的特性。
以下内容均基于实验结果。



情景一:一个漏斗的输出端直接对着这个“输入端”

对于能够堆叠的物品,每一个都“随机”地选择目标箱子。
比如放1组石头在漏斗里,4个箱子分别出现了19, 31, 9, 5个石头。

这个是如此随机我完全看不出来规律。但有一点很确定,它的分配实在太不均匀了。

不能堆叠的物品呢?
如果在漏斗里放入水桶,那么每一个水桶都会重新随机选择箱子。在这个例子中,和不可堆叠物品的行为类似。



情景二:EIO管道从一个箱子里抽取物品送进这个“输入端”
没有安装任何管道速度升级或降级。

对于能够堆叠的物品,物品P2P以“物品组”为单位来随机平均分配。
如果在漏斗上放入两组石头,那么第1物品会随机进入一个箱子,第2物品还会进入刚才那个箱子,第64个物品还是。

第65个物品随机选下一个箱子,可能还是刚才那个。第66个物品进入第65个物品所在的箱子。
最终只有1或2个箱子里会被分配到物品。


要想让物品均匀分配,这个表现实在不理想。

对于不能堆叠的物品,这次表现和漏斗一样,4个箱子分别分配到了0,3,1,1个水桶。

如果安装了导管速度降级,那么表现和刚才一样。可堆叠的按物品组分配,不可堆叠的按物品分配(因不可堆叠,也可理解为物品组)

升级没试,感觉应该一样



这里令人迷惑的就是为什么漏斗投放和eio管道投放的表现差异如此之大

P2P一样有个优势就是无限吞吐量。不过在部分场合下(比如TE的管道),可能会导致管道的延迟跟预期不一样
总之如果能够利用好,一样会有无限潜能。可是不能彻底理解的东西,谈何有效利用?


发表于 2020-8-8 18:40:51 | 显示全部楼层

回复 | 举报

craftkuro
本帖最后由 craftkuro 于 2020-8-8 22:47 编辑

刚才重做了一下实验
流体倒是分配得很精准……2000mB→4个500mB

不过因为算法中平分蛋糕然后剩下丢给最后一名的问题,是否分得精准还与每次(在这个情景下应该是每tick)输入的量有关。
其他次的实验结果也是前3个稍多一点,最后一个少一点,也大致符合你所说的计算方法。

但是物品P2P的实验结果仍然与所说计算方法完全无法联系起来。

我又用存储总线(最快的方法了)丢了19组石头进去
4个箱子分别有64,192,256,704(分别对应1,3,4,11组)
然后又挂机把这19组石头用漏斗一个个漏了一遍
结果是134,144,308,630

实在想不出来为什么

翻源码也没找到相关内容(我基本上看不懂)
-------------

关于输入输出总线和加速卡

加满了加速卡确实很快,但不能否认的是,闲置一段时间后再启动时,它们两次工作的间隔时间实在太长了。这就是我说的延迟高。


点评

物品P2P我重新做了一下实验,好像的确有问题……但是上次好像是平分的……灵异事件 输入输出总线是动态更新的,用得越多,更新越快。  发表于 2020-8-9 08:53
发表于 2020-8-8 21:07:59 | 显示全部楼层

回复 | 举报

百科目前不允许匿名发帖哦~ 请先 [ 登陆 ][ 注册 ] 吧~

本版积分规则

发新帖
  • 回复
  • 点评
  • 评分

[ MC百科(mcmod.cn) 除另有声明,所有开放公共编辑的内容均使用 BY-NC-SA 3.0 协议 ]

Minecraft百科CC协议
快速回复 返回顶部 返回列表