1

我一直在学习如何在 Unity Client 和 Photon Server 之间建立网络。这是我目前正在做的事情。

Unity 客户端每 16 毫秒运行一帧或每秒总共运行 60 帧,一旦连接,帧 # 从 0 开始并在最后(LateUpdate)递增 1,Photon ServerPeer 还将有一个加入的帧 # 变量保存他们加入的服务器上的哪个框架。Photon server 运行一个 16ms 的 PoolFiber 间隔,Server 将每个 poolfiber 间隔增加 1 以获取帧服务器。服务器将接收请求并将其排队等待下一帧,抓取接下来的几帧(可用的)并将其发送给客户端。客户端获取该数据并将在其适当的框架上执行它。重复帧尾请求和开始处理的过程。首先,这是一个好方法吗?我刚刚开始学习网络,我真的很想更好地理解这一点,经过一些研究,这似乎是同步客户端/服务器的好方法。

我对这种方法的问题是客户端帧速率总是超过服务器帧速率,以至于客户端越来越远离服务器。

例如,客户端将从 0 开始,而服务器为 1,200,最终客户端将是 2,200,而服务器将只有 1,900。我注意到在服务器上的 1 帧中正在处理 1-3 个客户端帧之间的任何位置。

所以:客户端框架 1、2、3 都在服务器框架 1200 上处理。

解决这个问题的好方法是什么?几个星期以来,我一直在努力解决这个问题。

4

0 回答 0