Alternate Current 是一种高效且非基于位置的红石粉实现方案。其核心目标是通过优化功率计算、减少发出的形状更新与方块更新次数,从而显著降低红石粉带来的卡顿。作为这些改进的附带效果,红石粉网络的方块更新顺序变得可预测且直观,不再像原版那样依赖位置且混乱无序。
性能表现
在使用 Alternate Current 后,红石粉对每刻毫秒数(MSPT)的贡献最多可降低至原版的三十分之一,同时仍保持与原版行为的高度一致。由于其代码改动极少,侵入性极低,因此可以轻松作为原版红石粉的即插即用替代方案。
如需了解 Alternate Current 各项改进的详细说明,请访问其 GitHub 页面。
为什么红石粉如此卡顿?
红石粉卡顿主要有两个原因:不必要的更新和不必要的计算。这两者均源于红石粉采用递归方式进行更新。一根红石线在最终稳定到正确功率值之前,可能会反复更新其功率等级多达六次以上;每次更新都会执行开销巨大的计算,并触发大量形状更新和方块更新。此外,其中许多形状更新和方块更新完全是冗余的。
Alternate Current 如何解决这些问题?
Alternate Current 通过在更新功率等级之前,先对整个红石网络进行统一的功率计算来解决上述问题。具体而言,每根红石线仅会从非红石组件处检查一次功率来源,并从其他红石线处检查两次功率来源。系统会识别网络内的所有功率源,并从这些源头向外传播功率。这种方式不仅提升了计算效率,也使更新顺序更加直观合理。只有当最终功率值确定后,才会发出形状更新和方块更新,且每根红石线都不会产生任何冗余更新。
资源外链
选择礼物
使用社区积分,为喜欢的作品送上一份支持
加载中...
打赏记录
感谢每一位送出礼物的社区成员
0 次支持0 积分
正在加载内容…


