【技术实现步骤摘要】
一种帧同步方法、装置、设备及介质
本专利技术涉及电子
,更具体地说,涉及一种帧同步方法、装置、设备及介质。
技术介绍
在网络游戏过程中,例如多人在线战术竞技游戏(MultiplayerOnlineBattleArena,MOBA)或即时战略游戏(Real-TimeStrategyGame,RTS),由多名用户分别通过各自的客户端连接服务器,以实现多人在线的游戏。在此过程中,服务器需要确保游戏中的非玩家的角色(Non-Player-Character,NPC)在各个客户端中保持同步。现有技术中用于同步服务器和客户端数据的方案,一般是基于状态同步的方案,也叫网络数据复制。即服务器检测一个对象的变量是否有发生改变,如果有改变,就把这个改变通知相应的客户端,客户端收到消息也做相应的改变。当网络不好,产生延时或丢包时,客户端跟服务器同一个对象的状态就会产生越来越大的差异,直到下一次数据发送过来才能进行纠正。导致不同客户端之间NPC的状态发生偏差。
技术实现思路
有鉴于此,为解决上述问题,本专利技术提供的技术方案如下:一种帧同步方法,包括:根据目标对象进行状态更新的实际耗时获取服务器的计算压力信息;根据该服务器的计算压力信息确定该目标对象的更新安排,该更新安排包括目标对象状态更新的更新频率和更新开始时间;按该更新安排所指示的该更新开始时间和该更新频率对该目标对象进行状态更新;向该客户端发送该更新安排,以使该客户端在该更新开始时间以该更新频率对该目标对象进行状态更新 ...
【技术保护点】
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
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。