启动延迟理论

**启动延迟理论**是一种较为简单的分析电路延迟的理论，最早由Defanive提出。

内容
--

启动延迟理论经过玩家们的刻苦研究，已经得到完善。用现在的话描述，启动延迟理论可以表述为：

活塞拥有2gt（1rt）的推出延迟。同步性的输入方式（如拉杆、压力板、活塞正常推方块激活等）会给活塞附加一个1gt（0.5rt）的启动延迟，在启动延迟中，活塞不作任何响应，直到1gt启动延迟过去后，活塞才开始推出，此时活塞的总延迟为3gt（1.5rt）。非同步的输入方式（如中继器、比较器、活塞瞬推等）则不会附加这一启动延迟，活塞直接开始推出。

### 同步性

在启动延迟理论中，信号的**同步性**按照以下方式定义：

* 会给活塞附加启动延迟的信号是**同步信号**。
* 不会给活塞附加启动延迟的信号是**非同步信号**。

在启动延迟理论中，同步性的概念吸收了即时更新理论的同步性概念的内容。

应用
--

启动延迟理论十分常用，如今若没有特殊需求，分析含活塞的电路一般都会使用启动延迟理论。

## 发展历史

### 启动延迟思想诞生的背景

在红石电路诞生初期，玩家就有了对延迟计时的需求。但是在基础理论不发达的当时，玩家只能做到了解红石中继器的4档延迟分别是1-4rt，对刻的理解还停留在10rt=1s的水平上，如果电路中存在活塞，那么这个电路就没有办法被计算延迟了。在这种不健全的发展状态下，红石电路却仍然在发展中，等到Defanive发表了无延迟电路后，甚至都没有一个人能解释，为什么在一长串无延迟电路中，只有第一个活塞有着0.5rt的延迟。这种矛盾推动着事物发展，Defanive开始给出了他对活塞启动延迟的设想，而这最晚不超过2013年7月。

以下是Defanive对活塞具有与众不同的可变延迟的思想：

活塞拥有2rt的延迟，其中0.5rt为启动延迟。当活塞被拉杆、压力板等元件激活时，方块被瞬间变为36号方块，但要等启动延迟经过后才能开始推出。当拉杆被中继器、比较器等原件激活时，方块也瞬间变为36号方块，但没有启动延迟，直接开始推出，此时活塞的延迟只有1.5rt。有无活塞启动延迟，是由游戏内的一个变量决定的，而所有的活塞都共享这一变量，因此只要有一个活塞的启动延迟被取消，全部的启动延迟都被取消。

据Defanive本人所说，这一思想的诞生，远在2014年6月之前。

### 启动延迟理论的完善

启动延迟的思想被提出后，玩家对其真实性产生了怀疑。2014年6月，凤合草酸泥煤用实验证明了启动延迟的可行性，在讨论当中，启动延迟理论得到完善。

2014年11月，彭哥·一世系统化、理论化地整理了启动延迟理论，并作为教程发布。文章中使用了投掷器投掷物品作为两线路比较先后激活顺序的方式，用浅显易懂的方式证明了启动延迟理论的数个结论。同时，正正正正正好发布了基于中继器D锁存器功能的精密时序比较器，这一时序比较器能够分辨精度为0.5rt的先后时序。同时也给出了中继器优先级大于比较器的结论，以及红石线直接相连的两个元件没有办法判断谁先激活的结论。

到目前为止，启动延迟理论得到完善，成为了能够真正解决问题的工具。

### 对启动延迟理论的质疑

启动延迟理论得到完善并作为解释实现现象的正统思想得到了很多人的支持，但是却很少有人意识到，在这看似平静的水面下，一股暗流正在涌动，它正在积蓄着力量，企图彻底摧毁现有的延迟体系。

首先，是对Defanive的思想中，“一个活塞的启动延迟被取消，全部的活塞的启动延迟被取消”的质疑。实验证明，即使在每个游戏刻中都有无启动延迟的活塞伸出收回，如果一个活塞没有和它们在同一个电路中，仍然会具有启动延迟。这意味着Defanive的“全世界的活塞共享一个变量”的说法是不成立的。

其次，是对启动延迟理论中，“活塞在接到信号的一瞬间将方块变为36号方块”的质疑。有的实验疑似表明，活塞并非在接到信号的一瞬间将方块变为36号方块，但更多的实验表明，活塞在接到信号的一瞬间将方块变为36号方块。

接着，是对“同一条红石线上有元件先启动”的质疑，这一要求的实现十分复杂而且没有太大的实际意义，编写游戏的程序员不太可能为了实现这样一个奇怪的目标而浪费大段的时间。这一思路启发人们，启动延迟理论仍然披着一层朦胧的面纱，只有揭开这一层谜团，才能看清延迟运行的本质，而这个本质一定是简单的。

但是人们并没有意识到这一点，而且，随着实验证据的不断增多，启动延迟理论出现了越来越多的问题。

2014年12月，在“什么样的情况下活塞启动延迟被取消”这一问题的指引下，人们开始尝试继续完善启动延迟理论，而后来的结果证明，这并没有起到太大的推动作用。

2015年1月，在短脉冲的研究下，人们发现启动延迟理论认为脉冲长度相同的两种脉冲会有不同的行为，这也暗示了电路在微观层次存在更精细的结构，但是人们掌握了大量有关短脉冲的现象资料，却没有找到背后蕴含的规律，只能把它按照行为，将短脉冲继续分类。同时，短脉冲之间的区分开始变得模糊，如果没有启动延迟理论的计算，人们甚至会把两个“不同延迟”的短脉冲当做是类似的脉冲。

2015年2月，幽灵方块被发现，这同样是启动延迟理论所无法解释的现象。

2015年上半年，启动延迟理论和方块更新理论保持着很良好的速度发展着，但对于延迟的更深入理解却没有进行，取得的成就越来越多，但人们仍然无法很好的认识短脉冲，换句话说，在微观领域，启动延迟理论总是有些无能为力。

2015年8月，一些看似能够更好解释“什么情况下活塞没有启动延迟”这一问题的想法被提出了。与2015年所发现的新内容结合到一起，这些新想法或许是仍然是徒劳无功的垂死挣扎，或许这些新的实验现象积累着量变，在某一时刻转化为质变，引领中国人自主找到启动延迟理论背后的秘密。但是历史无法告诉我们答案了，因为很快，启动延迟理论就面临了全盘崩坏的危机——即时更新理论传入了中国。

### 即时更新理论的冲击

Hiback于2015年7月上旬搬运了Youtube上Sancarn和Selulance的视频，hiback称其为“红石tick bug”（av2537345）。在这个视频中，Sancarn和Selulance基于大量的实验给出了一个新的延迟理论——即时更新理论（**T**he **I**mmediate **U**pdate **B**ug）。即时更新理论直接冲击启动延迟理论的根基——活塞具有启动延迟的假设。即时更新理论认为活塞的延迟恒为3gt，不存在所谓的启动延迟，反倒是中继器、比较器等元件的延迟可以变化。通过对输入信号类别的不同，决定中继器、比较器的元件延迟的不同。

而在这一理论刚刚传入中国时，中国人仍然受启动延迟理论根深蒂固的影响，拒绝接受即时更新理论，甚至认为Sancarn和Selulance提出即使更新理论是落后的表现，企图用启动延迟理论解释即时更新理论中板上钉钉的实验结果。但基于实验的即时更新理论能够完整的表述微观的延迟，而这一点恰恰是启动延迟理论所欠缺的。

由于中国的政策原因，外国人并不知道中国的启动延迟理论，因此他们曾诞生过类似启动延迟理论的理论，创作者是Myren Eario、Sharir1701和NasmNasmus。Sanvarn和Selulance通过实验证明了他们三人的理论是错误的。因此，一些人悲观地认为，启动延迟理论走到了尽头，即时更新理论将会是今后分析电路的唯一工具。

2015年9月，在中国，持不同意见的人对即时更新理论提出不同的看法，但无论启动延迟理论如何，即时更新理论所基于的实验事实足以证明它经受住了实践的考验，是延迟理论的又一个成员。

不过，Sancarn和Selulance在视频中也声明：“使用什么理论真的不重要，只要它管用而且对你来说易于理解”。而即时更新理论中，一些对于漏斗、命令方块等元件的修正，让人不得不怀疑，即时更新理论真的就是延迟规律的真面目吗？历史的经验告诉我们，真正的规律，还隐藏在即时更新理论背后。

### 启动延迟理论的修正

与外国的启动延迟理论不同，中国的启动延迟理论毕竟曾经受住了实践的考验，即使出现了漏洞，其中在漫长的时间下沉淀的精髓也并不是即时更新理论所能抹杀的。而且，在即时更新理论的规则中，人们看到了启动延迟理论的影子——即时更新理论列出了所有可能的信号输入方式，并判断他们是否具有同步性。这正是解决“什么情况下活塞没有启动延迟”的解决方法之一，将即时更新理论的同步性引入启动延迟理论，是一个大胆的假设！

在Gamepiaynmo的红石更新延迟理论下，借助时间轴，我们可以更好地定义游戏刻，启动延迟理论也因此变得更加完善。而且也可以证明，在宏观时序上，旧的启动延迟理论是能够解释延迟现象的。因此，启动延迟理论可以用于解释活塞延迟现象，游戏刻也可以作为应用启动延迟理论分析电路时的时间单位。

参见
--

* 延迟理论
* 延迟（消歧义）

参考
--

1. ↑ 【红石】无延时电路元件的原理以及实现 —— defanive2
2. ↑ 【解说向，第二发】红石原理 —— 凤合草酸泥煤
3. ↑ 关于活塞延时的分析与探讨 —— 彭哥·一世
4. ↑ 【元件库】精密时序比较器——关于时序精密描述的实现 —— 正正正正正好