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

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

Doremy 于 2020-8-8 16:11 ( 3年前 ) [讨论] [复制链接] [显示全部楼层] [打印]
(注意:1本贴仅仅讨论AE2作为管道系统的能力;   2无关的吹捧毫无理由的回复都会给予警告,不要出现。)
相较于AE2的物流系统,大部分玩家更加喜欢其它名字里有“管道”“导管”之类字眼的物流系统。但是AE2的系统有不少时候也有很多优势。
我先提出几个它的劣势对其它玩家不愿意使用AE2的原因作为猜想:1、要电。管道明明可以不用电的,非要加一个能源接收器然后拉一根电线过来也是够烦的。除非像我家里AE2的线遍布了整个基地。
2、隔开线缆需要线缆矛。而热动力学扳手即可解决,EIO甚至不需要隔开线缆直接设置频道就行。
3、不熟悉。要把AE2当作管道,学会用存储总线是必须的。但是很大一部分玩家甚至不知道存储总线这个物品。
4、频道。要解决有两种方案,1是建立子网络存储结构,2是放控制器


如何使用AE2作为管道系统?
1、将输入总线对着要被抽取的容器,存储总线对着接受物品的容器。
2、给它们提供电力支持,并保证频道足够
3、如果需要标记物品,在存储总线上标记即可。

为何不用存储总线对着要被抽取的容器再用输出总线对着目标容器?
    标记格太少。而且一定要标记物品了。

那么用AE2作为管道系统有什么优势?
1、举例:自动筛子/刷怪塔的箱子
这些容器他们都会不断地向存储系统的第一格释放新的物品。使用一般的物流系统会导致不断尝试抽取物品数量较少第一格,容易导致后面的物品无法被抽走,浪费物流系统的实际效率,后面格子的物品越积越多最后溢出。
使用输入总线,一次更新会抽1个物品。显然太慢。但是插入一个加速卡就是8个,两个就是32个,三张卡就是64个,4张就是96个。无视是否是同一组内的物品,即使是96个水桶也能一次更新抽走。瞬间到达终点。
AE2更新是动态的。当不使用时更新速度降低。频繁使用时更新速度增加,输入总线最快5tick。

2、巨大数量的标记
有的情况会使得需求的标记很多。使用EIO自然可能解决,但是不是很方便吧。存储总线内部可以标记18~54个物品,也和其它模组一样可以设置模糊匹配和黑白名单。

3、速度
先前提到了输入总线的速度极快,可以一秒392个物品,无视种类。
其实在堆数量之前还可以更快。(MC最速传说)
   1)建立两个网络,网络A存储总线对着所有目标存储容器,网络B存储总线对着所有要被抽取的容器。给两个网络接上ME-IO端口。
   2)放入几个存储元件在ME-IO端口里。、
   3)A的端口设置为“元件->网络”“元件空则结束”,插满加速卡
   4)B的端口设置为“网络->元件”“操作完毕则结束”,插满加速卡
最大速度是4096物品/tick,也就是80000+物品/s。
所以不要质疑速度(


发表于 2020-8-8 16:11:44 | 显示全部楼层 |阅读模式

回复 | 举报

该帖共收到 9 条回复!
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,暂时的问题就是未能准确把握它的特性。
以下内容均基于实验结果。

无标题1827.png

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

对于能够堆叠的物品,每一个都“随机”地选择目标箱子。
比如放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 | 显示全部楼层

回复 | 举报

Doremy
craftkuro 发表于 2020-8-8 18:40
物品P2P,暂时的问题就是未能准确把握它的特性。
以下内容均基于实验结果。

你需要加速卡……
发表于 2020-8-8 19:46:11 | 显示全部楼层

回复 | 举报

Doremy
物品P2P辞条:

物品分配:
有n个被动端,从主动端来了k>=n个物品,在所有被动端容量都足够时:
此处up(x)表对x向上取整,如up(1.1)=2,up(2.5),=3up(1)=1
有n-1个被动端收到了up(k/n)个物品,而剩下一个则收到了k-(n-1)up(k/n)个物品
发表于 2020-8-8 19:47:40 | 显示全部楼层

回复 | 举报

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 | 显示全部楼层

回复 | 举报

桔月
我一般都是用RS的输入输出总线,因为有网络变送接收器。AE主要就是接线超级麻烦的。并且自身无法自动化
发表于 2020-8-9 13:54:36 | 显示全部楼层

回复 | 举报

Doremy
QQ酱25947 发表于 2020-8-9 13:54
我一般都是用RS的输入输出总线,因为有网络变送接收器。AE主要就是接线超级麻烦的。并且自身无法自动化 ...

AE2有量子环啊……
RS只是把AE2的贵的麻烦的物品简易化了,也就是降低了难度。所以不能这么比。
接线也不麻烦啊……
发表于 2020-8-9 15:04:39 | 显示全部楼层

回复 | 举报

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

本版积分规则

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

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

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