在网络游戏中,由于延迟或者网络状况的抖动,可能会将客户端效果产生一定的扭曲,影响玩家体验以及进一步的操作。 要降低因为延迟带来的体验问题,有两种策略,一种为客户端预测,一种为延迟补偿。 “延迟补偿”(Lag Compensation)是个服务器端的行为。 在服务器端考虑了客户端的网络延迟,将服务器状态回滚到延迟前,再进行运算。 这个策略有时候也被称作“rewind replay”。 Lag Compensation除了用于改善因延迟带来的用户体验,实际上更重要的是为了防止由于“客户端预测”而可能导致的作弊行为。 击杀敌人的时候其实打的是hitbox,人物模型只是让看到这是一个人物,这也就是你从死掉的敌人身上走过去是直接穿过都不是卡住。 如果延迟高了,你打到的其实是人物模型,但是他的hitbox并没有跟上来,也就会发生你打不死那个人的情况。 而延迟补偿就是让模型尽可能的靠近hitbox。
在网络游戏中我认为要降低因为延迟带来的体验问题有两种解决方案、一是客户端的预测、二是延迟补偿,延迟补偿是服务器端的行为、在服务器考虑到客户端的网络延迟、将服务器状态回滚到延迟前、再进行运算。如果延迟高了、你打到的其实是人物模型、但是他的hitbox并没有跟上来、也就会你打不死那个人的情况。而延迟补偿就是让模型尽可能的靠近hitbox.