掌桥专利:专业的专利平台
掌桥专利
首页

一种维持画面流畅度的自适应方法和装置

文献发布时间:2023-06-19 13:46:35


一种维持画面流畅度的自适应方法和装置

技术领域

本申请涉及计算机技术领域,特别涉及一种维持画面流畅度的自适应方法、装置、计算设备和计算机可读存储介质。

背景技术

目前,基于社交平台的小游戏不需要专门下载游戏APP就可以玩游戏。例如微信平台上的小游戏是一种不需要下载安装即可使用的应用,通过这种方式用户不用关心是否安装太多应用的问题。

但是,在微信小游戏上进行例如3D实时战斗演示时,由于平台性能的不足、玩家战斗上阵的角色数据的不同以及设备间的硬件差异等原因,容易出现画面卡顿和长时间卡死的问题,导致了不好的用户体验。由于微信平台性能、设备性能及外界影响等因素是游戏厂商不能控制的,对这些因素进行优化几乎不可达成。因此,亟需一种方案来解决小程序中的游戏卡顿问题。

发明内容

有鉴于此,本申请实施例提供了一种维持画面流畅度的自适应方法、装置、计算设备和计算机可读存储介质,以解决现有技术中存在的技术缺陷。

根据本申请实施例的第一方面,提供了一种维持画面流畅度的自适应方法,包括:

根据设备的信息,为设备分配不同的渲染等级;

应用启动后,检测每一帧画面的渲染时间;

根据所述每一帧画面的渲染时间动态调整应用的渲染等级。

根据本申请实施例的第二方面,提供了一种维持画面流畅度的自适应装置,包括:

等级分配单元,用于根据设备的系统信息,为设备分配不同的渲染等级;

计时单元,用于应用启动后,检测每一帧画面的渲染时间;

控制单元,用于根据所述每一帧画面的渲染时间动态调整应用的渲染等级。

根据本申请实施例的第三方面,提供了一种计算设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机指令,所述处理器执行所述指令时实现所述维持画面流畅度的自适应方法的步骤。

根据本申请实施例的第四方面,提供了一种计算机可读存储介质,其存储有计算机指令,该指令被处理器执行时实现所述维持画面流畅度的自适应方法的步骤。

本申请实施例中,通过统计设备的信息对渲染等级进行划分,在应用运行的过程中,实时对应用画面的每一帧的渲染时间进行计算,并根据该渲染时间动态地降低或提升渲染等级。在本申请实施例中,通过对每一帧画面的渲染过程进行监控,可以更加及时、准确的对画面进行调整,能够极大的降低画面卡顿或卡死情况,维持画面的流畅稳定;同时通过将画面元素分成多个渲染等级,并且制定不同渲染耗时下对应的渲染等级,从而无需考虑其他影响因素对画面卡顿的影响。

附图说明

图1是现有技术中一种电子游戏从开发到被实施的过程示意图;

图2是本申请实施例提供的维持画面流畅度的自适应方法的流程示意图;

图3是本申请实施例提供的维持画面流畅度的自适应方法的另一流程示意图;

图4是本申请实施例提供的维持画面流畅度的自适应装置的结构示意图;

具体实施方式

下面详细描述本申请的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本申请,而不能理解为对本申请的限制。对于以下实施例中的步骤编号,其仅为了便于阐述说明而设置,对步骤之间的顺序不做任何限定,实施例中的各步骤的执行顺序均可根据本领域技术人员的理解来进行适应性调整。

除非另有定义,本文所使用的所有的技术和科学术语与属于本申请的技术领域的技术人员通常理解的含义相同。本文中所使用的术语只是为了描述本申请实施例的目的,不是旨在限制本申请。

对本申请实施例进行详细说明之前,首先对本申请实施例中涉及的名词和术语进行说明,本申请实施例中涉及的名词和术语适用于如下的解释。

随着互联网技术的飞速发展,在工作学习之余,人们休闲娱乐的手段也越发多样化。在这其中,电子游戏是一种依托于终端设备实现的娱乐活动,因其丰富的游戏内容、多变的游戏体验而广受用户的喜爱。参照图1,图1示出了相关技术中一种电子游戏从开发到被实施的过程示意图,在该过程中,涉及的主体主要包括游戏开发者110、游戏平台120和用户130。

其中,游戏开发者110指的是电子游戏的制作者,例如可以包括制作电子游戏软件的企业、团体或者个人中的至少一个。游戏平台120指的是电子游戏的运营平台,在一些实施例中,游戏平台120可以是指操作系统,例如可以是Web Player平台、PC平台、IOS平台、Android平台等;在一些实施例中,游戏平台120也可以是指软件或者具有运行游戏功能的网页,例如可以是UPLAY、EPIC Games、暴雪游戏平台、Origin、Steam、WeGame等;在一些实施例中,游戏平台120也可以是指游戏的后台服务器,该后台服务器可以配置成独立的物理服务器,也可以配置成多个物理服务器构成的服务器集群或者分布式系统,还可以配置成提供云服务、云数据库、云计算、云存储等业务的云服务器;在一些实施例中,游戏平台120也可以是指为家用游戏机或者多功能掌上游戏机等硬件设备设计的专用系统。

用户130是电子游戏的玩家,用户130可以通过终端设备运行电子游戏。在一些实施例中,终端设备可以是家用游戏机、多功能掌上游戏机、智能手机、平板电脑、笔记本电脑或者台式计算机等的任意一种。

当一款电子游戏被游戏开发者110制作完成后,可以将该游戏的资源,例如包含游戏应用程序、环境配置、注册表等的压缩包上传到对应的游戏平台120发布,用户可以在游戏平台120上进行在线游戏,或者通过游戏平台120下载对应的游戏安装包安装到终端设备上游玩。当然,可以理解的是,游戏开发者110也可以通过游戏平台120对游戏内容进行调整,例如进行版本更新、BUG维护等工作。

对于广大的用户130而言,一款电子游戏是否受欢迎,游戏体验是其最关注的部分。而游戏体验不但和游戏本身的质量有关,也和用户所使用硬件设备的性能,即电子游戏运行的硬件环境相关。如果用户所使用的硬件设备本身性能不佳,可能游戏运行的效果会受到较大的影响。例如,微信小游戏平台上进行3D游戏运行时,由于平台资源的限制,以及玩家战斗上阵的角色数据差异,在不同的设备情况下容易出现画面卡顿、长时间卡死的问题。由于微信平台资源、设备性能以及其他外界影响因素是游戏厂商所不能控制的,对这些因素进行优化几乎不可能实现,如果没有一种好的方法来解决该问题,会极大的影响用户体验,导致用户的流失。

现有技术中,为了避免电子设备的画面出现卡顿的情况,多采用平均帧率的方式,即通过统计一段时间内的平均帧率并与阈值帧率比较,进而调整渲染的等级,如CN107398070A、CN105160697A等,该方法虽然能在一定程度上解决卡顿的问题,但是在实时性和及时性上仍有缺陷,无法立即解决画面的卡顿。而且现有技术并没有根据设备的情况进行渲染方式的区分,会导致在调整渲染等级时分配的等级不合理等情况的发生。

基于此,本申请实施例提供了一种维持画面流畅度的自适应方法、装置及计算机设备,可以应用于手机、平板电脑、游戏机等上,例如,可以实现人机交互且具有触控功能的设备上。其中,上述触控终端包括触摸屏和处理器,该触摸屏用于呈现启动页面和接收针对启动页面的指令操作。

在下面的实施例中逐一进行详细说明本申请提供的一种维持画面流畅度的自适应方法及装置、计算设备和计算机可读存储介质。

图2示出了根据本申请一实施例的维持画面流畅度的自适应方法的流程示意图,包括如下步骤:

步骤S202:根据设备的信息,为设备分配不同的渲染等级;

在一种具体的实施方式中,获取不同设备的系统信息,该系统信息包括但不限于设备的品牌、型号,操作系统的类型、版本号,处理器的型号等等,根据不同的设备信息,生成不同的渲染等级,并为不同的设备分配不同的渲染等级;

进一步的,根据设备的系统信息将设备分为高、中、低三个等级;将渲染级别划分为多个等级,具体地,将渲染级别划分为10级;

进一步的,将不同的设备等级与渲染等级进行匹配;具体的,为低等级设备设定[1-5]的渲染等级、为中等级设备设定[3-7]的渲染等级,为高等级设备设定[6-10]的渲染等级。

本领域技术人员应当知晓,上述等级的划分方式仅为例举而非穷举,本领域技术人员可以根据实际需求进行设备和渲染等级的划分并实现对应关系,在此不再赘述。

在另一种具体的实施方式中,在应用启动时获取当前设备的系统信息,根据当前设备的系统信息为应用选择相应的渲染等级。

在该步骤中,事先将多种设备与渲染等级进行匹配,当用户的设备运行应用时,直接为当前设备选择合适的渲染等级,避免了应用启动时就出现画面卡顿的情况出现。

步骤S204:应用启动后,检测每一帧画面的渲染时间;

在该步骤中,应用对每一帧画面的渲染时间进行检测,而不是统计一段时间内的平均帧率。

具体的,应用包括一个计时器,在每一次渲染调度执行完成后,统计实际消耗的时间。

步骤S206:根据所述每一帧画面的渲染时间动态调整应用的渲染等级。

在一种具体的实施方式中,如图3所示,将每一帧画面的渲染时间与第一阈值T进行比较;

若每一帧画面的渲染时间大于等于阈值T,则说明上一帧的渲染时间过长,即将发生卡顿现象,因此,在进行下一帧画面渲染前,将渲染等级降低;在渲染下一帧时,需要渲染的数据变少,出现卡顿的几率机会更小,实现了渲染级别的实时调整。

若每一帧画面的渲染时间小于阈值T,则说明上一帧的渲染时间在规定时间内,可以进一步提升渲染的质量,因此,在进行下一帧画面渲染前,将渲染等级恢复或提升;进一步的,还可以等待帧渲染时间稳定后再进行渲染等级的恢复,如当连续N(N≥2)个周期内单帧渲染时间都小于阈值T时,将渲染等级恢复或提升,从而避免了渲染等级的来回变动。

进一步的,在游戏应用运行的过程中,其运行状态受到多个因素的影响,为了使得运行的状态保持稳定、避免调整渲染等级时画面的质量差异过大出现类似“针刺”的现象,在对渲染等级进行降低或提升时,在当前设备所处的渲染等级范围内进行调整。例如,当一个设备在应用启动时,如步骤S202所述,被定位为中等级设备,其对应的渲染等级为[3-7];进而当监测的每一帧画面的渲染时间小于阈值T时,需要对当前的渲染等级进行提升,提升的最大等级为7,同理,当每一帧画面的渲染时间大于阈值T时,需要对当前的渲染等级进行降低时,降低的最大等级为3。同理,对低等级设备和高等级设备采用同样的调整方式,在此不再赘述。

在另一种具体的实施方式中,不同的渲染等级包括不同的渲染配置文件,渲染配置文件对画面的元素进行配置。

进一步的,配置文件包括元素的数量;具体的,元素的数量从高渲染等级到低渲染等级依次减少,当对渲染等级提升时,增加下一渲染帧中的元素数量,选择包含元素数量较多的配置;当对渲染等级降低时,减少渲染帧中的元素数量,选择包含元素数量较少的配置。

进一步的,配置文件还包括元素属性;具体的,元素属性可以包括但不限于元素出现的优先级、轨迹、位置、缩放系数、缩放范围、最小旋转角度、旋转范围、最小移动距离、移动范围、移动速度等等;

进一步的,配置文件还包括元素的动画样式;具体的,元素的动画样式可以包括但不限于缩放动画、渐变动画、旋转动画,位移动画以及动画的质量等等;

本领域技术人员可以根据实际的需求,为不同的渲染级别配置不同的配置文件,在此不做特别限定。通过配置文件为渲染分级的方式灵活性高,渲染的分级、画面元素和渲染等级的对应关系、渲染等级包含的渲染范围等都可根据具体项目情况随意定制。

在上述实施方式中,通过统计设备的系统信息对渲染等级进行划分以及在应用运行的过程中,实时对画面每一帧的渲染时间进行计算,实现了实时调整渲染输入数据;在对渲染等级进行划分时,为不同的等级制定不同的配置文件,进而实现动态控制下一帧可渲染元素的等级范围,当帧渲染时间过长时自动缩小渲染范围,待渲染效率提升后延时扩大渲染范围。本申请的实施例根据设备实时性能情况动态适应,能够极大的降低卡顿和卡死情况的出现,很好的维持了画面的流畅和稳定,同时无需考虑设备、系统环境等情况,直接根据实际渲染情况来调整渲染策略,使得渲染可以更加平稳、更高效。

与上述方法实施例相对应,本申请还提供了一种维持画面流畅度的自适应装置的实施例,图4示出了该装置的结构示意图。如图4所示,该装置包括:

等级分配单元,用于根据设备的系统信息,为设备分配不同的渲染等级;

计时单元,用于应用启动后,检测每一帧画面的渲染时间;

控制单元,用于根据所述每一帧画面的渲染时间动态调整应用的渲染等级。

可选的,所述控制单元还包括:

判断单元,用于判断每一帧画面的渲染时间是否大于第一阈值,若大于或等于所述第一阈值,则降低应用的渲染等级;若小于第一阈值,则提升应用的渲染等级。

可选的,所述等级分配单元还包括:

等级划分单元,用于根据设备的系统信息将所述渲染等级划分为高、中、低三个等级;在应用启动时读取当前设备的系统信息,根据所述系统信息为应用选择相应的渲染等级。

可选的,所述控制单元还包括:

等级限制单元,用于在对渲染等级进行降低或提升时,在当前设备所处的渲染等级范围内进行调整。

可选的,等级划分单元还包括:

多个渲染配置文件,对应不同的渲染等级,渲染配置文件对画面的元素进行配置。

上述为本实施例的一种维持画面流畅度的自适应装置的示意性方案。需要说明的是,该维持画面流畅度的自适应装置的技术方案与上述的维持画面流畅度的自适应方法的技术方案属于同一构思,维持画面流畅度的自适应装置的技术方案未详细描述的细节内容,均可以参见上述维持画面流畅度的自适应方法的技术方案的描述。

本申请一实施例中还提供一种计算设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机指令,所述处理器执行所述指令时实现所述的维持画面流畅度的自适应方法的步骤。

上述为本实施例的一种计算设备的示意性方案。需要说明的是,该计算设备的技术方案与上述的维持画面流畅度的自适应方法的技术方案属于同一构思,计算设备的技术方案未详细描述的细节内容,均可以参见上述维持画面流畅度的自适应方法的技术方案的描述。

本申请一实施例还提供一种计算机可读存储介质,其存储有计算机指令,该指令被处理器执行时实现如前所述维持画面流畅度的自适应方法的步骤。

上述为本实施例的一种计算机可读存储介质的示意性方案。需要说明的是,该存储介质的技术方案与上述的维持画面流畅度的自适应方法的技术方案属于同一构思,存储介质的技术方案未详细描述的细节内容,均可以参见上述维持画面流畅度的自适应方法的技术方案的描述。

上述对本申请特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。

所述计算机指令包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,所述计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括电载波信号和电信信号。

需要说明的是,对于前述的各方法实施例,为了简便描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请并不受所描述的动作顺序的限制,因为依据本申请,某些步骤可以采用其它顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定都是本申请所必须的。

在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其它实施例的相关描述。

以上公开的本申请优选实施例只是用于帮助阐述本申请。可选实施例并没有详尽叙述所有的细节,也不限制该发明仅为所述的具体实施方式。显然,根据本申请的内容,可作很多的修改和变化。本申请选取并具体描述这些实施例,是为了更好地解释本申请的原理和实际应用,从而使所属技术领域技术人员能很好地理解和利用本申请。本申请仅受权利要求书及其全部范围和等效物的限制。

技术分类

06120113801621