一种帧同步方法、装置、设备及介质制造方法及图纸

技术编号:24482660 阅读:14 留言:0更新日期:2020-06-12 22:40
本申请实施例所提供的帧同步方法,包括:根据目标对象进行状态更新的实际耗时获取服务器的计算压力信息;根据服务器的计算压力信息确定目标对象的更新安排,更新安排包括目标对象状态更新的更新频率和更新开始时间;按更新安排所指示的更新开始时间和更新频率对目标对象进行状态更新;向客户端发送更新安排,以使客户端在更新开始时间以更新频率对目标对象进行状态更新。本申请还一种装置、设备及介质,在帧同步过程中,间隔预定时间执行更新,其余时间各自执行本地的对象更新,从而减少了帧同步对于网络传输质量的依赖,提升了帧同步的稳定性和传输效率;同时实现了更新安排的动态调节。

A frame synchronization method, device, equipment and medium

【技术实现步骤摘要】
一种帧同步方法、装置、设备及介质
本专利技术涉及电子
,更具体地说,涉及一种帧同步方法、装置、设备及介质。
技术介绍
在网络游戏过程中,例如多人在线战术竞技游戏(MultiplayerOnlineBattleArena,MOBA)或即时战略游戏(Real-TimeStrategyGame,RTS),由多名用户分别通过各自的客户端连接服务器,以实现多人在线的游戏。在此过程中,服务器需要确保游戏中的非玩家的角色(Non-Player-Character,NPC)在各个客户端中保持同步。现有技术中用于同步服务器和客户端数据的方案,一般是基于状态同步的方案,也叫网络数据复制。即服务器检测一个对象的变量是否有发生改变,如果有改变,就把这个改变通知相应的客户端,客户端收到消息也做相应的改变。当网络不好,产生延时或丢包时,客户端跟服务器同一个对象的状态就会产生越来越大的差异,直到下一次数据发送过来才能进行纠正。导致不同客户端之间NPC的状态发生偏差。
技术实现思路
有鉴于此,为解决上述问题,本专利技术提供的技术方案如下:一种帧同步方法,包括:根据目标对象进行状态更新的实际耗时获取服务器的计算压力信息;根据该服务器的计算压力信息确定该目标对象的更新安排,该更新安排包括目标对象状态更新的更新频率和更新开始时间;按该更新安排所指示的该更新开始时间和该更新频率对该目标对象进行状态更新;向该客户端发送该更新安排,以使该客户端在该更新开始时间以该更新频率对该目标对象进行状态更新。一种帧同步装置,包括:第一获取单元,该第一获取单元用于根据目标对象进行状态更新的实际耗时获取服务器的计算压力信息;确定单元,该确定单元用于根据该第一获取单元获取的该服务器的计算压力信息确定该目标对象的更新安排,该更新安排包括目标对象状态更新的更新频率和更新开始时间;更新单元,该更新单元用于按该确定单元确定的该更新安排所指示的该更新开始时间和该更新频率对该目标对象进行状态更新;发送单元,该发送单元用于向该客户端发送该确定单元确定的该更新安排,以使该客户端在该更新开始时间以该更新频率对该目标对象进行状态更新。可选地,该发送单元还用于:在第一时刻向该客户端发送第一子更新安排;其中,该第一子更新安排为该第一时刻时生成的该更新安排,该第一子更新安排用于使该客户端在第一时段内进行本地更新,该第一时段为该第一时刻到第二时刻的时段,该第二时刻为该第一时刻之后该客户端发送更新安排的时刻。可选地,该目标对象至少包括第一目标对象、第二目标对象和第三目标对象,则该确定单元还用于:为该第一目标对象分配第一更新频率;为该第二目标对象分配第二更新频率;该第一目标对象与第三目标对象的距离小于该第二目标对象与该第三目标对象的距离,该第三目标对象为用户控制的目标对象,该第一更新频率大于该第二更新频率。可选地,该目标对象的数量为多个,则该确定单元还用于:从多个该目标对象中获取尚未分配更新安排的待分配对象;通过随机分配算法为该待分配对象随机分配该更新安排,其中,每个该待分配对象对应有一个该更新安排。可选地,该第一获取单元还用于:根据该实际耗时占用目标对象进行状态更新的理想耗时的比值获取该服务器的计算压力信息。可选地,该服务器的计算压力信息为该服务器的当前负载高低数值PerfRatio,则该第一获取单元还用于:执行以下算法:PerfRatio=Clamp(PerfRatio’+(1.0f-cost/DesiredCost)*af,0.0f,1.0f);其中,该Clamp()为取值算法,该PerfRatio’为前一次目标对象状态更新时该服务器的负载高低数值,该cost为该实际耗时,该DesiredCost为该理想耗时,该a为敏感度参数,该0.0f为该Clamp()的取值下限值,该1.0f为该Clamp()的取值上限值;该根据该服务器的计算压力信息确定该目标对象的更新安排,包括:该根据该负载高低数值PerfRatio确定该更新安排,其中,该负载高低数值PerfRatio的数值大小与该更新安排所指示的更新频率大小成正比。可选地,该装置还包括:第二获取单元,该第二获取单元用于根据当前该目标对象的位置获取碰撞位置,该碰撞位置为该目标对象与其他目标对象发生碰撞时,用于判断碰撞区域的位置。一种帧同步方法,包括:获取服务器发送的更新安排,所述更新安排包括目标对象进行状态更新的更新开始时间和更新频率;获取服务器时间,所述服务器时间为所述服务器的实时时间;根据所述服务器的实时时间在所述更新开始时间以所述更新频率对所述目标对象进行状态更新。一种帧同步装置,包括:第一获取单元,该第一获取单元用于获取服务器发送的更新安排,该更新安排包括目标对象进行状态更新的更新开始时间和更新频率;第二获取单元,该第二获取单元用于获取服务器时间,该服务器时间为该服务器的实时时间;更新单元,该更新单元用于根据该第二获取单元获取的该服务器的实时时间在该更新开始时间以该更新频率对该目标对象进行状态更新。可选地,该第一获取单元,还用于:获取该服务器发送的第一子更新安排,该第一子更新安排为该服务器在第一时刻生成的该更新安排;该更新单元,还用于:在第一时段根据该第一子更新安排对该目标对象进行本地状态更新,该第一时段为该第一时刻到第二时刻的时段,该第二时刻为该第一时刻之后接收该服务器的更新安排的时刻。可选地,该第二获取单元还用于:该更新频率至少指示在第一时间点和第二时间点与该服务器交互以实现对该目标对象状态的更新,则该更新单元还用于:在该第一时间点与该第二时间点之间的第三时间点,获取该第三时间点与该第一时间点的第一时间差;将第一目标对象移动到该第一时间点的位置,该第一目标对象为该目标对象中的任意一个;从该第一时间点开始,以该第一时间差为时长对该第一目标对象进行本地更新。可选地,该装置还包括纠正单元,该纠正单元用于:当位于该第二时间点时没有收到由服务器发送的更新数据,获取该第一目标对象的目标操作,该目标操作为该第一时间点时该服务器向该第一目标对象输入的控制操作;根据该目标操作对该第一目标对象的运动进行本地更新。可选地,该装置还包括第三获取单元,该第三获取单元用于:根据第一位置获取碰撞位置,其中,该第一位置为最近一次更新时服务器发送的该目标对象的位置,该碰撞位置为该目标对象与其他目标对象发生碰撞时,用于判断碰撞区域的位置。一种计算机设备所述计算机设备包括:交互装置、输入/输出(I/O)接口、处理器和存储器,该存储器中存储有程序指令;该交互装置用于获取用户输入的操作指令;该处理器用于执行存储器中存储的程序指令,执行如上述任意一项所述的方法。一种计算机可读存储介质,包括指令,当该指令在计算机设备本文档来自技高网...

【技术保护点】
1.一种帧同步方法,其特征在于,包括:/n根据目标对象进行状态更新的实际耗时获取服务器的计算压力信息;/n根据所述服务器的计算压力信息确定所述目标对象的更新安排,所述更新安排包括目标对象状态更新的更新频率和更新开始时间;/n按所述更新安排所指示的所述更新开始时间和所述更新频率对所述目标对象进行状态更新;/n向所述客户端发送所述更新安排,以使所述客户端在所述更新开始时间以所述更新频率对所述目标对象进行状态更新。/n

【技术特征摘要】
1.一种帧同步方法,其特征在于,包括:
根据目标对象进行状态更新的实际耗时获取服务器的计算压力信息;
根据所述服务器的计算压力信息确定所述目标对象的更新安排,所述更新安排包括目标对象状态更新的更新频率和更新开始时间;
按所述更新安排所指示的所述更新开始时间和所述更新频率对所述目标对象进行状态更新;
向所述客户端发送所述更新安排,以使所述客户端在所述更新开始时间以所述更新频率对所述目标对象进行状态更新。


2.根据权利要求1所述的方法,其特征在于,所述向所述客户端发送所述更新安排,包括:
在第一时刻向所述客户端发送第一子更新安排;
其中,所述第一子更新安排为所述第一时刻时生成的所述更新安排,所述第一子更新安排用于使所述客户端在第一时段内进行本地更新,所述第一时段为所述第一时刻到第二时刻的时段,所述第二时刻为所述第一时刻之后所述客户端发送更新安排的时刻。


3.根据权利要求1所述的方法,其特征在于,所述目标对象至少包括第一目标对象、第二目标对象和第三目标对象,则所述根据所述服务器的计算压力信息确定所述目标对象的更新安排,包括:
为所述第一目标对象分配第一更新频率;
为所述第二目标对象分配第二更新频率;
所述第一目标对象与所述第三目标对象的距离小于所述第二目标对象与所述第三目标对象的距离,所述第三目标对象为用户控制的目标对象,所述第一更新频率大于所述第二更新频率。


4.根据权利要求1所述的方法,其特征在于,所述目标对象的数量为多个,则所述根据所述服务器的计算压力信息确定所述目标对象的更新安排,包括:
从多个所述目标对象中获取尚未分配更新安排的待分配对象;
通过随机分配算法为所述待分配对象随机分配所述更新安排,其中,每个所述待分配对象对应有一个所述更新安排。


5.根据权利要求1至4任一所述的方法,其特征在于,所述根据目标对象进行状态更新的实际耗时获取服务器的计算压力信息,包括:
根据所述实际耗时占用目标对象进行状态更新的理想耗时的比值获取所述服务器的计算压力信息。


6.根据权利要求5所述的方法,其特征在于,所述服务器的计算压力信息为所述服务器的当前负载高低数值PerfRatio,则所述根据所述实际耗时占用目标对象进行状态更新的理想耗时的比值获取所述服务器的计算压力信息包括:
执行以下算法:
PerfRatio=Clamp(PerfRatio’+(1.0f-cost/DesiredCost)*af,0.0f,1.0f);
其中,所述Clamp()为取值算法,所述PerfRatio’为前一次目标对象状态更新时所述服务器的负载高低数值,所述cost为所述实际耗时,所述DesiredCost为所述理想耗时,所述a为敏感度参数,所述0.0f为所述Clamp()的取值下限值,所述1.0f为所述Clamp()的取值上限值;
所述根据所述服务器的计算压力信息确定所述目标对象的更新安排,包括:
所述根据所述负载高低数值PerfRatio确定所述更新安排,其中,所述负载高低数值PerfRatio的数值大小与所述更新安排所指示的更新频率大小成正比。


7.根据权利要求1至4任一所述的方法,其特征在于,所述方法还包括:
根据当前所述目标对象的位置获取碰撞位置,所述碰撞位置为所述目标对象与其他目标对象发生碰撞时,用于判断碰撞区域的位置。


8.一种帧同步方法,其特征在于,包括:
获取服务器发送的更新安排,所述更新安排包括目标对象进行状态更新的更新开始时间...

【专利技术属性】
技术研发人员:何欢
申请(专利权)人:腾讯科技深圳有限公司
类型:发明
国别省市:广东;44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1