我正在用 C# 和 Unity 创建一个节奏游戏,但我无法找到我的一些玩家遇到的问题与他们的硬件之间的直接关联,但他们中的一些人遇到的问题是游戏玩法逐渐与随着时间的推移音乐。它通常需要几分钟才能被注意到,但它肯定会发生并破坏游戏的感觉。
我通过使用双精度并添加 Time.deltaTime (帧之间的时间)来跟踪经过的时间,并且我假设与这样做相关的精度误差非常小,这就是导致逐渐不同步的原因.
有没有更好的方法来做到这一点更准确?我在想获得游戏开始的时间,然后在每一帧上从当前时间中减去它可能会更准确?我已经尝试将游戏时间与音频时间同步(Bass.NET 提供了一种在几秒钟内获得歌曲位置的方法),但是虽然这对我和很多其他人有用,但它最终会让其他人的硬件卡顿(我的游戏通常即使在 8-10 岁的 PC 上也能正常运行)。