Answers:
因此,您会发现模拟通常比给定客户端上在给定时间点实际渲染的帧提前一帧或更多帧。因此,换句话说,渲染的内容实际上可能是倒数第二个帧,而不是最后一个帧。
在本文中搜索“ ahead”一词的所有实例,我认为您将比我之前解释的更好地了解图片。
当你说:
这些播放器在一段时间后开始不同步
我认为您的问题可能与时钟失步有关,而不是与延迟问题有关。如果是延迟,则开始时的状况应该比10分钟时还差。如果一个游戏时钟的运行时间比另一个游戏时钟的运行速度稍快,则将出现一些奇怪的抖动伪像,随着时间的流逝,这些伪像会越来越糟。客户端可能会在将来进行模拟,当当前数据包从服务器到达时,它将拉回客户端,导致实体跳来跳去。运行更多测试以找出答案。
如果确实存在游戏时钟不同步的问题,则需要非常仔细地查看更新循环,并确保每次更新都基于经过的游戏时间(固定时间或可变时间)以及游戏-time使用壁钟之类的东西(而不是渲染时间或其他变量)进行提前。Gaffer 在这方面有一些不错的文章,在这里有一个关于固定时间步长和可变时间步长的不错的问题。希望这可以帮助。