CN115671726B - 游戏数据渲染方法、装置、设备及存储介质 - Google Patents
游戏数据渲染方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN115671726B CN115671726B CN202211704694.8A CN202211704694A CN115671726B CN 115671726 B CN115671726 B CN 115671726B CN 202211704694 A CN202211704694 A CN 202211704694A CN 115671726 B CN115671726 B CN 115671726B
- Authority
- CN
- China
- Prior art keywords
- game
- operation data
- video frame
- terminal
- prediction
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Landscapes
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本申请实施例公开了一种游戏数据渲染方法、装置、设备及存储介质,应用于云技术中的云服务器,该方法包括:若预测得到游戏服务器与终端之间的网络连接在下一时间段内的连接状态为异常状态,则预测所述终端对应的游戏玩家针对第一游戏视频帧的目标预测操作数据,根据所述目标预测操作数据以及所述第一游戏视频帧,确定用于对所述第一游戏视频帧进行渲染更新的预测渲染指令,将所述预测渲染指令以及所述目标预测操作数据发送至所述终端,所述终端用于根据所述预测渲染指令和所述目标预测操作数据,对所述第一游戏视频帧进行渲染更新。通过本申请能够避免出现丢帧事件,提高游戏画面的流畅度。
Description
技术领域
本申请涉及云技术等领域,尤其涉及一种游戏数据渲染方法、装置、设备及存储介质。
背景技术
目前云游戏的服务器主要分为两种x86和ARM,主流的服务器是基于x86架构,通过虚拟化技术在x86架构中将图形处理器(Graphics Processing Unit,GPU)虚拟化成为安卓容器,每一个安卓容器都可以运行一个基于安卓系统的云游戏。当客户端从服务器中拉取云游戏时,可以通过安卓容器获取到当前云游戏的音视频流数据,展示给游戏玩家,游戏玩家对应的终端会将游戏玩家的操作数据传递给服务器,服务器向终端返回最新渲染的音视频流数据。实践中发现,当服务器与终端之间的网络出现异常时,容易出现丢帧事件,导致游戏画面出现卡顿等问题。
发明内容
本申请实施例提供一种游戏数据渲染方法、装置、设备及存储介质,避免出现丢帧事件,提高游戏画面的流畅度。
本申请实施例一方面提供一种游戏数据渲染方法,包括:
若预测得到游戏服务器与终端之间的网络连接在下一时间段内的连接状态为异常状态,则预测所述终端对应的游戏玩家针对第一游戏视频帧的目标预测操作数据;
根据所述目标预测操作数据以及所述第一游戏视频帧,确定用于对所述第一游戏视频帧进行渲染更新的预测渲染指令;
将所述预测渲染指令以及所述目标预测操作数据发送至所述终端,所述终端用于根据所述预测渲染指令和所述目标预测操作数据,对所述第一游戏视频帧进行渲染更新。
本申请实施例一方面提供一种游戏数据渲染方法,包括:
从游戏服务器中获取预测渲染指令以及目标预测操作数据;所述目标预测操作数据为所述游戏服务器预测得到所述游戏服务器与终端之间的网络连接在下一时间段内的连接状态为异常状态后,预测所述终端对应的游戏玩家针对第一游戏视频帧的操作数据,所述预测渲染指令是根据所述第一游戏视频帧以及所述目标预测操作数据确定得到的;
若检测到所述游戏玩家针对所述第一游戏视频帧的第一实际操作数据,则根据所述第一实际操作数据、所述目标预测操作数据以及所述预测渲染指令,对所述第一游戏视频帧进行渲染更新。
本申请实施例一方面提供一种游戏数据渲染装置,包括:
预测模块,用于若预测得到游戏服务器与终端之间的网络连接在下一时间段内的连接状态为异常状态,则预测所述终端对应的游戏玩家针对第一游戏视频帧的目标预测操作数据;
确定模块,用于根据所述目标预测操作数据以及所述第一游戏视频帧,确定用于对所述第一游戏视频帧进行渲染更新的预测渲染指令;
发送模块,用于将所述预测渲染指令以及所述目标预测操作数据发送至所述终端,所述终端用于根据所述预测渲染指令和所述目标预测操作数据,对所述第一游戏视频帧进行渲染更新。
本申请实施例一方面提供一种游戏数据渲染装置,包括:
获取模块,用于从游戏服务器中获取预测渲染指令以及目标预测操作数据;所述目标预测操作数据为所述游戏服务器预测得到所述游戏服务器与终端之间的网络连接在下一时间段内的连接状态为异常状态后,预测所述终端对应的游戏玩家针对第一游戏视频帧的操作数据,所述预测渲染指令是根据所述第一游戏视频帧以及所述目标预测操作数据确定得到的;
渲染模块,用于若检测到所述游戏玩家针对所述第一游戏视频帧的第一实际操作数据,则根据所述第一实际操作数据、所述目标预测操作数据以及所述预测渲染指令,对所述第一游戏视频帧进行渲染更新。
本申请实施例一方面提供了一种计算机设备,包括存储器和处理器,上述存储器存储有计算机程序,上述处理器执行上述计算机程序时实现上述的方法的步骤。
本申请实施例一方面提供了一种计算机可读存储介质,其上存储有计算机程序,上述计算机程序被处理器执行时实现上述的方法的步骤。
本申请实施例一方面提供了一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现上述的方法的步骤。
本申请中,在预测得到游戏服务器与终端之间的网络连接在未来时间(即下一时间段内)的连接状态为异常状态时,通过游戏服务器提前预测得到针对当前游戏视频帧(即第一游戏视频帧)的目标预测操作以及预测渲染指令,将预测渲染指令以及目标预测操作下发至终端。此处的目标预测操作为预测游戏玩家针对该当游戏视频帧的操作,预测渲染指令为用于对当前游戏视频帧进行渲染更新的指令。通过终端根据该目标预测操作和预测渲染指令对当前游戏视频帧进行渲染更新,实现游戏渲染功能的灵活调度,解决因网络波动等异常导致游戏无法畅玩的问题,避免出现丢帧事件以及游戏画面卡顿等问题,提高游戏画面的流畅度,提高游戏体验以及游戏渲染能力。同时,通过根据网络连接的连接状态,动态调度游戏服务器的渲染功能和终端的游戏渲染功能,提高游戏服务器的渲染功能和终端的游戏渲染功能的利用率。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请提供的一种游戏数据渲染系统示意图;
图2是本申请提供的第一种游戏数据渲染方法的交互场景示意图;
图3是本申请提供的第二种游戏数据渲染方法的交互场景示意图;
图4是本申请提供的第一种游戏数据渲染方法的流程示意图;
图5是本申请提供的一种基于第二操作数据预测模型预测目标操作数据的场景示意图;
图6是本申请提供的一种对第二操作数据预测模型进行优化训练的场景示意图;
图7是本申请提供的第二种游戏数据渲染方法的流程示意图;
图8是本申请实施例提供的第一种游戏数据渲染装置的结构示意图;
图9是本申请实施例提供的第二种游戏数据渲染装置的结构示意图;
图10是本申请实施例提供的一种计算机设备的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本申请主要涉及云游戏,云游戏(Cloud gaming)又可称为游戏点播(gaming ondemand),是一种以云计算技术为基础的在线游戏技术。云游戏技术使图形处理与数据运算能力相对有限的轻端设备(thin client)能运行高品质游戏。在云游戏场景下,游戏并不在玩家游戏终端,而是在云端服务器(即游戏服务器)中运行,并由云端服务器将游戏场景渲染为视频音频流,通过网络传输给玩家游戏终端(即终端)。玩家游戏终端无需拥有强大的图形运算与数据处理能力,仅需拥有基本的流媒体播放能力与获取玩家输入指令并发送给云端服务器的能力即可。
实践中发现,现有的云游戏场景中,如果玩家游戏终端与云端服务器之间的网络连接出现网络波动等异常,容易出现丢在事件,导致游戏画面出现卡顿等问题。基于此,本申请中,基于网络连接的连接状态,动态调度玩家游戏终端的游戏渲染功能以及云端服务器的游戏渲染功能,解决因网络波动等异常导致游戏无法畅玩的问题,避免出现丢帧事件以及游戏画面卡顿等问题,提高游戏画面的流畅度,提高游戏体验以及游戏渲染能力。
可理解的是,本申请中的游戏可以是指云游戏,也可以还是通用游戏,本申请主要以云游戏为例进行说明,此处的通用游戏是指由终端运行的游戏。
为了便于更清楚理解本申请,首先介绍实现本申请的游戏数据渲染方法的游戏数据渲染系统,如图1所示,该游戏数据渲染系统中包括游戏服务器10、代理服务器11、模型服务器12、检测服务器13以及终端14;该游戏服务器10分别与代理服务器11、模型服务器12、检测服务器13之间具有网络连接,以便该游戏服务器10可以与各个服务器之间交互数据,检测服务器13以及代理服务器11分别与终端14之间具有网络连接,以便检测服务器13以及代理服务器11可以与终端14之间交互数据。
其中,游戏服务器10也可以称为云游戏服务器,云游戏服务器可以部署有安卓容器,安卓容器中可以进行游戏的初始化操作以及游戏的渲染操作。安卓容器的渲染技术都采用容器内渲染的技术,其原理和原因是因为在安卓容器内可以直接访问图形处理器,图形处理器具有高并发的计算能力,可以直接在容器内完成渲染,并且可以提升渲染性能,大大降低了渲染带来的延迟。并且一个安卓容器就是一个完整的Android系统,兼容性比较好,可以实现游戏的渲染。云游戏服务器在接收到代理服务器11转发的参数时,启动安卓容器,以根据参数(比如游戏信息的gameID,用户信息的userID)来决定启动什么游戏,获取当前游戏玩家在游戏内的基础数据,如游戏等级以及游戏资源等。启动安卓容器后开始启动云游戏,然后会把游戏视频流下发给终端14。然后,终端14可以与云游戏服务器相互交互,云游戏服务器不断的接收终端14传递过来的操作数据,从而渲染得到新的游戏视频帧,将新的游戏视频帧实时传递给终端14。
可理解的是,此处的云游戏是以云计算为基础的游戏方式,在云游戏的运行模式下,所有游戏都在服务器端运行,并将渲染完毕后的游戏视频帧压缩后通过网络传送给终端。安卓容器:是将安卓的系统文件打包到容器镜像中,然后,通过容器镜像进行发布,载体可以是支持调用接口(Oracle Call Interface,OCI)的任意容器外壳,可以通过k8s来运维,借助于k8s强大的运维工具,在云端可以部署几千台服务器集群。
可理解的是,操作数据主要指游戏玩家针对终端14中显示的游戏视频帧执行的操作所生成的数据,操作数据可以包括操作位置以及操作类型,操作位置是指游戏玩家针对游戏视频帧所执行的操作所作用的位置,操作类型包括拖动、点击、滑动、按压等等。
其中,代理服务器11,也称为客户端服务器,主要用于为终端14提供后台服务,这个代理服务器11主要记录游戏玩家的基本信息以及终端13中显示的游戏信息,游戏信息包括游戏时长以及游戏等级等等。代理服务器11还用于根据游戏玩家的基本信息验证游戏玩家是否具有开启游戏的权限,如果验证得到游戏玩家不具有开启游戏的权限,则不允许游戏服务器10针对该游戏玩家开启游戏;如果验证得到游戏玩家具有开启游戏的权限,则允许游戏服务器10针对该游戏玩家开启游戏。可理解的是,与游戏服务器10连接的代理服务器的数量为多个,不同代理服务器负责为不同的终端集群提供后台服务,如代理服务器为11为属于地区A内的终端集群提供后台服务,代理服务器15(图1中未示出)为属于地区B内的终端集群提供后台服务。
其中,模型服务器12可以包括操作数据预测模型,该操作数据预测模型可以用于预测终端14显示游戏视频帧后,游戏玩家针对该游戏视频帧的预测操作数据,预测操作数据为游戏玩家针对游戏视频帧执行预测操作所生成的数据。该操作数据预测模型可以是根据大量游戏玩家关于游戏视频的历史实际操作数据进行优化训练得到的。
其中,检测服务器13可以用于周期性地向游戏服务器10以及终端14发送网络测试包,该网络测试包用于检测设备当前的网络状态,检测服务器13可以接收游戏服务器10返回关于游戏服务器10当前的网络状态的检测结果,以及终端14返回关于终端14当前的网络状态的检测结果,进一步,可以根据当前的网络状态,预测终端14与游戏服务器10之间的网络连接在未来时间(如接下来的3s)的连接状态。具体的,检测服务器13可以通过如下两种方式中的任一方式检测终端14与游戏服务器10之间的网络连接在未来时间的连接状态,方式一,检测服务器13可以根据终端14的当前的网络状态以及游戏服务器10当前的网络状态,预测游戏服务器10与终端14之间的网络连接在未来时间(如接下来的3s内)的连接状态,得到网络状态预测结果。方式二,检测服务器13可以根据终端14的当前的网络状态和历史(如近一个小时前,近10分钟前)的网络状态、游戏服务器10当前的网络状态和历史的网络状态,预测游戏服务器10与终端14之间的网络连接在未来时间的连接状态,得到网络状态预测结果。进一步,将该网络状态预测结果发送至游戏服务器10,以便游戏服务器10可以基于网络状态预测结果,动态调度游戏服务器的游戏渲染功能以及终端的游戏渲染功能,实现游戏渲染操作。
终端14中安装有游戏应用程序,为具备游戏能力(即云游戏能力)的客户端,用于向代理服务器11发送关于已经启动云游戏的通知,传递给代理服务器11游戏基础信息(gameID,游戏玩家的UserID,设备信息等),从而代理服务器可以查询到游戏玩家的用户基本信息(比如是否可以玩游戏,游戏时长多少,游戏是否已经登录透传等)。如图1所示,终端14可以包括数据缓存区、本地渲染指令生成组件以及本地游戏渲染组件,该数据缓存区用于缓存游戏服务器10发送的预测操作数据以及预测渲染指令等。本地渲染指令生成组件用于基于游戏玩家针对游戏视频帧的操作生成渲染指令,本地游戏渲染组件用于执行渲染指令,以对游戏视频帧进行渲染更新。
可理解的是,游戏服务器、代理服务器、模型服务器以及检测服务器可以是独立的一个物理服务器,也可以是至少两个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、中容分发网络(Content Delivery Network,CDN)、以及大数据和人工智能平台等基础云计算服务的云服务器。终端具体可以是指车载终端、智能手机、平板电脑、笔记本电脑、桌上型电脑、智能音箱、有屏音箱、智能手表等等,但并不局限于此。各个终端以及服务器可以通过有线或无线通信方式进行直接或间接地连接,同时,终端以及服务器的数量可以为一个或至少两个,本申请在此不做限制。
可理解的是,上述代理服务器、模型服务器以及检测服务器的功能可以由游戏服务器来实现,也可以由各个服务器独立实现。如图2和图3所示,以代理服务器、模型服务器以及检测服务器的功能由游戏服务器来实现为例进行说明。图2中的游戏服务器20为图1中的游戏服务器10,图2和图3中的终端21可以为图1中的终端14。
终端21中安装有游戏应用1,当终端21启动游戏应用1后,游戏服务器20可以渲染得到终端21在第一时间待显示的游戏视频帧22,该游戏视频帧22可以是指需要在终端21中显示的首个游戏视频帧,或者,该游戏视频帧22可以是指基于终端21对应的游戏玩家1针对终端21中当前的游戏视频帧的实际操作数据生成的视频帧(即非首个游戏视频帧)。如图2中,该游戏视频帧22中包括多个动物头像、游戏玩家1当前所在的游戏关卡(即第一关)以及剩余步数,游戏玩家1可以通过移动动物头像的位置使至少三个相同动物头像连续的排列在同一行或同一列,进而使这种至少三个相同动物头像可消除,游戏玩家1便可得到相应的分数。同时,游戏玩家1每对动物头像执行一次移动操作,游戏玩家在该游戏关卡的剩余步数减1。
在游戏服务器20在渲染得到游戏视频帧22后,可以检测游戏服务器20当前的网络状态,检测终端21当前的网络状态,根据游戏服务器20当前的网络状态和终端21当前的网络状态,预测游戏服务器20与终端21之间的网络连接在下一时间段内的连接状态。此处的下一时间段内为第一时间之后的时间,如第一时间后的3s内。若预测得到游戏服务器20与终端21之间的网络连接在下一时间段内的连接状态为异常状态,表明游戏服务器20与终端21之间的网络连接在下一时间段内的稳定度比较差,容易出现网络波动、网络掉线等问题,这时游戏服务器20可以将双端渲染策略,确定为终端21的渲染策略,此处的双端渲染策略是指由游戏服务器20和终端21协同执行终端21的渲染需求,即由游戏服务器20生成预测渲染指令,终端21执行预测渲染指令。游戏服务器20可以获取游戏视频帧22的场景数据,该游戏视频帧22的场景数据包括该游戏视频帧22对应的游戏关卡以及动物头像的排列方式等等,根据该游戏视频帧22的场景数据预测得到游戏玩家1针对游戏视频帧22的预测操作数据23(即也称为预测操作数据1)。该预测操作数据23用于反映在终端21显示游戏视频帧22后,游戏玩家1预测针对该游戏视频帧执行的操作,以该预测操作数据23指示游戏玩家1交换游戏视频帧22中位于第三列的最后两个动物头像的显示位置为例。进一步,游戏服务器20可以根据该预测操作数据和该游戏视频帧22,确定对该游戏视频帧22进行渲染更新的预测渲染指令1,将游戏视频帧22、该预测渲染指令1以及预测操作数据23发送至中终端21。
进一步,终端21接收到游戏视频帧22、该预测渲染指令1以及预测操作数据23后,可以将该预测渲染指令1以及预测操作数据23存储至数据缓存区24中,在第一时间显示该游戏视频帧22。若检测游戏玩家1针对该游戏视频帧22执行的操作,终端21可以根据该操作生成实际操作数据25,将该实际操作数据25与数据缓存区域24中的预测操作数据23进行匹配,如果该实际操作数据25与预测操作数据23匹配(即匹配成功),即实际操作数据25反映游戏玩家1交换游戏视频帧22中位于第三列的最后两个动物头像的显示位置,则可以从数据缓存区24读取该预测渲染指令1。进一步,执行该预测渲染指令1,以对游戏视频帧22进行渲染更新,得到游戏视频帧26;即调度终端21的游戏渲染功能,该预测渲染指令1,以对游戏视频帧22进行渲染更新,得到游戏视频帧26。如果该实际操作数据25与预测操作数据23不匹配,如实际操作数据25反映游戏玩家1交换游戏视频帧22中位于第二列的前两个动物头像的显示位置,这时终端21可以等待终端21与游戏服务器20之间的网络连接的状态为正常状态时,将该实际操作数据25发送至游戏服务器20,由游戏服务器20根据实际操作数据25对游戏视频帧22进行渲染更新,返回更新后的游戏视频帧22给终端21。
同理,若预测得到游戏服务器20与终端21之间的网络连接在下一时间段内的连接状态为正常状态,表明游戏服务器20与终端21之间的网络连接在下一时间段内比较稳定,网络质量比较好,这时游戏服务器10可以将云端渲染策略,确定为终端21的渲染策略,直接将游戏视频帧22发送至终端21;此处的云端渲染策略是指终端21的游戏渲染需求由游戏服务器20来执行,由游戏服务器20返回需要的游戏视频帧至终端21。终端21接收到游戏视频帧22后,可以在第一时间显示该游戏视频帧22,当检测游戏玩家1针对该游戏视频帧22执行的操作,可以根据该操作生成实际操作数据25(即也称为实际操作数据1),以该实际操作数据25指示游戏玩家1交换游戏视频帧22中位于第三列的最后两个动物头像的显示位置为例。终端21可以将实际操作数据25发送给游戏服务器20,游戏服务器20可以根据该实际操作数据25对游戏视频帧22进行渲染更新,得到游戏视频帧26,即调度游戏服务器10的游戏渲染功能,基于该实际操作数据25对游戏视频帧22进行渲染更新,得到游戏视频帧26;将游戏视频帧26发送至终端21,终端21接收到游戏视频帧26后,可以显示游戏视频帧26。
综上,游戏服务器20根据游戏服务器20与终端21之间的网络连接的连接状态,动态调度游戏服务器的渲染功能和终端的游戏渲染功能,提高游戏服务器的渲染功能和终端的游戏渲染功能的利用率;解决因网络波动等异常导致游戏无法畅玩的问题,避免出现丢帧事件以及游戏画面卡顿等问题,提高游戏画面的流畅度,提高游戏体验以及游戏渲染能力。
进一步地,请参见图4,是本申请实施例提供的一种游戏数据渲染方法的流程示意图。如图4所示,该方法可由图1中的游戏服务器来执行。其中,该方法可以包括如下步骤:
S101、若预测得到游戏服务器与终端之间的网络连接在下一时间段内的连接状态为异常状态,则预测该终端对应的游戏玩家针对第一游戏视频帧的目标预测操作数据。
本申请中,如果预测游戏服务器与终端之间的网络连接在下一时间段内的连接状态为正常状态,表明游戏服务器与终端之间的网络连接在下一时间段内的网络质量比较好、不会出现网络波动等异常情况,则游戏服务器可以将云端渲染策略作为终端的渲染策略,即等待终端发送关于终端中显示的游戏视频帧的实际操作数据,基于实际操作数据对终端中显示的游戏视频帧进行渲染更新,将更新后的游戏视频帧发送至终端。若预测得到游戏服务器与终端之间的网络连接在下一时间段内的连接状态为异常状态,表明游戏服务器与终端之间的网络连接在下一时间段内的网络质量比较差、大概率会出现网络波动等异常情况,则游戏服务器可以预测该终端对应的游戏玩家针对第一游戏视频帧的目标预测操作数据。
可理解的是,此处的下一时间段可以为当前时间之后的近几秒内,或近几十秒内,如当前时间为9:22:40,则下一时间段可以为9:22:40~9:22:43。上述第一游戏视频帧可以为终端中当前显示的游戏视频帧,或者,该第一游戏视频帧为当前由游戏服务器渲染得到的,且还未发送至终端的视频帧,即第一游戏视频帧为终端在下一时间段内待显示的游戏视频帧。
可理解的是,当第一游戏视频帧为终端在下一时间段内待显示的游戏视频帧时,上述步骤S101包括:S1011、游戏服务器渲染得到终端下一时间段内待显示的第一游戏视频帧;S1012、若预测得到游戏服务器与终端之间的网络连接在下一时间段内的连接状态为异常状态,则预测该终端对应的游戏玩家针对第一游戏视频帧的目标预测操作数据。此时的目标预测操作数据为预测在终端显示第一游戏视频帧后,该游戏玩家针对该第一游戏视频执行操作对应操作数据。此时,该第一游戏视频帧可以为终端所登录的游戏应用程序后首个待显示的视频帧(如游戏应用程序的游戏封面),或者,该第一游戏视频帧可以为终端所登录的游戏应用程序后非首个待显示的视频帧。当该第一游戏视频帧为终端所登录的游戏应用程序后非首个待显示的视频帧时,该第一游戏视频帧可以是基于游戏玩家针对终端当前显示的游戏视频帧的实际操作数据生成的。例如,终端当前显示的游戏视频帧为游戏视频帧A1,如果检测到游戏玩家针对游戏视频帧A1的操作,生成游戏玩家针对游戏视频帧A1的操作对应实际操作数据A2,将该实际操作数据A2发送至游戏服务器。游戏服务器可以接收到该实际操作数据A2后,可以根据该实际操作数据A2对游戏视频帧A1进行渲染更新,得到游戏视频帧B,即该游戏视频帧B为终端下一时间段内待显示的第一游戏视频帧。
可理解的是,当第一游戏视频帧为终端中当前显示的游戏视频帧时,该第一游戏视频帧也可以是指为终端所登录的游戏应用程序后首个待显示的视频帧(如游戏应用程序的游戏封面),或者,该第一游戏视频帧可以为终端所登录的游戏应用程序后非首个待显示的视频帧。该第一游戏视频帧也可以是指由终端渲染得到的,也可以由游戏服务器渲染得到的;例如,当游戏服务器与终端之间的网络连接在上一时间段内的网络状态为异常状态,则该第一游戏视频帧可以是由终端渲染得到的;当游戏服务器与终端之间的网络连接在上一时间段内的网络状态为正常状态,则该第一游戏视频帧可以是由游戏服务器渲染得到的,上一时间段可以为当前时间之前的近几秒或几十秒内。
可理解的是,游戏服务器可以通过如下两种方式中的任一种方式,预测游戏服务器与终端之间的网络连接在下一时间段内的连接状态,方式一,由游戏服务器预测游戏服务器与终端之间的网络连接在下一时间段内的连接状态,具体的,游戏服务器可以根据第一网络测试包检测该游戏服务器当前的网络状态,得到第一检测结果,网络状态包括网络延迟以及网络带宽等中的至少一种,将第二网络测试包发送至终端,终端根据该第二网络测试包对终端当前的网络状态进行检测,得到第二检测结果,将该第二检测结果发送至游戏服务器。此处的第一网络测试包、第二网络测试包为用于对设备当前当了状态进行检测的文件(或工具)。然后,该游戏服务器可以根据第一检测结果预测游戏服务器在下一时间段的网络状态,根据第二检测结果,预测终端在下一时间段的网络状态。进一步,根据游戏服务器在下一时间段的网络状态,以及终端在下一时间段内的网络状态,确定游戏服务器与终端之间的网络连接在下一时间段内的连接状态。例如,游戏服务器在下一时间段的网络状态以及终端在下一时间段内的网络状态中存在一个设备的网络状态为异常状态,则确定游戏服务器与终端之间的网络连接在下一时间段内的连接状态为异常状态;当游戏服务器在下一时间段的网络状态以及终端在下一时间段内的网络状态均为正常状态时,确定游戏服务器与终端之间的网络连接在下一时间段内的连接状态为正常状态。通过游戏服务器来检测终端与游戏服务器之间的网络状态,提高网络状态检测的效率。
需要说明的是,第一检测结果反映游戏服务器当前的网络状态为异常状态或正常状态。第二检测结果反映终端当前的网络状态为异常状态或正常状态,此处网络状态为异常状态是指设备(游戏服务器或终端)的网络延迟比较大,网络带宽比较小、网络波动比较大等中的至少一种;此处网络状态为正常状态是指设备(游戏服务器或终端)的网络延迟比较低,且网络带宽比较大,且网络波动比较小(即网络比较稳定)。此处的网络带宽是指在单位时间(一般指的是1秒钟)内能传输的数据量。
方式二,由检测服务器预测游戏服务器与终端之间的网络连接在下一时间段内的连接状态,具体的,游戏服务器可以接收检测服务器发送的第一网络测试包,根据该第一网络测试包检测该游戏服务器当前的网络状态,得到第一检测结果,向该检测服务器返回所述第一检测结果。同理,终端可以接收检测服务器发送的第二网络测试包,根据该第二网络测试包检测该终端当前的网络状态,得到第二检测结果,向该检测服务器返回所述第二检测结果。检测服务器接收到第一检测结果和第二检测结果后,可以根据第一检测结果预测游戏服务器在下一时间段的网络状态,根据第二检测结果,预测终端在下一时间段的网络状态。进一步,根据游戏服务器在下一时间段的网络状态,以及终端在下一时间段内的网络状态,确定游戏服务器与终端之间的网络连接在下一时间段内的连接状态,生成用于反映游戏服务器与终端之间的网络连接在下一时间段内的连接状态的网络状态预测结果,将网络状态预测结果发送至游戏服务器。通过检测服务器来检测终端与游戏服务器之间的网络状态,提高网络状态检测的准确度,降低游戏服务器的数据处理压力。
需要说明的是,当该网络状态预测结果反映游戏服务器与终端之间的网络连接在下一时间段内的连接状态为异常状态时,该网络状态预测结果还可以用于反映游戏服务器与终端之间的网络连接在下一时间段内的连接状态为异常状态的持续时长以及概率等等中的至少一种。
可理解的是,上述根据第一检测结果预测游戏服务器在下一时间段的网络状态包括:采用网络探测算法根据第一检测结果和游戏服务器的历史网络数据(即历史网络状态),预测游戏服务器在下一时间段的网络状态;此处的网络探测算法可以包括贝叶斯网络预测模型等。同理,上述根据第二检测结果预测终端在下一时间段的网络状态包括:采用该网络探测算法根据第二检测结果和终端的历史网络数据(即历史网络状态),预测终端在下一时间段的网络状态。
进一步,若预测得到游戏服务器与终端之间的网络连接在下一时间段内的连接状态为异常状态,则游戏服务器可以根据网络连接的异常程度,预测游戏玩家针对第一游戏视频帧的目标预测操作数据。具体的,当采用上述方式一预测游戏服务器与终端之间的网络连接在下一时间段内的连接状态时,游戏服务器可以根据第一检测结果和第二检测结果,预测得到该网络连接的连接状态为异常状态的概率以及持续时长。网络连接的连接状态为异常状态的概率反映网络连接在下一段时间内的连接状态为异常状态的可能性,即概率越高,网络连接在下一段时间内的连接状态为异常状态的可能性越高;即概率越低,网络连接在下一段时间内的连接状态为异常状态的可能性越低。当采用上述方式二预测游戏服务器与终端之间的网络连接在下一时间段内的连接状态时,根据该网络状态预测结果,确定该网络连接的连接状态为异常状态的概率以及持续时长。然后,根据该网络连接的连接状态为异常状态的概率以及持续时长,确定该网络连接的连接状态为异常状态的异常程度,该异常程度用于反映该网络连接的连接状态为异常状态的严重程度,该异常程度可以是对该网络连接的连接状态为异常状态的概率与持续时长进行求和处理得到的。然后,可以根据该异常程度,预测该终端对应的游戏玩家针对该第一游戏视频帧的目标预测操作数据。通过网络状态为异常状态的异常程度,动态预测针对第一游戏视频帧的目标预测操作数据,提高获取目标预测操作数据的灵活性。
可理解的是,上述根据该异常程度,预测该终端对应的游戏玩家针对该第一游戏视频帧的目标预测操作数据具有如下两种实施方式:方式一,异常程度决定了游戏服务器需要预测多少个预测操作数据,具体的,游戏服务器可以根据该异常程度,预测该终端对应的游戏玩家针对该第一游戏视频帧的N个预测操作数据;将该N个预测操作数据确定为游戏玩家针对第一游戏视频帧的目标预测操作数据;N为大于1的正整数,N与异常程度之间具有正相关关系,即异常程度越高,则N的取值越大;异常程度越低,N的取值越小。在一实施例中,当N大于1时,N个预测操作数据分别是游戏玩家针对不同游戏视频帧的预测操作数据,即N个预测操作数据中第i个预测操作数据为终端显示第i个游戏视频帧后,游戏玩家针对第i个游戏视频帧的预测操作数据,i为小于N的正整数;这样有利于在网络状态为异常状态时,动态为终端提供预测数据(即目标预测操作数据以及预测渲染指令),避免游戏画面出现卡顿等问题,提高游戏的流畅度和游戏体验。在一个实施例中,N个预测操作数据是指游戏玩家针对同一视频帧(即第一视频帧)的预测操作数据,换言之,在异常程度比较高时,提供更多预测操作数据,提高游戏玩家针对第一游戏视频帧的实际操作数据命中预测操作数据的概率,进而避免游戏画面出现卡顿等问题,提高游戏的流畅度和游戏体验。
需要说明的是,当N个预测操作数据分别是游戏玩家针对不同游戏视频帧的预测操作数据;N个预测操作数据分别对应的视频帧具有不同的显示顺序。例如,第i个预测操作数据对应的第i个游戏视频帧的显示顺序位于第i+1个预测操作数据对应的第i+1个游戏视频帧的显示顺序,第i+1个游戏视频帧是第i个游戏视频帧的预测视频帧,即第i+1个游戏视频帧是根据游戏玩家针对第i个游戏视频帧的预测操作数据对应的预测渲染指令以及第i个游戏视频帧进行预测得到的。
方式二,异常程度决定了游戏服务器需要向终端发送哪些数据,具体的,若该异常程度大于或等于该异常程度阈值,则生成关于该终端的本地渲染指令生成组件的启动指令,将该启动指令发送至所述终端,预测该终端对应的游戏玩家针对该第一游戏视频帧的目标预测操作数据;该终端还用于在该第一游戏视频帧渲染更新后,启动该本地渲染指令生成组件,通过该本地渲染指令生成组件对更新后的第一游戏视频帧进行渲染更新。换言之,当异常程度大于异常程度阈值时,除了需要向终端发送预测数据以外,还需要向终端发送本地渲染指令生成组件的启动指令,这样有利于终端后续启动本地渲染指令生成组件,实现自渲染(即由终端的本地渲染指令生成组件等执行渲染操作),避免终端与服务器之间的网络连接长时间处于异常状态,造成游戏画面出现卡顿等问题,提高游戏的流畅度和游戏体验。
可理解的是,本申请中,游戏服务器可以通过如下两种预测方式中的任一种预测方式,预测该终端对应的游戏玩家针对该第一游戏视频帧的目标预测操作数据:预测方式一,戏服务器可以获取关于该第一游戏视频帧的场景数据,将该第一游戏视频帧的场景数据上报给模型服务器,该模型服务器可以通过第一操作数据预测模型基于该第一游戏视频帧的场景数据,预测得到该游戏玩家针对该第一游戏视频帧的第一预测操作数据。此处的第一操作数据预测模型是模型服务器中用于预测游戏玩家针对游戏视频执行某种操作对应的预测操作数据,第一操作数据预测模型是基于多个游戏玩家在历史时间段内针对历史游戏视频帧的历史实际操作数据进行训练得到的,历史时间段可以是指当前时间之前的近一天内、近一周内等等,历史游戏视频帧可以是指历史时间段内显示在终端中的游戏视频帧,该历史游戏视频帧可以包括第一游戏视频帧。进一步,若接收到该模型服务器返回的第一预测操作数据,可以将该第一预测操作数据,确定为该终端对应的游戏玩家针对该第一游戏视频帧的目标预测操作数据。通过模型服务器预测得到游戏玩家对应的目标预测操作数据,降低游戏服务器的数据处理压力。
需要说明的是,通过第一操作数据预测模型基于该第一游戏视频帧的场景数据,预测得到该游戏玩家针对该第一游戏视频帧的第一预测操作数据的实现过程如下两种实现方式中的任一种,方式a、模型服务器可以通过第一操作数据预测模型根据第一游戏视频帧的场景数据,从历史实际操作数据中筛选出关于第一游戏视频帧的历史实际操作数据,作为第一待选实际操作数据。由于不同游戏玩家对第一游戏视频帧所执行的实际操作可能不同,那么第一待选实际操作数据中可能存在多种实际操作对应的操作数据,因此,通过第一操作数据预测模型统计每种第一待选实际操作数据出现的次数,将出现次数为最大值的第一待选实际操作数据,确定为该游戏玩家针对该第一游戏视频帧的第一预测操作数据。方式b、由于不同游戏玩家对第一游戏视频帧所执行的实际操作可能不同,即不同游戏对象对应的操作可能习惯不一致,因此,模型服务器可以通过第一操作数据预测模型根据第一游戏视频帧的场景数据,从历史实际操作数据中筛选出终端对应游戏玩家关于第一游戏视频帧的历史实际操作数据,作为第二待选实际操作数据。由于终端对应的游戏玩家在不同时间对第一游戏视频帧所执行的实际操作可能不一致,因此,该第二待选实际操作数据中可能存在多种实际操作数据,模型服务器可以通过第一操作数据预测模型统计每种第二待选实际操作数据出现的次数,将出现次数为最大值的第二待选实际操作数据,确定为该游戏玩家针对该第一游戏视频帧的第一预测操作数据。
预测方式二,如图5所示,游戏服务器可以获取关于该第一游戏视频帧的场景数据,通过第二操作数据预测模型,根据所述第一游戏视频帧的场景数据,预测得到该戏玩家针对该第一游戏视频帧的第二预测操作数据。处的第二作数据预测模型是游戏服务器中用于预测游戏玩家针对游戏视频执行某种操作对应的预测操作数据,第二操作数据预测模型是基于多个游戏玩家在历史时间段内针对历史游戏视频帧的历史实际操作数据进行训练得到的。进一步,可以将该第二预测操作数据,确定为该游戏玩家针对该第一游戏视频帧的目标预测操作数据。通过游戏服务器预测得到游戏玩家对应的目标预测操作数据,提高关于目标预测操作数据的预测效率。
需要说明的是,通过第二操作数据预测模型基于该第一游戏视频帧的场景数据,预测得到该游戏玩家针对该第一游戏视频帧的第二预测操作数据的实现过程,可以参考上述通过第一操作数据预测模型基于该第一游戏视频帧的场景数据,预测得到该游戏玩家针对该第一游戏视频帧的第一预测操作数据的实现过程,重复之处,不再赘述。
S102、根据该目标预测操作数据以及该第一游戏视频帧,确定用于对该第一游戏视频帧进行渲染更新的预测渲染指令。
本申请中,游戏服务器可以获取该第一游戏视频帧的场景数据,该第一游戏视频帧的场景数据包括该第一游戏视频帧对应的游戏关卡、游戏规则以及游戏元素的排布情况等等,游戏元素是指游戏道具、游戏对象、以及游戏背景等等。然后,根据该目标预测操作数据以及第一游戏视频帧,确定该第一游戏视频帧的预测视频帧,该第一游戏视频帧的预测视频帧为游戏玩家对第一游戏视频帧执行目标预测操作数据对应的操作后,终端待显示的游戏视频帧,生成第一游戏视频帧的预测视频帧的渲染指令,将第一游戏视频帧的预测视频帧的渲染指令,确定为用于对该第一游戏视频帧进行渲染更新的预测渲染指令。
可理解的是,当目标预测操作数据包括N个预测操作数据,N个预测操作数据为游戏玩家针对不同游戏视频帧的预测操作数据时,则游戏服务器可以根据N个预测操作数据中的第i个预测操作数据,以及第i个游戏视频帧,确定用于对第i个游戏视频帧进行渲染更新的预测渲染指令,将第i个预测操作数据和用于对第i个游戏视频帧进行渲染更新的预测渲染指令进行关联得到第i组预测数据,直到获取到N个预测操作数据分别对应的预测数据,得到N组预测数据。
或者,当目标预测操作数据包括N个预测操作数据,N个预测操作数据均为游戏玩家针对第一游戏视频帧的预测操作数据时,则游戏服务器可以根据N个预测操作数据中的第i个预测操作数据,以及第一游戏视频帧,确定用于对第一游戏视频帧进行渲染更新的第i个预测渲染指令,将i个预测操作数据与用于对第一游戏视频帧进行渲染更新的第i个预测渲染指令进行关联,得到第i组预测数据,直到获取到N个预测操作数据分别对应的预测数据,得到N组预测数据。
S103、将该预测渲染指令以及该目标预测操作数据发送至该终端,该终端用于根据该预测渲染指令和该目标预测操作数据,对该第一游戏视频帧进行渲染更新。
本申请中,当第一游戏视频帧为终端在下一时间段内待显示的游戏视频帧时,游戏服务器可以将第一游戏视频帧、预测渲染指令以及该目标预测操作数据发送至终端,该终端用于在显示该第一游戏视频帧后,根据该预测渲染指令和该目标预测操作数据,对该第一游戏视频帧进行渲染更新。当第一游戏视频帧为终端当前显示的游戏视频帧时,游戏服务器可以将该预测渲染指令以及该目标预测操作数据发送至该终端,该终端用于根据该预测渲染指令和该目标预测操作数据,对该第一游戏视频帧进行渲染更新。
可理解的是,当第一游戏视频帧为终端在下一时间段内待显示的游戏视频帧,且目标预测操作数据包括N个预测操作数据时,游戏服务器可以将第一游戏视频帧以及N组预测数据发送至终端;当第一游戏视频帧为终端当前显示的游戏视频帧时,且目标预测操作数据包括N个预测操作数据时,游戏服务器可以将N组预测数据发送至终端。
需要说明的是,当N个预测操作数据分别是游戏玩家针对不同游戏视频帧的预测操作数据,终端显示第i个游戏视频帧后,游戏玩家针对第i个游戏视频帧的实际操作数据未命中游戏玩家针对第i个游戏视频帧的预测操作数据,表明游戏玩家针对第i个游戏视频帧的实际操作数据与游戏玩家针对第i个游戏视频帧的预测操作数据不匹配,则N组预测数据均失效,终端可以启动本地渲染指令生成组件,通过本地渲染指令生成组件等完成后续的渲染操作;或者等待网络连接的连接状态为正常状态后,通过游戏服务器完成后续的渲染操作。当终端显示第i个游戏视频帧后,游戏玩家针对第i个游戏视频帧的实际操作数据命中游戏玩家针对第i个游戏视频帧的预测操作数据,表明游戏玩家针对第i个游戏视频帧的实际操作数据与游戏玩家针对第i个游戏视频帧的预测操作数据匹配,则终端可以根据游戏玩家针对第i个游戏视频帧的预测操作数据对应的预测渲染指令,对第i个游戏视频帧进行渲染更新,得到第i+1个游戏视频帧。当游戏玩家针对第i个游戏视频帧的实际操作数据命中游戏玩家针对第i个游戏视频帧的预测操作数据时,继续遍历游戏玩家针对第i+1个游戏视频帧的实际操作数据是否命中游戏玩家针对第i+1个游戏视频帧的预测操作数据,循环上述步骤,重复之处不再赘述。
需要说明的是,当N个预测操作数据均是游戏玩家针对第一游戏视频帧的预测操作数据,终端显示第一游戏视频帧后,从N组预测数据中查询是否存在与游戏玩家针对第一游戏视频帧的实际操作数据匹配的预测操作数据,若查询到N组预测数据中某个预测操作数据与游戏玩家针对第一游戏视频帧的实际操作数据匹配,可以根据匹配到的预测操作数据对应的预测渲染指令对第一游戏视频帧进行渲染更新。若在N组预测数据中未查询到与游戏玩家针对第一游戏视频帧的实际操作数据匹配的预测操作数据,终端可以启动本地渲染指令生成组件,通过本地渲染指令生成组件生成该实际操作数据对应实际渲染指令,根据该实际渲染指令对第一游戏视频帧进行渲染更新;或者等待网络连接的连接状态为正常状态后,通过游戏服务器生成该实际操作数据对第一游戏视频帧进行渲染更新。
可理解的是,当游戏服务器选择采用上述预测方式一,预测游戏玩家对应的目标预测操作数据时,在该网络连接的连接状态为正常状态后,接收该终端发送的第一实际操作数据,该第一实际操作数据为该游戏玩家实际针对该第一游戏视频帧的操作数据,该第一实际操作数据为该游戏玩家实际针对该第一游戏视频帧执行的操作对应操作数据。进一步,可以将该第一实际操作数据转发至该模型服务器,通过该模型服务器根据该第一实际操作数据和该第一预测操作数据对该第一操作数据预测模型进行优化训练。具体的,模型服务器可以根据第一实际操作数据和第一预测操作数据确定第一操作数据预测模型的操作数据预测误差,此处的该第一操作数据预测模型的操作数据预测误差用于反映该第一操作数据预测模型针对操作数据的预测准确度,即该第一操作数据预测模型的操作数据预测误差越低,该第一操作数据预测模型针对操作数据的预测准确度越高;该第一操作数据预测模型的操作数据预测误差越高,该第一操作数据预测模型针对操作数据的预测准确度越低。然后,可以根据第一操作数据预测模型的操作数据预测误差,对第一操作数据预测模型进行优化训练,以提高操作数据的预测准确度。
可理解的是,当游戏服务器选择采用上述预测方式二,预测游戏玩家对应的目标预测操作数据时,如图6所示,在该网络连接的连接状态为正常状态后,游戏服务器可以接收该终端发送的第一实际操作数据,该第一实际操作数据为该游戏玩家实际针对该第一游戏视频帧的操作数据,根据所述第一实际操作数据和所述第二预测操作数据,确定该第二操作数据预测模型的操作数据预测误差。此处的该第二操作数据预测模型的操作数据预测误差用于反映该第二操作数据预测模型针对操作数据的预测准确度,即该第二操作数据预测模型的操作数据预测误差越低,该第二操作数据预测模型针对操作数据的预测准确度越高;该第二操作数据预测模型的操作数据预测误差越高,该第二操作数据预测模型针对操作数据的预测准确度越低。然后,可以根据该操作数据预测误差,对该第二操作数据预测模型进行优化训练,得到优化后的第二操作数据预测模型,以提高操作数据的预测准确度。
可理解的是,上述根据该操作数据预测误差,对该第二操作数据预测模型进行优化训练,得到优化后的第二操作数据预测模型,包括:游戏服务器可以根据第二操作数据预测模型的操作数据预测误差,确定该第二操作数据预测模型的收敛状态,该第二操作数据预测模型的收敛状态包括已收敛状态或未收敛状态,第二操作数据预测模型的收敛状态为已收敛状态是指第二操作数据预测模型的操作数据预测误差小于误差阈值,或者,操作数据预测误差大于或等于误差阈值,且第二操作数据预测模型的训练迭代次数大于次数阈值;第二操作数据预测模型的收敛状态为未收敛状态是指第二操作数据预测模型的操作数据预测误差大于或等于误差阈值,或者,操作数据预测误差大于或等于误差阈值,且第二操作数据预测模型的训练迭代次数小于或等于次数阈值。进一步,若该第二操作数据预测模型的收敛状态为未收敛状态,则根据该操作数据预测误差,对该第二操作数据预测模型进行调整,直到调整后的第二操作数据预测模型的收敛状态为已收敛状态,将调整后的第二操作数据预测模型,确定为优化后的第二操作数据预测模型,以提高操作数据的预测准确度。
可理解的是,在该网络连接的连接状态为正常状态后,游戏服务器可以接收该终端返回的最新帧标识以及第二实际操作数据,该最新帧标识为该终端中最新显示的第二游戏视频帧的帧标识,该第二实际操作数据为该游戏玩家实际针对该第二游戏视频帧的操作数据。进一步,根据该第二实际操作数据和该最新帧标识,渲染得到第三游戏视频帧,将该第三游戏视频帧发送至该终端。换言之,游戏服务器与终端之间的网络连接在恢复正常后,通过云端渲染策略(即游戏服务器)执行终端的渲染需求,实现基于网络状态动态调度游戏渲染功能。需要说明的是,第二游戏视频帧可以是指对第一游戏视频帧进行渲染更新得到的,或者,第二游戏视频帧可以是指第一游戏视频帧,当该第二游戏视频帧为第一游戏视频帧时,该第二实际操作数据为第一实际操作数据。
本申请中,在预测得到游戏服务器与终端之间的网络连接在未来时间(即下一时间段内)的连接状态为异常状态时,通过游戏服务器提前预测得到针对当前游戏视频帧(即第一游戏视频帧)的目标预测操作以及预测渲染指令,将预测渲染指令以及目标预测操作下发至终端。此处的目标预测操作为预测游戏玩家针对该当游戏视频帧的操作,预测渲染指令为用于对当前游戏视频帧进行渲染更新的指令。通过终端根据该目标预测操作和预测渲染指令对当前游戏视频帧进行渲染更新,实现游戏渲染功能的灵活调度,解决因网络波动等异常导致游戏无法畅玩的问题,避免出现丢帧事件以及游戏画面卡顿等问题,提高游戏画面的流畅度,提高游戏体验以及游戏渲染能力。同时,通过根据网络连接的连接状态,动态调度游戏服务器的渲染功能和终端的游戏渲染功能,提高游戏服务器的渲染功能和终端的游戏渲染功能的利用率。
进一步地,请参见图7,是本申请实施例提供的一种游戏数据渲染方法的流程示意图。如图7所示,该方法可由图1中的终端来执行。其中,该方法可以包括如下步骤:
S201、从游戏服务器中获取预测渲染指令以及目标预测操作数据;该目标预测操作数据为该游戏服务器预测得到该游戏服务器与终端之间的网络连接在下一时间段内的连接状态为异常状态后,预测该终端对应的游戏玩家针对第一游戏视频帧的操作数据,该预测渲染指令为根据该第一游戏视频帧以及该目标预测操作数据确定的。
可理解的是,上述第一游戏视频帧可以为终端中当前显示的游戏视频帧,或者,该第一游戏视频帧为当前由游戏服务器渲染得到的,且还未发送至终端的视频帧,即第一游戏视频帧为终端在下一时间段内待显示的游戏视频帧。当第一游戏视频帧为终端在下一时间段内待显示的游戏视频帧时,上述步骤S201包括:S2011、终端可以从游戏服务器中获取第一游戏视频帧、预测渲染指令以及目标预测操作数据;S2012、终端显示第一游戏视频帧。
可理解的是,第一游戏视频帧终端中当前显示的游戏视频帧,且目标预测操作数据包括N个预测操作数据时,上述S2011包括:终端可以从游戏服务器中获取N个预测操作数据对应的N组预测数据。当第一游戏视频帧为终端在下一时间段内待显示的游戏视频帧,且目标预测操作数据包括N个预测操作数据时,上述S2011包括:终端可以从游戏服务器中获取第一游戏视频帧、以及N个预测操作数据对应的N组预测数据。
其中,N个预测操作数据可以为游戏玩家针对不同游戏视频帧的预测操作数据,或者,N个预测操作数据均是游戏玩家针对第一游戏视频帧的预测操作数据。
S202、若检测到该游戏玩家针对该第一游戏视频帧的第一实际操作数据,则根据该第一实际操作数据、该目标预测操作数据以及该预测渲染指令,对该第一游戏视频帧进行渲染更新。
步骤S201~步骤S202中,终端可以从游戏服务器中获取预测渲染指令以及目标预测操作数据,确定终端与游戏服务器之间的网络连接在下一时间段内的连接状态为异常状态。因此,当检测到游戏玩家针对第一游戏视频帧的第一实际操作数据,可以根据该第一实际操作数据、该目标预测操作数据以及预测渲染指令,对该第一游戏视频帧进行渲染更新。换言之,在终端与游戏服务器之间的网络连接在下一时间段内的连接状态为异常状态时,通过终端协助游戏服务器的方式(即双端渲染策略)实现对游戏视频帧的渲染,实现游戏渲染功能的灵活调度,解决因网络波动等异常导致游戏无法畅玩的问题,避免出现丢帧事件以及游戏画面卡顿等问题,提高游戏画面的流畅度,提高游戏体验以及游戏渲染能力。
可理解的是,终端可以根据下两种方式中的任一种方式,实现上述步骤S202:方式一:终端可以将该第一实际操作数据与该目标操作数据进行比对,若该第一实际操作数据与该目标预测操作数据之间匹配,则根据该预测渲染指令对该第一游戏视频帧进行渲染更新,实现双端渲染,即由终端和游戏服务器协同执行终端的渲染需求。该第一实际操作数据与该目标预测操作数据之间匹配可以是指相同或相似,例如,第一实际操作数据、目标预测操作数据均是指游戏玩家对第一游戏视频帧的同一位置所执行的操作对应的操作数据。进一步,若该第一实际操作数据与该目标预测操作数据之间不匹配,则终端可以等待在该网络连接的连接状态为正常状态时,将该第一实际操作数据以及该第一游戏视频帧的帧标识发送至该游戏服务器,显示该游戏服务器返回的更新后的第一游戏视频帧,实现云端渲染,即游戏服务器执行终端的渲染需求。该更新后的第一游戏视频帧为该游戏服务器根据该第一实际操作数据以及该第一游戏视频帧的帧标识,对该第一游戏视频帧进行渲染更新得到的。
方式二,终端可以将该第一实际操作数据与该目标操作数据进行比对,若该第一实际操作数据与所述目标预测操作数据之间匹配,则终端可以根据所述预测渲染指令,对所述第一游戏视频帧进行渲染更新;实现双端渲染,即由终端和游戏服务器协同执行终端的渲染需求。若该第一实际操作数据与该目标预测操作数据之间不匹配,则终端可以启动该终端的本地渲染指令生成组件,该本地渲染指令生成组件可以是指用于生成渲染指令的组件,该本地渲染指令生成组件可以是指一种软件或硬件,或者软件和硬件结合的工具。进一步,终端可以通过所述本地渲染指令生成组件生成该第一实际操作数据对应的第一实际渲染指令,根据该第一实际渲染指令对该第一游戏视频帧进行渲染更新,实现自渲染,即由终端执行自身的渲染需求。
需要说明的是,该本地渲染指令生成组件可以为用于生成渲染指令的离线数据包,也可以称为本地AI服务,该本地渲染指令生成组件中存储有大量游戏视频帧的实际操作数据,每个视频帧的实际操作数据对应的实际渲染指令,能够确保在断网的情况下,通过本地渲染指令生成组件实现中继,提高游戏玩家的游戏体验。
需要说明的是,当终端中获取到更新后的第一游戏视频帧后,可以将更新后的第一游戏视频帧暂存在数据缓存区中,如果后续再次检测到针对第一游戏视频帧的第一实际操作数据时,可以从数据缓存区读取该更新后的第一游戏视频帧进行显示,提高游戏视频帧的渲染效率,节省数据处理资源。
可理解的是,上述若第一实际操作数据与目标预测操作数据之间匹配,则根据该预测渲染指令,对该第一游戏视频帧进行渲染更新,包括:若该第一实际操作数据与该目标预测操作数据之间匹配,则启动该终端的本地图形渲染组件;此处的本地图形渲染组件为用于执行渲染指令的组件,该本地图形渲染指令可以是指一种软件或硬件,或软件和硬件结合的工具,如该本地图形渲染组件可以是指图形处理器(GPU)。进一步,可以通过该本地图形渲染组件执行该预测渲染指令,对该第一游戏视频帧进行渲染更新,即通过该本地图形渲染组件调用底层openGL库函数执行预测渲染指令,对第一游戏视频帧进行渲染更新;通过本地图形渲染组件执行预测渲染指令,可避免由于网络波动等异常情况造成游戏画面出现卡顿等问题,提高游戏的流畅度。
需要说明的是,当目标预测操作数据包括N个预测操作数据时,N个预测操作数据均是游戏玩家针对第一游戏视频帧的预测操作数据时,上述将该第一实际操作数据与该目标操作数据进行比对,包括:将第一实际操作数据与N组预测数据中的预测操作数据进行比对,若该第一实际操作数据与该N组预测数据中的某个预测操作数据匹配,则可以确定第一实际操作数据与目标预测操作数据匹配,以便根据匹配到的预测操作数据对应的预测渲染指令,对第一游戏视频帧进行渲染更新。若N组预测数据中不存在与第一实际操作数据匹配的预测操作数据,则可以确定第一实际操作数据与目标预测操作数据不匹配。
需要说明的是,当目标预测操作数据包括N个预测操作数据时,N个预测操作数据是游戏玩家针对不同游戏视频帧的预测操作数据时,上述将该第一实际操作数据与该目标操作数据进行比对,包括:将第一实际操作数据与N组预测数据中关于第一游戏视频帧的预测操作数据进行比对,若该第一实际操作数据与N组预测数据中关于第一游戏视频帧的预测操作数据匹配,则可以确定第一实际操作数据与目标预测操作数据匹配,以便根据关于第一游戏视频帧的预测操作数据对应的预测渲染指令,对第一游戏视频帧进行渲染更新。若该第一实际操作数据与N组预测数据中关于第一游戏视频帧的预测操作数据不匹配,则可以确定第一实际操作数据与目标预测操作数据不匹配。
可理解的是,若检测到该游戏玩家针对更新后的第一游戏视频帧的第三实际操作数据,且接收到关于本地渲染指令生成组件的启动指令,则终端可以启动该终端的本地渲染指令生成组件。该启动指令是该游戏服务器预测得到该网络连接的连接状态为异常状态的异常程度大于异常程度阈值后生成的;通过所述本地渲染指令生成组件,生成该第三实际操作数据对应的第二实际渲染指令;根据该第二实际渲染指令,对该更新后的第一游戏视频帧进行渲染更新。换言之,在服务器与终端之间的网络连接的连接状态长时间处于异常状态时,终端可以通过本地渲染指令生成组件,实现自渲染,避免由于网络波动等异常情况造成游戏画面出现卡顿等问题,提高游戏的流畅度。换言之,在预测操作数据以及目标预测渲染指令(或N组预测数据)均都用完情况下,这时终端与游戏服务器之间的网络连接的连接状态仍为异常状态,终端可以开启本地单机模式,确保为游戏玩家提供正常的游戏服务。即通过游戏玩家的第三实际操作数据,由本地渲染指令生成组件反馈对应的第二实际渲染指令,通过本地GPU渲染能力,渲染得到最新的游戏画面。
可理解的是,当终端与游戏服务器之间的网络连接的连接状态为正常状态后,终端可以获取终端中当前显示的最新游戏视频帧的最新帧标识,以及游戏玩家针对最新游戏视频帧的第二实际操作数据,将该最新帧标识和第二实际操作数据发送至游戏服务器,接收游戏服务器返回的根据第二实际操作数据和最新帧标识渲染得到第二游戏视频帧,显示第二游戏视频帧。
本申请中,在预测得到游戏服务器与终端之间的网络连接在未来时间(即下一时间段内)的连接状态为异常状态时,通过游戏服务器提前预测得到针对当前游戏视频帧(即第一游戏视频帧)的目标预测操作以及预测渲染指令,将预测渲染指令以及目标预测操作下发至终端。此处的目标预测操作为预测游戏玩家针对该当游戏视频帧的操作,预测渲染指令为用于对当前游戏视频帧进行渲染更新的指令。通过终端根据该目标预测操作和预测渲染指令对当前游戏视频帧进行渲染更新,实现游戏渲染功能的灵活调度,解决因网络波动等异常导致游戏无法畅玩的问题,避免出现丢帧事件以及游戏画面卡顿等问题,提高游戏画面的流畅度,提高游戏体验以及游戏渲染能力。同时,通过根据网络连接的连接状态,动态调度游戏服务器的渲染功能和终端的游戏渲染功能,提高游戏服务器的渲染功能和终端的游戏渲染功能的利用率。
请参见图8,是本申请实施例提供的一种游戏数据渲染装置的结构示意图。如图8所示,该游戏数据渲染装置可以包括:
预测模块811,用于若预测得到游戏服务器与终端之间的网络连接在下一时间段内的连接状态为异常状态,则预测所述终端对应的游戏玩家针对第一游戏视频帧的目标预测操作数据;
确定模块812,用于根据所述目标预测操作数据以及所述第一游戏视频帧,确定用于对所述第一游戏视频帧进行渲染更新的预测渲染指令;
发送模块813,用于将所述预测渲染指令以及所述目标预测操作数据发送至所述终端,所述终端用于根据所述预测渲染指令和所述目标预测操作数据,对所述第一游戏视频帧进行渲染更新。
可理解的是,预测模块811若预测得到游戏服务器与终端之间的网络连接在下一时间段内的连接状态为异常状态,则预测所述终端对应的游戏玩家针对第一游戏视频帧的目标预测操作数据,包括:
接收检测服务器发送的第一网络测试包;
根据所述第一网络测试包检测所述游戏服务器当前的网络状态,得到第一检测结果,向所述检测服务器返回所述第一检测结果,所述检测服务器用于根据所述第一检测结果和第二检测结果,预测所述游戏服务器与所述终端之间的网络连接在所述下一时间段内的连接状态,得到网络状态预测结果;所述第二检测结果是由所述终端根据第二网络测试包对所述终端当前的网络状态进行检测得到的,所述第二网络测试包是由所述检测服务器发送至所述终端的;
接收所述检测服务器返回的所述网络状态预测结果;
若所述网络状态预测结果指示所述网络连接在所述下一时间段内的连接状态为异常状态,则预测所述终端对应的游戏玩家针对所述第一游戏视频帧的目标预测操作数据。
可理解的是,预测模块811可以包括第一确定单元81a,第二确定单元82a以及预测单元83a;
第一确定单元81a,用于若预测得到游戏服务器与终端之间的网络连接在下一时间段内的连接状态为异常状态,则确定所述网络连接的连接状态为异常状态的概率以及持续时长;
第二确定单元82a,用于根据所述网络连接的连接状态为异常状态的概率以及持续时长,确定所述网络连接的连接状态为异常状态的异常程度;
预测单元83a,用于根据所述异常程度,预测所述终端对应的游戏玩家针对所述第一游戏视频帧的目标预测操作数据。
可理解的是,预测单元83a根据所述异常程度,预测所述终端对应的游戏玩家针对所述第一游戏视频帧的目标预测操作数据,包括:
若所述异常程度小于异常程度阈值,则预测所述终端对应的游戏玩家针对所述第一游戏视频帧的目标预测操作数据;
若所述异常程度大于或等于所述异常程度阈值,则生成关于所述终端的本地渲染指令生成组件的启动指令,将所述启动指令发送至所述终端,预测所述终端对应的游戏玩家针对所述第一游戏视频帧的目标预测操作数据;所述终端还用于在所述第一游戏视频帧渲染更新后,启动所述本地渲染指令生成组件,通过所述本地渲染指令生成组件对更新后的第一游戏视频帧进行渲染更新。
可理解的是,预测模块811预测所述终端对应的游戏玩家针对所述第一游戏视频帧的目标预测操作数据,包括:
获取关于所述第一游戏视频帧的场景数据;
将所述第一游戏视频帧的场景数据上报给模型服务器,所述模型服务器用于通过第一操作数据预测模型基于所述第一游戏视频帧的场景数据,预测得到所述游戏玩家针对所述第一游戏视频帧的第一预测操作数据;
若接收到所述模型服务器返回的第一预测操作数据,则将所述第一预测操作数据,确定为所述终端对应的游戏玩家针对所述第一游戏视频帧的目标预测操作数据。
可理解的是,预测模块811预测所述终端对应的游戏玩家针对所述第一游戏视频帧的目标预测操作数据,包括:
获取关于所述第一游戏视频帧的场景数据;
通过第二操作数据预测模型,根据所述第一游戏视频帧的场景数据,预测得到所述游戏玩家针对所述第一游戏视频帧的第二预测操作数据;
将所述第二预测操作数据,确定为所述游戏玩家针对所述第一游戏视频帧的目标预测操作数据。
可理解的是,该装置还包括接收模块814以及转发模块815;
接收模块814,用于在所述网络连接的连接状态为正常状态后,接收所述终端发送的第一实际操作数据,所述第一实际操作数据为所述游戏玩家实际针对所述第一游戏视频帧的操作数据;
转发模块815,用于将所述第一实际操作数据转发至所述模型服务器,所述模型服务器还用于根据所述第一实际操作数据和所述第一预测操作数据对所述第一操作数据预测模型进行优化训练。
接收模块814,还用于在所述网络连接的连接状态为正常状态后,接收所述终端发送的第一实际操作数据,所述第一实际操作数据为所述游戏玩家实际针对所述第一游戏视频帧的操作数据;
确定模块812,还用于根据所述第一实际操作数据和所述第二预测操作数据,确定所述第二操作数据预测模型的操作数据预测误差;根据所述操作数据预测误差,对所述第二操作数据预测模型进行优化训练,得到优化后的第二操作数据预测模型。
可理解的是,确定模块812根据所述操作数据预测误差,对所述第二操作数据预测模型进行优化训练,得到优化后的第二操作数据预测模型,包括:
根据所述操作数据预测误差,确定所述第二操作数据预测模型的收敛状态;
若所述第二操作数据预测模型的收敛状态为未收敛状态,则根据所述操作数据预测误差,对所述第二操作数据预测模型进行调整,直到调整后的第二操作数据预测模型的收敛状态为已收敛状态,将调整后的第二操作数据预测模型,确定为优化后的第二操作数据预测模型。
接收模块814,还用于在所述网络连接的连接状态为正常状态后,接收所述终端返回的最新帧标识以及第二实际操作数据;所述最新帧标识为所述终端中最新显示的第二游戏视频帧的帧标识,所述第二实际操作数据为所述游戏玩家实际针对所述第二游戏视频帧的操作数据;
可理解的是,该装置还包括渲染模块816;
渲染模块816,用于根据所述第二实际操作数据和所述最新帧标识,渲染得到第三游戏视频帧,将所述第三游戏视频帧发送至所述终端。
本申请中,在预测得到游戏服务器与终端之间的网络连接在未来时间(即下一时间段内)的连接状态为异常状态时,通过游戏服务器提前预测得到针对当前游戏视频帧(即第一游戏视频帧)的目标预测操作以及预测渲染指令,将预测渲染指令以及目标预测操作下发至终端。此处的目标预测操作为预测游戏玩家针对该当游戏视频帧的操作,预测渲染指令为用于对当前游戏视频帧进行渲染更新的指令。通过终端根据该目标预测操作和预测渲染指令对当前游戏视频帧进行渲染更新,实现游戏渲染功能的灵活调度,解决因网络波动等异常导致游戏无法畅玩的问题,避免出现丢帧事件以及游戏画面卡顿等问题,提高游戏画面的流畅度,提高游戏体验以及游戏渲染能力。同时,通过根据网络连接的连接状态,动态调度游戏服务器的渲染功能和终端的游戏渲染功能,提高游戏服务器的渲染功能和终端的游戏渲染功能的利用率。
请参见图9,是本申请实施例提供的一种游戏数据渲染装置的结构示意图。如图9所示,该游戏数据渲染装置可以包括:
获取模块911,用于从游戏服务器中获取预测渲染指令以及目标预测操作数据;所述目标预测操作数据为所述游戏服务器预测得到所述游戏服务器与终端之间的网络连接在下一时间段内的连接状态为异常状态后,预测所述终端对应的游戏玩家针对第一游戏视频帧的操作数据,所述预测渲染指令是根据所述第一游戏视频帧以及所述目标预测操作数据确定得到的;
渲染模块912,用于若检测到所述游戏玩家针对所述第一游戏视频帧的第一实际操作数据,则根据所述第一实际操作数据、所述目标预测操作数据以及所述预测渲染指令,对所述第一游戏视频帧进行渲染更新。
可理解的是,渲染模块912根据所述第一实际操作数据、所述目标预测操作数据以及所述预测渲染指令,对所述第一游戏视频帧进行渲染更新,包括:
若所述第一实际操作数据与所述目标预测操作数据之间匹配,则根据所述预测渲染指令,对所述第一游戏视频帧进行渲染更新;
若所述第一实际操作数据与所述目标预测操作数据之间不匹配,则在所述网络连接的连接状态为正常状态时,将所述第一实际操作数据以及所述第一游戏视频帧的帧标识发送至所述游戏服务器,显示所述游戏服务器返回的更新后的第一游戏视频帧;所述更新后的第一游戏视频帧为所述游戏服务器根据所述第一实际操作数据以及所述第一游戏视频帧的帧标识,对所述第一游戏视频帧进行渲染更新得到的。
可理解的是,渲染模块912根据所述第一实际操作数据、所述目标预测操作数据以及所述预测渲染指令,对所述第一游戏视频帧进行渲染更新,包括:
若所述第一实际操作数据与所述目标预测操作数据之间匹配,则根据所述预测渲染指令,对所述第一游戏视频帧进行渲染更新;
若所述第一实际操作数据与所述目标预测操作数据之间不匹配,则启动所述终端的本地渲染指令生成组件,通过所述本地渲染指令生成组件生成所述第一实际操作数据对应的第一实际渲染指令,根据所述第一实际渲染指令对所述第一游戏视频帧进行渲染更新。
可理解的是,渲染模块912若所述第一实际操作数据与所述目标预测操作数据之间匹配,则根据所述预测渲染指令,对所述第一游戏视频帧进行渲染更新,包括:
若所述第一实际操作数据与所述目标预测操作数据之间匹配,则启动所述终端的本地图形渲染组件;
通过所述本地图形渲染组件执行所述预测渲染指令,对所述第一游戏视频帧进行渲染更新。
可理解的是,该装置还包括启动模块913以及生成模块914;
启动模块913,用于若检测到所述游戏玩家针对更新后的第一游戏视频帧的第三实际操作数据,且接收到关于本地渲染指令生成组件的启动指令,则启动所述终端的本地渲染指令生成组件;所述启动指令是所述游戏服务器预测得到所述网络连接的连接状态为异常状态的异常程度大于异常程度阈值后生成的;
生成模块914,用于通过所述本地渲染指令生成组件,生成所述第三实际操作数据对应的第二实际渲染指令;
渲染模块912,用于根据所述第二实际渲染指令,对所述更新后的第一游戏视频帧进行渲染更新。
本申请中,在预测得到游戏服务器与终端之间的网络连接在未来时间(即下一时间段内)的连接状态为异常状态时,通过游戏服务器提前预测得到针对当前游戏视频帧(即第一游戏视频帧)的目标预测操作以及预测渲染指令,将预测渲染指令以及目标预测操作下发至终端。此处的目标预测操作为预测游戏玩家针对该当游戏视频帧的操作,预测渲染指令为用于对当前游戏视频帧进行渲染更新的指令。通过终端根据该目标预测操作和预测渲染指令对当前游戏视频帧进行渲染更新,实现游戏渲染功能的灵活调度,解决因网络波动等异常导致游戏无法畅玩的问题,避免出现丢帧事件以及游戏画面卡顿等问题,提高游戏画面的流畅度,提高游戏体验以及游戏渲染能力。同时,通过根据网络连接的连接状态,动态调度游戏服务器的渲染功能和终端的游戏渲染功能,提高游戏服务器的渲染功能和终端的游戏渲染功能的利用率。
请参见图10,是本申请实施例提供的一种计算机设备的结构示意图。如图10所示,上述计算机设备1000可以为上述方法中的第一设备,具体可以是指终端或服务器,包括:处理器1001,网络接口1004和存储器1005,此外,上述计算机设备1000还可以包括:用户接口1003,和至少一条通信总线1002。其中,通信总线1002用于实现这些组件之间的连接通信。其中,在一些实施例中,用户接口1003可以包括显示屏(DiSPlay)、键盘(Keyboard),可选用户接口1003还可以包括标准的有线接口、无线接口。网络接口1004可选的可以包括标准的有线接口、无线接口(如WI-FI接口)。存储器1005可以是高速RAM存储器,也可以是非易失性的存储器(non-volatile MeMory),例如至少一个磁盘存储器。存储器1005可选的还可以是至少一个在远离前述处理器1001的存储装置。如图10所示,作为一种计算机可读存储介质的存储器1005中可以包括操作系统、网络通信模块、用户接口模块以及计算机应用程序。
在图10所示的计算机设备1000中,网络接口1004可提供网络通讯功能;而用户接口1003主要用于提供输入的接口;而处理器1001可以用于调用存储器1005中存储的计算机应用程序,以实现:
若预测得到游戏服务器与终端之间的网络连接在下一时间段内的连接状态为异常状态,则预测所述终端对应的游戏玩家针对第一游戏视频帧的目标预测操作数据;
根据所述目标预测操作数据以及所述第一游戏视频帧,确定用于对所述第一游戏视频帧进行渲染更新的预测渲染指令;
将所述预测渲染指令以及所述目标预测操作数据发送至所述终端,所述终端用于根据所述预测渲染指令和所述目标预测操作数据,对所述第一游戏视频帧进行渲染更新。
可理解的是,处理器1001可以用于调用存储器1005中存储的计算机应用程序,以实现若预测得到游戏服务器与终端之间的网络连接在下一时间段内的连接状态为异常状态,则预测所述终端对应的游戏玩家针对第一游戏视频帧的目标预测操作数据,包括:
接收检测服务器发送的第一网络测试包;
根据所述第一网络测试包检测所述游戏服务器当前的网络状态,得到第一检测结果,向所述检测服务器返回所述第一检测结果,所述检测服务器用于根据所述第一检测结果和第二检测结果,预测所述游戏服务器与所述终端之间的网络连接在所述下一时间段内的连接状态,得到网络状态预测结果;所述第二检测结果是由所述终端根据第二网络测试包对所述终端当前的网络状态进行检测得到的,所述第二网络测试包是由所述检测服务器发送至所述终端的;
接收所述检测服务器返回的所述网络状态预测结果;
若所述网络状态预测结果指示所述网络连接在所述下一时间段内的连接状态为异常状态,则预测所述终端对应的游戏玩家针对所述第一游戏视频帧的目标预测操作数据。
可理解的是,处理器1001可以用于调用存储器1005中存储的计算机应用程序,以实现若预测得到游戏服务器与终端之间的网络连接在下一时间段内的连接状态为异常状态,则预测所述终端对应的游戏玩家针对第一游戏视频帧的目标预测操作数据,包括:
若预测得到游戏服务器与终端之间的网络连接在下一时间段内的连接状态为异常状态,则确定所述网络连接的连接状态为异常状态的概率以及持续时长;
根据所述网络连接的连接状态为异常状态的概率以及持续时长,确定所述网络连接的连接状态为异常状态的异常程度;
根据所述异常程度,预测所述终端对应的游戏玩家针对所述第一游戏视频帧的目标预测操作数据。
可理解的是,处理器1001可以用于调用存储器1005中存储的计算机应用程序,以实现根据所述异常程度,预测所述终端对应的游戏玩家针对所述第一游戏视频帧的目标预测操作数据,包括:
若所述异常程度小于异常程度阈值,则预测所述终端对应的游戏玩家针对所述第一游戏视频帧的目标预测操作数据;
若所述异常程度大于或等于所述异常程度阈值,则生成关于所述终端的本地渲染指令生成组件的启动指令,将所述启动指令发送至所述终端,预测所述终端对应的游戏玩家针对所述第一游戏视频帧的目标预测操作数据;所述终端还用于在所述第一游戏视频帧渲染更新后,启动所述本地渲染指令生成组件,通过所述本地渲染指令生成组件对更新后的第一游戏视频帧进行渲染更新。
可理解的是,处理器1001可以用于调用存储器1005中存储的计算机应用程序,以实现预测所述终端对应的游戏玩家针对所述第一游戏视频帧的目标预测操作数据,包括:
获取关于所述第一游戏视频帧的场景数据;
将所述第一游戏视频帧的场景数据上报给模型服务器,所述模型服务器用于通过第一操作数据预测模型基于所述第一游戏视频帧的场景数据,预测得到所述游戏玩家针对所述第一游戏视频帧的第一预测操作数据;
若接收到所述模型服务器返回的第一预测操作数据,则将所述第一预测操作数据,确定为所述终端对应的游戏玩家针对所述第一游戏视频帧的目标预测操作数据。
可理解的是,处理器1001可以用于调用存储器1005中存储的计算机应用程序,以实现预测所述终端对应的游戏玩家针对所述第一游戏视频帧的目标预测操作数据,包括:
获取关于所述第一游戏视频帧的场景数据;
通过第二操作数据预测模型,根据所述第一游戏视频帧的场景数据,预测得到所述游戏玩家针对所述第一游戏视频帧的第二预测操作数据;
将所述第二预测操作数据,确定为所述游戏玩家针对所述第一游戏视频帧的目标预测操作数据。
可理解的是,处理器1001可以用于调用存储器1005中存储的计算机应用程序,以实现:
在所述网络连接的连接状态为正常状态后,接收所述终端发送的第一实际操作数据,所述第一实际操作数据为所述游戏玩家实际针对所述第一游戏视频帧的操作数据;
将所述第一实际操作数据转发至所述模型服务器,所述模型服务器还用于根据所述第一实际操作数据和所述第一预测操作数据对所述第一操作数据预测模型进行优化训练。
可理解的是,处理器1001可以用于调用存储器1005中存储的计算机应用程序,以实现:
在所述网络连接的连接状态为正常状态后,接收所述终端发送的第一实际操作数据,所述第一实际操作数据为所述游戏玩家实际针对所述第一游戏视频帧的操作数据;
根据所述第一实际操作数据和所述第二预测操作数据,确定所述第二操作数据预测模型的操作数据预测误差;
根据所述操作数据预测误差,对所述第二操作数据预测模型进行优化训练,得到优化后的第二操作数据预测模型。
可理解的是,处理器1001可以用于调用存储器1005中存储的计算机应用程序,以实现根据所述操作数据预测误差,对所述第二操作数据预测模型进行优化训练,得到优化后的第二操作数据预测模型,包括:
根据所述操作数据预测误差,确定所述第二操作数据预测模型的收敛状态;
若所述第二操作数据预测模型的收敛状态为未收敛状态,则根据所述操作数据预测误差,对所述第二操作数据预测模型进行调整,直到调整后的第二操作数据预测模型的收敛状态为已收敛状态,将调整后的第二操作数据预测模型,确定为优化后的第二操作数据预测模型。
可理解的是,处理器1001可以用于调用存储器1005中存储的计算机应用程序,以实现:
在所述网络连接的连接状态为正常状态后,接收所述终端返回的最新帧标识以及第二实际操作数据;所述最新帧标识为所述终端中最新显示的第二游戏视频帧的帧标识,所述第二实际操作数据为所述游戏玩家实际针对所述第二游戏视频帧的操作数据;
根据所述第二实际操作数据和所述最新帧标识,渲染得到第三游戏视频帧,将所述第三游戏视频帧发送至所述终端。
可理解的是,处理器1001可以用于调用存储器1005中存储的计算机应用程序,以实现:
从游戏服务器中获取预测渲染指令以及目标预测操作数据;所述目标预测操作数据为所述游戏服务器预测得到所述游戏服务器与终端之间的网络连接在下一时间段内的连接状态为异常状态后,预测所述终端对应的游戏玩家针对第一游戏视频帧的操作数据,所述预测渲染指令是根据所述第一游戏视频帧以及所述目标预测操作数据确定得到的;
若检测到所述游戏玩家针对所述第一游戏视频帧的第一实际操作数据,则根据所述第一实际操作数据、所述目标预测操作数据以及所述预测渲染指令,对所述第一游戏视频帧进行渲染更新。
可理解的是,处理器1001可以用于调用存储器1005中存储的计算机应用程序,以实现根据所述第一实际操作数据、所述目标预测操作数据以及所述预测渲染指令,对所述第一游戏视频帧进行渲染更新,包括:
若所述第一实际操作数据与所述目标预测操作数据之间匹配,则根据所述预测渲染指令,对所述第一游戏视频帧进行渲染更新;
若所述第一实际操作数据与所述目标预测操作数据之间不匹配,则在所述网络连接的连接状态为正常状态时,将所述第一实际操作数据以及所述第一游戏视频帧的帧标识发送至所述游戏服务器,显示所述游戏服务器返回的更新后的第一游戏视频帧;所述更新后的第一游戏视频帧为所述游戏服务器根据所述第一实际操作数据以及所述第一游戏视频帧的帧标识,对所述第一游戏视频帧进行渲染更新得到的。
可理解的是,处理器1001可以用于调用存储器1005中存储的计算机应用程序,以实现根据所述第一实际操作数据、所述目标预测操作数据以及所述预测渲染指令,对所述第一游戏视频帧进行渲染更新,包括:
若所述第一实际操作数据与所述目标预测操作数据之间匹配,则根据所述预测渲染指令,对所述第一游戏视频帧进行渲染更新;
若所述第一实际操作数据与所述目标预测操作数据之间不匹配,则启动所述终端的本地渲染指令生成组件,通过所述本地渲染指令生成组件生成所述第一实际操作数据对应的第一实际渲染指令,根据所述第一实际渲染指令对所述第一游戏视频帧进行渲染更新。
可理解的是,处理器1001可以用于调用存储器1005中存储的计算机应用程序,以实现若所述第一实际操作数据与所述目标预测操作数据之间匹配,则根据所述预测渲染指令,对所述第一游戏视频帧进行渲染更新,包括:
若所述第一实际操作数据与所述目标预测操作数据之间匹配,则启动所述终端的本地图形渲染组件;
通过所述本地图形渲染组件执行所述预测渲染指令,对所述第一游戏视频帧进行渲染更新。
可理解的是,处理器1001可以用于调用存储器1005中存储的计算机应用程序,以实现:
若检测到所述游戏玩家针对更新后的第一游戏视频帧的第三实际操作数据,且接收到关于本地渲染指令生成组件的启动指令,则启动所述终端的本地渲染指令生成组件;所述启动指令是所述游戏服务器预测得到所述网络连接的连接状态为异常状态的异常程度大于异常程度阈值后生成的;
通过所述本地渲染指令生成组件,生成所述第三实际操作数据对应的第二实际渲染指令;
根据所述第二实际渲染指令,对所述更新后的第一游戏视频帧进行渲染更新。
本申请中,在预测得到游戏服务器与终端之间的网络连接在未来时间(即下一时间段内)的连接状态为异常状态时,通过游戏服务器提前预测得到针对当前游戏视频帧(即第一游戏视频帧)的目标预测操作以及预测渲染指令,将预测渲染指令以及目标预测操作下发至终端。此处的目标预测操作为预测游戏玩家针对该当游戏视频帧的操作,预测渲染指令为用于对当前游戏视频帧进行渲染更新的指令。通过终端根据该目标预测操作和预测渲染指令对当前游戏视频帧进行渲染更新,实现游戏渲染功能的灵活调度,解决因网络波动等异常导致游戏无法畅玩的问题,避免出现丢帧事件以及游戏画面卡顿等问题,提高游戏画面的流畅度,提高游戏体验以及游戏渲染能力。同时,通过根据网络连接的连接状态,动态调度游戏服务器的渲染功能和终端的游戏渲染功能,提高游戏服务器的渲染功能和终端的游戏渲染功能的利用率。
应当理解,本申请实施例中所描述的计算机设备可执行前文所对应实施例中对上述游戏数据渲染方法的描述,也可执行前文所对应实施例中对上述游戏数据渲染装置的描述,在此不再赘述。另外,对采用相同方法的有益效果描述,也不再进行赘述。
此外,这里需要指出的是:本申请实施例还提供了一种计算机可读存储介质,且上述计算机可读存储介质中存储有前文提及的游戏数据渲染装置所执行的计算机程序,且上述计算机程序包括程序指令,当上述处理器执行上述程序指令时,能够执行前文对应实施例中对上述游戏数据渲染方法的描述,因此,这里将不再进行赘述。另外,对采用相同方法的有益效果描述,也不再进行赘述。对于本申请所涉及的计算机可读存储介质实施例中未披露的技术细节,请参照本申请方法实施例的描述。
作为示例,上述程序指令可被部署在一个计算机设备上执行,或者被部署在一个地点的至少两个计算机设备上执行,又或者,在分布在至少两个地点且通过通信网络互连的至少两个计算机设备上执行,分布在至少两个地点且通过通信网络互连的至少两个计算机设备可以组成区块链网络。
上述计算机可读存储介质可以是前述任一实施例提供的游戏数据渲染装置或者上述计算机设备的中部存储单元,例如计算机设备的硬盘或中存。该计算机可读存储介质也可以是该计算机设备的外部存储设备,例如该计算机设备上配备的插接式硬盘,智能存储卡(SMart Media card,SMC),安全数字(Secure digital,SD)卡,闪存卡(flaSh card)等。进一步地,该计算机可读存储介质还可以既包括该计算机设备的中部存储单元也包括外部存储设备。该计算机可读存储介质用于存储该计算机程序以及该计算机设备所需的其他程序和数据。该计算机可读存储介质还可以用于暂时地存储已经输出或者将要输出的数据。
本申请实施例的说明书和权利要求书及附图中的术语“第一”、“第二”等是用于区别不同媒体中容,而非用于描述特定顺序。此外,术语“包括”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、装置、产品或设备没有限定于已列出的步骤或模块,而是可选地还包括没有列出的步骤或模块,或可选地还包括对于这些过程、方法、装置、产品或设备固有的其他步骤单元。
可理解的是,本申请以上实施例如果需要用到用户信息等,需要获得用户许可或者同意,需要遵守相关国家和地区的相关法律法规。
本申请实施例还提供了一种计算机程序产品,包括计算机程序/指令,上述计算机程序/指令被处理器执行时实现前文对应实施例中对上述游戏数据渲染方法、解码方法的描述,因此,这里将不再进行赘述。另外,对采用相同方法的有益效果描述,也不再进行赘述。对于本申请所涉及的计算机程序产品的实施例中未披露的技术细节,请参照本申请方法实施例的描述。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
本申请实施例提供的方法及相关装置是参照本申请实施例提供的方法流程图和/或结构示意图来描述的,具体可由计算机程序指令实现方法流程图和/或结构示意图的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。这些计算机程序指令可提供到通用计算机、专用计算机、嵌入式处理机或其他可编程网络连接设备的处理器以产生一个机器,使得通过计算机或其他可编程网络连接设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或结构示意图一个方框或多个方框中指定的功能的装置。这些计算机程序指令也可存储在能引导计算机或其他可编程网络连接设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或结构示意图一个方框或多个方框中指定的功能。这些计算机程序指令也可装载到计算机或其他可编程网络连接设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或结构示意一个方框或多个方框中指定的功能的步骤。
以上所揭露的仅为本申请较佳实施例而已,当然不能以此来限定本申请之权利范围,因此依本申请权利要求所作的等同变化,仍属本申请所涵盖的范围。
Claims (19)
1.一种游戏数据渲染方法,其特征在于,应用于游戏服务器,包括:
若预测得到所述游戏服务器与终端之间的网络连接在下一时间段内的连接状态为异常状态,则预测所述终端对应的游戏玩家针对第一游戏视频帧的目标预测操作数据;所述目标预测操作数据是根据所述第一游戏视频帧的场景数据,从历史实际操作数据中确定得到的,所述历史实际操作数据是根据多个游戏玩家在历史时间段内针对历史游戏视频帧的实际操作生成的,所述历史游戏视频帧包括所述第一游戏视频帧;
根据所述目标预测操作数据以及所述第一游戏视频帧,确定用于对所述第一游戏视频帧进行渲染更新的预测渲染指令;
将所述预测渲染指令以及所述目标预测操作数据发送至所述终端,所述终端用于当第一实际操作数据与所述目标预测操作数据之间匹配时,根据所述预测渲染指令,对所述第一游戏视频帧进行渲染更新,所述第一实际操作数据是根据所述游戏玩家针对所述第一游戏视频帧的实际操作所生成的。
2.如权利要求1所述的方法,其特征在于,所述若预测得到游戏服务器与终端之间的网络连接在下一时间段内的连接状态为异常状态,则预测所述终端对应的游戏玩家针对第一游戏视频帧的目标预测操作数据,包括:
接收检测服务器发送的第一网络测试包;
根据所述第一网络测试包检测所述游戏服务器当前的网络状态,得到第一检测结果,向所述检测服务器返回所述第一检测结果,所述检测服务器用于根据所述第一检测结果和第二检测结果,预测所述游戏服务器与所述终端之间的网络连接在所述下一时间段内的连接状态,得到网络状态预测结果;所述第二检测结果是由所述终端根据第二网络测试包对所述终端当前的网络状态进行检测得到的,所述第二网络测试包是由所述检测服务器发送至所述终端的;
接收所述检测服务器返回的所述网络状态预测结果;
若所述网络状态预测结果指示所述网络连接在所述下一时间段内的连接状态为异常状态,则预测所述终端对应的游戏玩家针对所述第一游戏视频帧的目标预测操作数据。
3.如权利要求1所述的方法,其特征在于,所述若预测得到游戏服务器与终端之间的网络连接在下一时间段内的连接状态为异常状态,则预测所述终端对应的游戏玩家针对第一游戏视频帧的目标预测操作数据,包括:
若预测得到游戏服务器与终端之间的网络连接在下一时间段内的连接状态为异常状态,则确定所述网络连接的连接状态为异常状态的概率以及持续时长;
根据所述网络连接的连接状态为异常状态的概率以及持续时长,确定所述网络连接的连接状态为异常状态的异常程度;
根据所述异常程度,预测所述终端对应的游戏玩家针对所述第一游戏视频帧的目标预测操作数据。
4.如权利要求3所述的方法,其特征在于,所述根据所述异常程度,预测所述终端对应的游戏玩家针对所述第一游戏视频帧的目标预测操作数据,包括:
若所述异常程度小于异常程度阈值,则预测所述终端对应的游戏玩家针对所述第一游戏视频帧的目标预测操作数据;
若所述异常程度大于或等于所述异常程度阈值,则生成关于所述终端的本地渲染指令生成组件的启动指令,将所述启动指令发送至所述终端,预测所述终端对应的游戏玩家针对所述第一游戏视频帧的目标预测操作数据;所述终端还用于在所述第一游戏视频帧渲染更新后,启动所述本地渲染指令生成组件,通过所述本地渲染指令生成组件对更新后的第一游戏视频帧进行渲染更新。
5.如权利要求1-4任一项所述的方法,其特征在于,所述预测所述终端对应的游戏玩家针对所述第一游戏视频帧的目标预测操作数据,包括:
获取关于所述第一游戏视频帧的场景数据;
将所述第一游戏视频帧的场景数据上报给模型服务器,所述模型服务器用于通过第一操作数据预测模型基于所述第一游戏视频帧的场景数据,从所述历史实际操作数据中预测得到所述游戏玩家针对所述第一游戏视频帧的第一预测操作数据;
若接收到所述模型服务器返回的第一预测操作数据,则将所述第一预测操作数据,确定为所述终端对应的游戏玩家针对所述第一游戏视频帧的目标预测操作数据。
6.如权利要求1-4任一项所述的方法,其特征在于,所述预测所述终端对应的游戏玩家针对所述第一游戏视频帧的目标预测操作数据,包括:
获取关于所述第一游戏视频帧的场景数据;
通过第二操作数据预测模型,根据所述第一游戏视频帧的场景数据,从所述历史实际操作数据中预测得到所述游戏玩家针对所述第一游戏视频帧的第二预测操作数据;
将所述第二预测操作数据,确定为所述游戏玩家针对所述第一游戏视频帧的目标预测操作数据。
7.如权利要求5所述的方法,其特征在于,所述方法还包括:
在所述网络连接的连接状态为正常状态后,接收所述终端发送的第一实际操作数据,所述第一实际操作数据为所述游戏玩家实际针对所述第一游戏视频帧的操作数据;
将所述第一实际操作数据转发至所述模型服务器,所述模型服务器还用于根据所述第一实际操作数据和所述第一预测操作数据对所述第一操作数据预测模型进行优化训练。
8.如权利要求6所述的方法,其特征在于,所述方法还包括:
在所述网络连接的连接状态为正常状态后,接收所述终端发送的第一实际操作数据,所述第一实际操作数据为所述游戏玩家实际针对所述第一游戏视频帧的操作数据;
根据所述第一实际操作数据和所述第二预测操作数据,确定所述第二操作数据预测模型的操作数据预测误差;
根据所述操作数据预测误差,对所述第二操作数据预测模型进行优化训练,得到优化后的第二操作数据预测模型。
9.如权利要求8所述的方法,其特征在于,所述根据所述操作数据预测误差,对所述第二操作数据预测模型进行优化训练,得到优化后的第二操作数据预测模型,包括:
根据所述操作数据预测误差,确定所述第二操作数据预测模型的收敛状态;
若所述第二操作数据预测模型的收敛状态为未收敛状态,则根据所述操作数据预测误差,对所述第二操作数据预测模型进行调整,直到调整后的第二操作数据预测模型的收敛状态为已收敛状态,将调整后的第二操作数据预测模型,确定为优化后的第二操作数据预测模型。
10.如权利要求1所述的方法,其特征在于,所述方法还包括:
在所述网络连接的连接状态为正常状态后,接收所述终端返回的最新帧标识以及第二实际操作数据;所述最新帧标识为所述终端中最新显示的第二游戏视频帧的帧标识,所述第二实际操作数据为所述游戏玩家实际针对所述第二游戏视频帧的操作数据;
根据所述第二实际操作数据和所述最新帧标识,渲染得到第三游戏视频帧,将所述第三游戏视频帧发送至所述终端。
11.一种游戏数据渲染方法,其特征在于,应用于终端,包括:
从游戏服务器中获取预测渲染指令以及目标预测操作数据;所述目标预测操作数据为所述游戏服务器预测得到所述游戏服务器与终端之间的网络连接在下一时间段内的连接状态为异常状态后,预测所述终端对应的游戏玩家针对第一游戏视频帧的操作数据,所述预测渲染指令是根据所述第一游戏视频帧以及所述目标预测操作数据确定得到的;所述目标预测操作数据是根据所述第一游戏视频帧的场景数据,从历史实际操作数据中确定得到的,所述历史实际操作数据是根据多个游戏玩家在历史时间段内针对历史游戏视频帧的实际操作生成的,所述历史游戏视频帧包括所述第一游戏视频帧;
若检测到所述游戏玩家针对所述第一游戏视频帧的第一实际操作数据,且所述第一实际操作数据与所述目标预测操作数据之间匹配,则根据所述预测渲染指令,对所述第一游戏视频帧进行渲染更新,所述第一实际操作数据是根据所述游戏玩家针对所述第一游戏视频帧的实际操作所生成的。
12.如权利要求11所述的方法,其特征在于,所述方法还包括:
若所述第一实际操作数据与所述目标预测操作数据之间不匹配,则在所述网络连接的连接状态为正常状态时,将所述第一实际操作数据以及所述第一游戏视频帧的帧标识发送至所述游戏服务器,显示所述游戏服务器返回的更新后的第一游戏视频帧;所述更新后的第一游戏视频帧为所述游戏服务器根据所述第一实际操作数据以及所述第一游戏视频帧的帧标识,对所述第一游戏视频帧进行渲染更新得到的。
13.如权利要求11所述的方法,其特征在于,所述方法还包括:
若所述第一实际操作数据与所述目标预测操作数据之间不匹配,则启动所述终端的本地渲染指令生成组件,通过所述本地渲染指令生成组件生成所述第一实际操作数据对应的第一实际渲染指令,根据所述第一实际渲染指令对所述第一游戏视频帧进行渲染更新。
14.如权利要求12或13所述的方法,其特征在于,所述若所述第一实际操作数据与所述目标预测操作数据之间匹配,则根据所述预测渲染指令,对所述第一游戏视频帧进行渲染更新,包括:
若所述第一实际操作数据与所述目标预测操作数据之间匹配,则启动所述终端的本地图形渲染组件;
通过所述本地图形渲染组件执行所述预测渲染指令,对所述第一游戏视频帧进行渲染更新。
15.如权利要求11所述的方法,其特征在于,所述方法还包括:
若检测到所述游戏玩家针对更新后的第一游戏视频帧的第三实际操作数据,且接收到关于本地渲染指令生成组件的启动指令,则启动所述终端的本地渲染指令生成组件;所述启动指令是所述游戏服务器预测得到所述网络连接的连接状态为异常状态的异常程度大于异常程度阈值后生成的;
通过所述本地渲染指令生成组件,生成所述第三实际操作数据对应的第二实际渲染指令;
根据所述第二实际渲染指令,对所述更新后的第一游戏视频帧进行渲染更新。
16.一种游戏数据渲染装置,其特征在于,应用于游戏服务器,包括:
预测模块,用于若预测得到所述游戏服务器与终端之间的网络连接在下一时间段内的连接状态为异常状态,则预测所述终端对应的游戏玩家针对第一游戏视频帧的目标预测操作数据;所述目标预测操作数据是根据所述第一游戏视频帧的场景数据,从历史实际操作数据中确定得到的,所述历史实际操作数据是根据多个游戏玩家在历史时间段内针对历史游戏视频帧的实际操作生成的,所述历史游戏视频帧包括所述第一游戏视频帧;
确定模块,用于根据所述目标预测操作数据以及所述第一游戏视频帧,确定用于对所述第一游戏视频帧进行渲染更新的预测渲染指令;
发送模块,用于将所述预测渲染指令以及所述目标预测操作数据发送至所述终端,所述终端用于当第一实际操作数据与所述目标预测操作数据之间匹配时,根据所述预测渲染指令,对所述第一游戏视频帧进行渲染更新,所述第一实际操作数据是根据所述游戏玩家针对所述第一游戏视频帧的实际操作所生成的。
17.一种游戏数据渲染装置,其特征在于,应用于终端,包括:
获取模块,用于从游戏服务器中获取预测渲染指令以及目标预测操作数据;所述目标预测操作数据为所述游戏服务器预测得到所述游戏服务器与终端之间的网络连接在下一时间段内的连接状态为异常状态后,预测所述终端对应的游戏玩家针对第一游戏视频帧的操作数据,所述预测渲染指令是根据所述第一游戏视频帧以及所述目标预测操作数据确定得到的;所述目标预测操作数据是根据所述第一游戏视频帧的场景数据,从历史实际操作数据中确定得到的,所述历史实际操作数据是根据多个游戏玩家在历史时间段内针对历史游戏视频帧的实际操作生成的,所述历史游戏视频帧包括所述第一游戏视频帧;
渲染模块,用于若检测到所述游戏玩家针对所述第一游戏视频帧的第一实际操作数据,且所述第一实际操作数据与所述目标预测操作数据之间匹配,则根据所述预测渲染指令,对所述第一游戏视频帧进行渲染更新,所述第一实际操作数据是根据所述游戏玩家针对所述第一游戏视频帧的实际操作所生成的。
18.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至15中任一项所述的方法的步骤。
19.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至15中任一项所述的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211704694.8A CN115671726B (zh) | 2022-12-29 | 2022-12-29 | 游戏数据渲染方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211704694.8A CN115671726B (zh) | 2022-12-29 | 2022-12-29 | 游戏数据渲染方法、装置、设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115671726A CN115671726A (zh) | 2023-02-03 |
CN115671726B true CN115671726B (zh) | 2023-03-28 |
Family
ID=85056342
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211704694.8A Active CN115671726B (zh) | 2022-12-29 | 2022-12-29 | 游戏数据渲染方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115671726B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117692098A (zh) * | 2023-07-13 | 2024-03-12 | 荣耀终端有限公司 | 游戏中帧同步包丢失的处理方法、相关装置 |
CN116600175B (zh) * | 2023-07-18 | 2023-10-20 | 荣耀终端有限公司 | 丢帧预测方法和电子设备 |
CN116870462B (zh) * | 2023-07-20 | 2024-02-06 | 浙江十勇士网络科技有限公司 | 一种游戏数据渲染方法与装置 |
CN117555815B (zh) * | 2024-01-11 | 2024-04-30 | 腾讯科技(深圳)有限公司 | 参数预测方法、模型训练方法和相关装置 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2018064627A1 (en) * | 2016-09-30 | 2018-04-05 | Sony Interactive Entertainment Inc. | Wireless head mounted display with differential rendering and sound localization |
GB2585198B (en) * | 2019-07-01 | 2022-03-02 | Sony Interactive Entertainment Inc | Method and device for generating video frames |
CN111245680B (zh) * | 2020-01-10 | 2021-10-08 | 腾讯科技(深圳)有限公司 | 检测云游戏响应延迟的方法、装置、系统、终端和服务器 |
CN113244614B (zh) * | 2021-06-07 | 2021-10-26 | 腾讯科技(深圳)有限公司 | 图像画面展示方法、装置、设备及存储介质 |
CN114501062B (zh) * | 2022-01-27 | 2023-02-21 | 腾讯科技(深圳)有限公司 | 视频渲染协同方法、装置、设备及存储介质 |
CN115278289B (zh) * | 2022-09-27 | 2023-01-20 | 海马云(天津)信息技术有限公司 | 一种云应用渲染视频帧处理方法与装置 |
-
2022
- 2022-12-29 CN CN202211704694.8A patent/CN115671726B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN115671726A (zh) | 2023-02-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN115671726B (zh) | 游戏数据渲染方法、装置、设备及存储介质 | |
CN111767503B (zh) | 一种游戏数据处理方法、装置、计算机及可读存储介质 | |
JP6310073B2 (ja) | 描画システム、制御方法、及び記憶媒体 | |
CN111882626A (zh) | 图像处理方法、装置、服务器及介质 | |
EP3807766B1 (en) | Shadow tracking of real-time interactive simulations for complex system analysis | |
CN110678239A (zh) | 利用游戏元数据和量度的分布式基于样本的游戏剖析以及支持第三方内容的游戏api平台 | |
US20160328463A1 (en) | Management of application state data | |
CN109460297B (zh) | 一种边缘云游戏缓存和资源调度方法 | |
CN111420397A (zh) | 用于云游戏的游戏状态保存、传输和恢复 | |
JP7313467B2 (ja) | サーバーの負荷予測及び高度なパフォーマンス測定 | |
US11731050B2 (en) | Asset aware computing architecture for graphics processing | |
JP6379107B2 (ja) | 情報処理装置並びにその制御方法、及びプログラム | |
US20200143583A1 (en) | Cloud render service framework for low power playback devices | |
CN114432705A (zh) | 云游戏数据处理方法、装置、介质、设备及产品 | |
CN111467797B (zh) | 游戏数据处理方法、装置、计算机存储介质与电子设备 | |
Vats et al. | Semantic-aware view prediction for 360-degree videos at the 5g edge | |
CN113230661A (zh) | 数据同步方法、装置、计算机可读介质及电子设备 | |
US11838453B2 (en) | Systems and methods for efficient management of resources for streaming interactive multimedia content | |
US20230256334A1 (en) | Game system, edge-side server, cloud-side server, game terminal, and game control method | |
US11876849B2 (en) | Media service processing method and electronic device | |
RU2785897C1 (ru) | Алгоритм применения избыточности данных для платформы облачных игр Loudplay | |
US20220176253A1 (en) | Information processing device and information processing method | |
CN117201829A (zh) | 负载均衡调度方法和装置、电子设备和存储介质 | |
CN114404994A (zh) | 游戏数据处理方法、设备、介质 | |
CN117414577A (zh) | 游戏补帧方法、装置、系统、电子设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: DE Ref document number: 40080505 Country of ref document: HK |