预测
客户端无需等待服务端的许可便可以释放GA和GE
指client“预测”server允许其释放GA并预测GE将要施加到的目标,server将在之后释放技能并通知client其预测是否准确,如果client错误,其将会回滚之前做出的改变以与server同步。
GAS的预测思路是:只预测你能躲开的事(predict the minimum amount of stuff you can get away with)
可被预测的
- GA的释放
- 触发Event
- 应用GE:Modify Attribute,Modify GameplayTag
- GameplayCue事件:从Effect触发的和其本身
- Montage
- 人物移动
不可被预测的
- 移除GE
- GE的周期性effect
可以通过预测性的添加完全相反的Effect来实现预测GE的移除,但对于作为cooldown的GE来说,没法应用相反的GE,因此没法实现对于GA的冷却时间预测,因此高延迟相对于低延迟在cooldown GE的作用时间上有劣势,因此如果开火是技能且使用了cooldownGE,高延迟玩家的开火速率会更低。堡垒之夜里用bookkeeping的方式避免这种情况。这个方式不懂
在对InstantGE进行预测时,实际上将其视为InfinitieGE来处理,以实现在预测错误时可以回滚应该是instant无法被直接预测
,当存在预测时,client先预测执行了一个GE,server收到时会实