帧同步_帧同步相关

王者荣耀技术总监复盘技术选型

《王者荣耀》技术总监复盘回炉历程:没跨过这三座大山,就是另一款MOBA霸占市场了​youxiputao.com
1301c48bed1ca2fbacebcca52f2312aa.png

帧同步

优点是打击感强流量少

缺点是网络要求比较高,反外挂能力弱,断线重连返回时间长,性能优化困难

状态同步

优点是安全性高,对于网络的带宽和抖动包有更强的适应能力,断线重连比较快,性能优化比好做(可以裁剪)

缺点是比较难做出好的打击感,费流量

技术要点

  1. 保证计算正确:各种计算的浮点数处理
  2. 底层协议选择:UDP,KCP, 冗余UDP,kcp+fec,TCP, 可以结合多种方案使用,根据网络状况或者其他条件切换不同的协议。
  3. 帧同步优化:插值,表现逻辑分离。其余常见的:GC, drawcall, 裁剪,3DUI

为什么选择帧同步:最重要的原因是有趣的技能很难用状态同步做出理想的效果

浮点数优化方案

浮点数问题:

  1. 跨平台,不同平台之间计算结果可能不同。尤其是Android环境下, CPU千差万别。
  2. float的运算问题主要体现在逻辑物理计算上,而Navmesh可能是比较稳定的。
  3. 不同的调用顺序时序容器排序的不稳定性,协程的不稳定性,随机值等。
Mack:帧同步:浮点精度测试​zhuanlan.zhihu.com

解决方案:

  1. 不用浮点数,采用定点数
  2. 做好随机种子
  3. 不使用coroutine
  4. 统一的逻辑tick入口,更新整个战斗逻辑,而不是单个逻辑去update.保证执行顺序一致性。
Understanding Fighting Game Networking​mauve.mizuumi.net
ccd912cb06af4625962f13ee4e3aa975.png

逻辑回滚

逻辑快照

其他优化方案:

  1. TCP, KCP, 冗余包的非可靠UDP, KCP+fec, 可多种方案结合使用
  2. 逻辑和表现分离
  3. 逻辑帧负载均衡
  4. 多线程收发
  5. 分地域部署和匹配
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值