帧同步与状态同步说明

帧同步与状态同步

以下为自己查资料后的个人理解,如果有误希望能留言指出 3q.

先来说定(fei)义(hua)

帧同步常被 RTS(即时战略)游戏常采用。在游戏中同步的是玩家的操作指令,操作指令包含当前的帧索引。一般的流程是客户端上传操作到服务器, 服务器收到后并不计算游戏行为, 而是转发到所有客户端。这里最重要的概念就是 相同的输入 + 相同的时机 = 相同的输出。

状态同步同步的是游戏中的各种状态。一般的流程是客户端上传操作到服务器,服务器收到后计算游戏行为的结果,然后以广播的方式下发游戏中各种状态,客户端收到状态后再根据状态显示内容。状态同步最广泛的应用应该是在回合制游戏中。

从操作上来说

帧步同步

上传的是客户端操作由服务器转发操作然后客户端收到转发过来的操作计算结果并更新显示。

上传客户端操作 -> 服务器接收 -> 转发所有客户端 -> 客户端计算 -> 更新显示

状态同步

上传客户端操作服务器接收到操作并计算结果把结果返回给客户端,再由客户端更新显示。

上传客户端操作 -> 服务器接收 -> 服务器计算游戏结果 -> 转发所有客户端 -> 客户端更新显示