5636联盟 2

游戏资讯

为什么玩家游戏延时和服务器不同步
2017-08-22 作者:小唐 点击: 294次
  服务器不是百分百实时地向玩家通信来更新游戏状态的,对网络带宽的要求也会高的不现实,所以会出现玩家游戏延时的问题,当延迟无穷小的时候,对游戏没有影响,如果当玩家Ping很大的时候,玩家游戏延时不同步的现象就很严重。
  假设玩家A与服务器之间存在100ms的延迟(单向,往返则是200ms),其他玩家的延迟忽略不计,服务器的通信频率足够大(频率不够大还会造成其他很严重的问题,这个放在后面讲)。
  玩家A在某一刻向服务器发送了一个请求(比如向前走),那么这个请求会在100ms之后到达服务器,服务器判定后返回结果,再经过100ms你的客户端会收到确认,服务器已经把你的位置向前移动了若干距离。假设客户端在没有收到任何服务器的更新前画面都不会变化,那么在这200ms内你就会觉得游戏“卡顿”。
  实际上很多游戏里中你会在这200ms里看到你自己是在向前走,其实那只是客户端“擅自”在绘制你前进的样子,这是一种延迟补偿策略,称为“客户端预测法”。即客户端能够大致预测游戏未来的走向,因此在接收到服务器更新前会把预测到的画面先绘制出来(比如移动、武器的开火效果、弹药计数的变化等)。
  客户端收到服务器通信后如果数据有出入则立刻纠正为服务器提供的数据。因此在延迟很大的时候玩家会发现明明往前走了过了一会又瞬移回到之前的位置的原因,或者是明明开了好几枪而且也都显示了但过了一会弹药计数只减少了一点点。

以上内容整理自互联网,如有侵权,请立即与小编联系,小编将及时处理。转载或引用本网版权所有之内容请注明来源,感谢您对本站的支持! 联系QQ:2850592923 欢迎加入网吧业主 交流群:614859884(已满)397580722(可加)

点击排行榜