我觉得他这篇文章里说的几个东西都不对

开头他说想要解决每 100ms 触发的计时器在 delta 累计 99.96ms 的时候不触发的问题。这种情况本来就是符合预期的,因为 delta 指的是当前帧和上一帧的间隔。在当前帧 delta 累计得到 99.96 秒说明在这个时间点确实尚未经过 100ms,不触发才是对的。当前帧的画面反映的是这一帧开始的时间点的状态。
至于漂移问题,这篇文章里的所有代码都不存在,无论是修改前还是修改后的。漂移一般是在计时器时间到后将累计清零导致的(比如每 100ms 触发的计时器,第一帧过去 60ms、第二帧过去 60ms,此时计时器触发,如果将累计重置为 0ms 而不是保留多余的 20ms,就会导致漂移)。文章里的所有代码都是在时间到后减去时间间隔。
最后举例的游戏加速后计时器时间到少触发的问题,他所提供的代码也是不对的(文章里也说了)。严谨的做法是循环减去等待时间并触发,实际过了几段就触发几次,而不是写死在 0.5 的 delta 处检查。Godot 的 Timer 节点是没有做这一点的,每一帧永远只会触发一次,在内置文档里有提到。