服务器论坛

找论坛
Q2880990290
Lv0 乞丐
乞丐 贡献-6,距离下一级还需6贡献
楼主
2017-07-19 10:51 0 0 只看楼主
电梯直达 
主流的同步方案有两种:帧同步和CS同步。
正好这两天在整理这块的东西,就一并分享一下!
    补充一个观点:CS和帧同步其实各有有优缺点,并不是某一项方案一定能够取代另一项方案,当游戏类型对实时性要求很高时(比如,实时格斗、体育竞技类游戏(NBA2K)),帧同步可能就是唯一的方案了。
   ArenaServer[预表现层]



  • 战斗的预表现层,一定在客户端
  • 对于一些需要本地预表现的逻辑,如行走。需要先在这里模拟实现。
  • ArenaServer的真实数据反馈到预表现层后,会修改本地数据。
  • ArenaClient只知道预表现层,并不知道真正的ArenaServer的存在。
  • 所以,当游戏要改变同步方案时,Client层并不需要修改。

 ArenaServer


  • 战斗核心逻辑及数据所在
  • 不关心表现
  • 由客户端的输入驱动运行
  • CS同步架构里,这个部分是在服务器的
  • 帧同步架构里,这个部分是在客户端的。

ArenaClient:ArenaInput+ArenaRender 


  • 负责客户端输入和渲染
  • 只与预表现层交互。

作者:胡帆
链接:https://www.zhihu.com/question/36258781/answer/80841137
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。


FrameServer

  • 以每秒30次(假设)的频率,收集各个客户端上报上来的ClientInput。
  • 组装为FrameInput,广播给各个客户端。
  • 即为帧同步的服务器所有逻辑
评论
评论


评论






文章网泰老白著,希望能给大家带来更多的网络知识学习!  更多精彩请咨询qq2880990290

您需要登录后才可以发帖 登录 | 立即注册

其他登录方式:

常用表情
太平洋电脑网论坛帖子仅代表作者本人意见,不代表网站立场。请勿轻信特价、汇款、中奖等信息,
请勿轻易透露个人资料,因此产生的一切后果,PConline不承担任何责任
回复 发新帖 找论坛 反馈 回顶部