reobf / Programmable-Hatches-Mod

An addon for GTNH modpack(2.5.1+)
MIT License
83 stars 3 forks source link

数量维持总线在主网存在大量物品时可能有严重的性能问题 #140

Closed Armelia-William closed 2 months ago

Armelia-William commented 2 months ago

在细菌培养缸区域使用了约30个数量维持总线来维持输出仓和放射仓,在数量维持总线接入主网时,TPS为5-6, 当逐步拆除数量维持总线 TPS从5逐渐增长回20,用子网访问ME(流体)存储代理则TPS正常。 想问一下这个问题是不是设计特性,如果是建议在数量维持总线的Tips上备注建议使用存储代理, 因为Opis和laggoggles都不能找到影响延迟的Entity,二分法真的排查了好久。 https://spark.lucko.me/YailWT1wom QQ截图20250107155221 QQ截图20250107155310 QQ截图20250107162501 QQ截图20250107162508

reobf commented 2 months ago

先不要插合成卡 应该能解决问题 我看看能不能优化 为什么不用下单器来做数量维持? 是因为 下单器有bug所以拿这个做平替吗

Armelia-William commented 2 months ago

先不要插合成卡 应该能解决问题 我看看能不能优化 为什么不用下单器来做数量维持? 是因为 下单器有bug所以拿这个做平替吗

没插合成卡,细菌培养缸输出仓没法用下单器维持半满吧,放射仓倒是可以用ME接口标记 现在数量维持总线我觉得比较好用的地方就在细菌培养缸和四级水了

reobf commented 2 months ago

右下角那个槽 插合成卡就能 自动下单补齐缺失的物品 性能问题出在 自动下单太频繁 确定没有插卡吗

reobf commented 2 months ago

我看spark报告 应该有一些维持总线下的单 甚至成功提交到cpu了

reobf commented 2 months ago

子网不卡是因为 子网没cpu或者访问不到样板 导致合成计算快速结束 没有消耗太多时间

reobf commented 2 months ago

$S550MT20HP)~0ME%IS6%1M 这里有没有插卡 如果插卡性能确实有问题 但是如果没插 却仍然自动下单 太诡异了 是否能提供能复现卡顿的存档文件?

Armelia-William commented 2 months ago

子网不卡是因为 子网没cpu或者访问不到样板 导致合成计算快速结束 没有消耗太多时间

刚才恢复存档看了一下,确实有4个插了卡,我自己都忘了我生物细胞插了卡...

reobf commented 2 months ago

好吧 那下个版本修复卡顿问题

Armelia-William commented 2 months ago

子网不卡是因为 子网没cpu或者访问不到样板 导致合成计算快速结束 没有消耗太多时间 不过有一点蛮奇怪的,如果是 自动下单太频繁,插了合成卡,子网访问大量主网物品一样会卡,但是通过代理过滤掉就不会卡 但是子网里面既没有样板也没有CPU

Armelia-William commented 2 months ago

好吧 那下个版本修复卡顿问题

而且我记得以前似乎是没有这个问题的,可能以前AE网络里物品数量没那么多,但最近虚采处理了大量矿物 AE物品爆了,突然就开始卡了,不太清楚为什么。

reobf commented 2 months ago

因为合成计算的第一步就是 把网络所有可用物品做一个copy 如果能访问物品类型超多 在这一步就会消耗性能 如果过滤了特定几种物品 那么这一步负担就会小很多

Armelia-William commented 2 months ago

因为合成计算的第一步就是 把网络所有可用物品做一个copy 如果能访问物品类型超多 在这一步就会消耗性能 如果过滤了特定几种物品 那么这一步负担就会小很多

原来是这样

reobf commented 2 months ago

存储代理这东西 (如果你说的是我mod里面那个) 27x有读取过滤了 存在意义不是很大了

reobf commented 2 months ago

我这东西问题在于 计算失败(缺物品)时 没做限速 下一tick直接重试 ae2fc那个下单器有冷却时间 所以不会特别卡

reobf commented 2 months ago

https://github.com/reobf/Programmable-Hatches-Mod/releases/tag/v0.1.1p6-beta