一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

卡顿预测方法、装置、终端设备及计算机可读存储介质与流程

2022-07-13 16:39:48 来源:中国专利 TAG:


1.本技术属于计算机技术领域,尤其涉及一种卡顿预测方法、装置、终端设备及计算机可读存储介质。


背景技术:

2.随着科技水平和生活水平的快速进步,个人电脑、智能手机等电子设备已经成为人们日常生活中常用的消费型电子产品。目前电子设备通常配备有图形处理器(graphics processing unit,gpu),使电子设备可以完成图像渲染以具备一定的图像处理能力。而电子设备的图形处理器性能有限,当短时间内图像渲染的运算工作量过大,图形处理器无法及时完成图像渲染并输出至电子设备的显示模块,容易使电子设备的显示出现卡顿。
3.目前检测电子设备是否出现卡顿的方法通常是在电子设备出现卡顿后,采集显示信息以分析出现卡顿的原因,电子设备无法提前对即将出现的卡顿作出响应,导致卡顿现象无法避免。因此,如何提前并准确地预测电子设备是否会出现卡顿成为当前亟需解决的问题。


技术实现要素:

4.有鉴于此,本技术实施例提供了一种卡顿预测方法,以解决当短时间内图像渲染的运算工作量过大,图形处理器无法及时完成图像渲染并输出至电子设备的显示模块,导致电子设备的显示出现卡顿的问题。
5.本技术实施例的第一方面提供了一种卡顿预测方法,应用于终端设备,所述方法包括:
6.获取所述终端设备在第一时间段内的运算能力参数和第二时间段内的渲染运算量;其中,所述第一时间段和所述第二时间段连续;
7.通过已训练的卡顿预测模型根据所述第一时间段内的运算能力参数和所述渲染运算量,获取所述终端设备在所述第二时间段内的预测渲染时间。
8.本技术实施例的第一方面提供一种卡顿预测方法,使终端设备可以提前预测在第二时间段是否会出现卡顿,且在预测到第二时间段会出现卡顿时,根据预测渲染时间可以准确预测具体的卡顿时长,使终端设备可以根据具体的卡顿时长提前作出响应,以避免卡顿现象发生,提高了终端设备面对即将发生的卡顿的处理灵活性。
9.本技术实施例的第二方面提供了一种卡顿预测装置,包括:
10.采集模块,用于获取终端设备在第一时间段内的运算能力参数和第二时间段内的渲染运算量;其中,所述第一时间段和所述第二时间段连续;
11.预测模块,用于通过已训练的卡顿预测模型根据所述第一时间段内的运算能力参数和所述渲染运算量,获取所述终端设备在所述第二时间段内的预测渲染时间。
12.本技术实施例的第三方面提供了一种显示设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时
实现本技术实施例的第一方面提供的卡顿预测方法的步骤。
13.本技术实施例的第四方面提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现本技术实施例第一方面提供的卡顿预测方法的步骤。
14.可以理解的是,上述第二方面至第四方面的有益效果可以参见上述第一方面中的相关描述,在此不再赘述。
附图说明
15.为了更清楚地说明本技术实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
16.图1是本技术实施例提供的终端设备的结构示意图;
17.图2是本技术实施例提供的卡顿预测方法的第一种流程示意图;
18.图3是本技术实施例提供的终端设备输出渲染画面时通过已训练的卡顿预测模型预测渲染时间的时序示意图;
19.图4是本技术实施例提供的卡顿预测方法的第二种流程示意图;
20.图5是本技术实施例提供的卡顿预测方法的第三种流程示意图;
21.图6是本技术实施例提供的卡顿预测方法的第四种流程示意图;
22.图7是本技术实施例提供的卡顿预测模型的构建、训练、筛选及运用的架构示意图;
23.图8是本技术实施例提供的卡顿预测装置的结构示意图。
具体实施方式
24.以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、技术之类的具体细节,以便透彻理解本技术实施例。然而,本领域的技术人员应当清楚,在没有这些具体细节的其它实施例中也可以实现本技术。在其它情况中,省略对众所周知的系统、装置、电路以及方法的详细说明,以免不必要的细节妨碍本技术的描述。
25.应当理解,当在本技术说明书和所附权利要求书中使用时,术语“包括”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。
26.还应当理解,在本技术说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
27.如在本技术说明书和所附权利要求书中所使用的那样,术语“如果”可以依据上下文被解释为“当...时”或“一旦”或“响应于确定”或“响应于检测到”。类似地,短语“如果确定”或“如果检测到[所描述条件或事件]”可以依据上下文被解释为意指“一旦确定”或“响应于确定”或“一旦检测到[所描述条件或事件]”或“响应于检测到[所描述条件或事件]”。
[0028]
另外,在本技术说明书和所附权利要求书的描述中,术语“第一”、“第二”、“第三”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
[0029]
在本技术说明书中描述的参考“一个实施例”或“一些实施例”等意味着在本技术的一个或多个实施例中包括结合该实施例描述的特定特征、结构或特点。由此,在本说明书中的不同之处出现的语句“在一个实施例中”、“在一些实施例中”、“在其他一些实施例中”、“在另外一些实施例中”等不是必然都参考相同的实施例,而是意味着“一个或多个但不是所有的实施例”,除非是以其他方式另外特别强调。术语“包括”、“包含”、“具有”及它们的变形都意味着“包括但不限于”,除非是以其他方式另外特别强调。
[0030]
在应用中,目前检测电子设备是否出现卡顿的方法通常是在电子设备出现卡顿后,采集显示信息以分析出现卡顿的原因,电子设备无法提前对即将出现的卡顿作出响应,导致卡顿现象无法避免。因此,如何提前并准确地预测电子设备是否会出现卡顿成为当前亟需解决的问题。
[0031]
针对上述技术问题,本技术实施例提供一种卡顿预测方法,通过获取终端设备在第一时间段内的运算能力参数和第二时间段内的渲染运算量;其中,第一时间段和第二时间段连续;通过已训练的卡顿预测模型根据第一时间段内的运算能力参数和渲染运算量,获取终端设备在第二时间段内的预测渲染时间,可以提前预测终端设备在第二时间段是否会出现卡顿,且在预测到第二时间段会出现卡顿时,根据预测渲染时间可以准确预测具体的卡顿时长,使终端设备可以根据具体的卡顿时长提前作出响应,以避免卡顿现象发生,提高了终端设备面对即将发生的卡顿的处理灵活性。
[0032]
本技术实施例提供的卡顿预测方法可以应用于配置有图形处理器的任意终端设备。终端设备可以是手机、平板电脑、可穿戴设备、车载设备、增强现实 (augmented reality,ar)/虚拟现实(virtual reality,vr)设备、笔记本电脑、超级移动个人计算机(ultra-mobile personal computer,umpc)、上网本、个人数字助理(personal digital assistant,pda)等,本技术实施例对终端设备的具体类型不作任何限制。
[0033]
图1示例性的示出了终端设备1的结构示意图。终端设备1可以包括处理器10,图形处理器11,存储器20,电源模块30,音频模块40,摄像模块50,传感器模块60,输入模块70,显示模块80及无线通信模块90等。其中,音频模块40可以包括扬声器41和麦克风42等,摄像模块50可以包括短焦摄像头 51、长焦摄像头52及闪光灯53等,传感器模块60可以包括红外线传感器61、加速度传感器62、位置传感器63、指纹传感器64、虹膜传感器65及陀螺仪传感器66等,输入模块70可以包括触控面板71和外接输入单元72等,无线通信模块90可以包括蓝牙、紫蜂协议(zigbee)、光无线通信(optical wireless)、无线局域网(wireless local area network,wlan)、近场通信(near fieldcommunication,nfc)等无线通信单元。
[0034]
在应用中,处理器10可以是中央处理单元(central processing unit,cpu),该处理器10还可以是其他通用处理器、数字信号处理器(digital signalprocessor,dsp)、专用集成电路(application specific integrated circuit,asic)、现成可编程门阵列(field-programmable gate array,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
[0035]
在应用中,图形处理器11根据接入主板的方式可以是集成显卡(integratedgraphics)或独立显卡(discrete graphics card),根据所搭载的终端设备类型可以是电脑图形处理器(personal computergraphics processing unit)、服务器图形处理器
(servergraphics processing unit)及移动图形处理器(mobilegraphicsprocessing unit);该图形处理器11还可以是运行绘图运算工作的微处理器。其中,在图形处理器11为集成显卡时,可以集成于终端设备的主板,也可以集成于终端设备的处理器10。本技术实施例对图形处理器11的具体类型不作任何限制。
[0036]
在应用中,存储器20在一些实施例中可以是终端设备的内部存储单元,例如终端设备的硬盘或内存。存储器在另一些实施例中也可以是终端设备的外部存储设备,例如终端设备上配备的插接式硬盘,智能存储卡(smart media card, smc),安全数字(secure digital,sd)卡,闪存卡(flash card)等。进一步地,存储器还可以既包括终端设备的内部存储单元也包括外部存储设备。存储器用于存储操作系统、应用程序、引导装载程序(bootloader)、数据以及其他程序等,例如计算机程序的程序代码等。存储器还可以用于暂时地存储已经输出或者将要输出的数据。
[0037]
可以理解的是,本技术实施例示意的结构并不构成对终端设备1的具体限定。在本技术另一些实施例中,终端设备1可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如还可以包括输出设备、网络接入设备等。图示的部件可以以硬件,软件或软件和硬件的组合实现。
[0038]
如图2所示,本技术实施例提供的卡顿预测方法,应用于终端设备,包括如下步骤s201和步骤s202:
[0039]
步骤s201、获取终端设备在第一时间段内的运算能力参数和第二时间段内的渲染运算量;其中,第一时间段和第二时间段连续。
[0040]
在应用中,第一时间段表示终端设备实现输出渲染画面的时间段,终端设备在第一时间段实时输出渲染画面时,可以获取终端设备在第一时间段内的运算能力参数,运算能力参数可以包括cpu使用率(usage)、cpu频率 (frequency)、gpu使用率及gpu频率等,终端设备可以通过读取cpu和 gpu的运行情况获取上述运算能力参数。
[0041]
在应用中,第二时间段和第一时间段连续并在第一时间段之后,终端设备在第一时间段实时输出渲染画面时,会将第二时间段内需要渲染的画面发送至gpu,gpu可以根据第二时间段内需要渲染的画面获取渲染运算量,具体的, gpu首先可以确定第二时间段内的需要渲染的画面数量,即第二时间段的帧数 (frames),并获取渲染每一张画面的渲染运算量,将每一张画面的渲染运算量相加可以得到第二时间段内的渲染运算量。终端设备的cpu可以通过读取 gpu的运行情况获取第二时间段内的渲染运算量,也可以设置gpu在获取到第二时间段的渲染运算量后发送至cpu。
[0042]
需要说明的是,第一时间段和第二时间段的时间长度可以相等也可以不相等,第一时间段和第二时间段的具体时间长度可以根据实际需要进行设置。
[0043]
步骤s202、通过已训练的卡顿预测模型根据第一时间段内的运算能力参数和渲染运算量,获取终端设备在第二时间段内的预测渲染时间。
[0044]
在应用中,已训练的卡顿预测模型的输入为运算能力参数和渲染运算量,输出为预测渲染时间,需要说明的是,渲染运算量和预测渲染时间呈负相关;运算能力参数和预测渲染时间呈正相关,即终端设备的运算能力越强,渲染速度越快。已训练的卡顿预测模型可以根据运算能力参数确定终端设备的渲染速度,从而根据当前的渲染速度和渲染运算量获取预测渲染时间。
[0045]
在应用中,通过将第一时间段内的运算能力参数和第二时间段内的渲染运算量输入已训练的卡顿预测模型,可以获取第二时间段内的预测渲染时间。工作原理为假设终端设备在第二时间段内的运算能力参数和在第一时间段内的运算能力参数保持一致,获取完成第二时间段内的渲染预算量所需的渲染时间,从而在第一时间段实现预测第二时间段的渲染时间,实现提前预测终端设备是否会出现卡顿。根据预测渲染时间可以准确预测电子设备的卡顿时长,具体的,可以根据预测渲染时间和第一预设时间的时间差值,获取终端设备在第二时间段内的预测卡顿时长,上述时间差值大于0时,说明gpu无法在第二时间段内及时完成渲染,终端设备会在第二时间段存在卡顿,且时间差值越大,预测卡顿时长越久大;上述时间差值小于或等于0时,说明gpu可以在第二时间段内完成渲染,终端设备在第二时间段内不会出现卡顿现象。第一预设时间可以根据终端设备输出渲染画面的时长确定,具体可以根据第二时间段确定(例如等于第二时间段),本技术实施例对第一预设时间的具体时长不作任何限制。
[0046]
图3示例性的示出了终端设备输出渲染画面时通过已训练的卡顿预测模型预测渲染时间的时序图,需要说明的是,本技术实施例仅示例性的说明了在第一时间段预测第二时间段的预测渲染时间,相邻时间段的卡顿预测方法(例如在第二时间段预测第三时间段的预测渲染时间)可以参照上述在第一时间段预测第二时间段的预测渲染时间的卡顿预测方法,在此不再赘述。
[0047]
在应用中,通过获取终端设备在第一时间段内的运算能力参数和第二时间段内的渲染运算量;其中,第一时间段和第二时间段连续;通过已训练的卡顿预测模型根据第一时间段内的运算能力参数和渲染运算量,获取终端设备在第二时间段内的预测渲染时间,可以提前预测终端设备在第二时间段是否会出现卡顿,且在预测到第二时间段会出现卡顿时,根据预测渲染时间可以准确预测具体的卡顿时长,使终端设备可以根据具体的卡顿时长提前作出响应,以避免卡顿现象发生,提高了终端设备面对即将发生的卡顿的处理灵活性。
[0048]
如图4所示,基于图2所对应的实施例,在一个实施例中,包括如下步骤 s401至步骤s405:
[0049]
以下通过步骤s401至步骤s403对卡顿预测模型的构建、训练及筛选方法进行说明:
[0050]
步骤s401、根据训练任务执行渲染操作,获取第一训练信息,以构建至少一种待训练的卡顿预测模型;其中,第一训练信息包括终端设备的硬件信息、第一运算能力参数、第一渲染运算量及第一渲染时间。
[0051]
在应用中,训练任务可以是控制终端设备渲染预设的图像,也可以是在终端设备在日常运行时(例如绘制图像、运行游戏或播放视频等需要通过图像处理器渲染图像的场景)渲染用户指定的图像。
[0052]
在应用中,在终端设备根据训练任务执行渲染操作时,可以采集gpu的运行情况,以获取训练信息,训练信息可以包括运算能力参数、渲染运算量及渲染时间等参数。根据训练信息的用途不同,可以将训练信息分为第一训练信息和第二训练信息,其中,第一训练信息用于构建卡顿预测模型,第二训练信息用于训练卡顿预测模型。需要说明的是,在构建卡顿预测模型时还需要获取终端设备的硬件信息,因此第一训练信息还包括终端设备的硬件
信息,具体可以包括终端设备的内存(random access memory,ram)容量、内存频率、cpu 型号、gpu型号及主板型号。其中,根据cpu型号可以确定对应型号的cpu 的核心数量、频率范围、缓存容量等性能信息;同样的,根据gpu信号可以确定对应型号的gpu的核心数量、频率范围、缓存容量等性能信息;根据主板型号可以确定对应型号的主板的cpu供电电压、gpu供电电压、内存供电电压等性能信息。
[0053]
在应用中,终端设备的硬件信息可以表征终端设备的基础运算能力,在卡顿预测模型中为常数;第一/第二运算能力参数可以表征终端设备在执行渲染操作时的实际运算能力,第一/第二运算能力参数、第一渲染运算量及第一渲染时间在卡顿预测模型中均为自变量。将终端设备的硬件信息、第一运算能力参数、第一渲染运算量及第一渲染时间输入机器学习模型中,可以初步确定卡顿预测模型的模型参数,以完成卡顿预测模型的构建。具体的构建方法可以参照下述步骤s501和步骤s502的描述。
[0054]
步骤s402、根据训练任务执行渲染操作,获取第二训练信息,以对至少一种待训练的卡顿预测模型进行训练;其中,第二训练信息包括第二运算能力参数、第二渲染运算量及第二渲染时间。
[0055]
在应用中,在完成卡顿预测模型的构建后,需要对待训练的卡顿预测模型进行训练,具体可以输入因变量第二运算能力参数和第二渲染运算量至卡顿预测模型中,并根据第二渲染时间和输出的因变量预测渲染时间,对待训练的卡顿预测模型进行训练,以提高卡顿预测模型输出的预测渲染时间的准确度。具体的训练方法可以参照下述步骤s503至步骤s506的描述。
[0056]
步骤s403、获取至少一种待训练的卡顿预测模型的综合性能评分,筛选得到已训练的卡顿预测模型。
[0057]
在应用中,在每种待训练的卡顿预测模型的训练过程中,或者在每种待训练的卡顿预测模型的训练次数达到预设优化次数后,可以获取每种待训练的卡顿预测模型的综合性能评分,将综合性能评分最高的待训练的卡顿预测模型筛选为已训练的卡顿预测模型,从而在多种待训练的卡顿预测模型中得到预测渲染时间的性能最好的卡顿预测模型,以提高卡顿预测模型的预测准确性。具体的筛选方法可以参照下述步骤s507至步骤s509的描述。
[0058]
步骤s404、获取终端设备在第一时间段内的运算能力参数和第二时间段内的渲染运算量;其中,第一时间段和第二时间段连续;
[0059]
步骤s405、通过已训练的卡顿预测模型根据第一时间段内的运算能力参数和渲染运算量,获取终端设备在第二时间段内的预测渲染时间。
[0060]
在应用中,步骤s404和步骤s405与上述步骤s201和步骤s202提供的卡顿预测方法一致,在此不再赘述。
[0061]
在应用中,通过根据训练任务执行渲染操作,获取第一训练信息和第二训练信息,以根据终端设备的硬件信息、第一运算能力参数、第一渲染运算量及第一渲染时间构建至少一种待训练的卡顿预测模型,可以使卡顿预测模型基于终端设备的实际硬件信息进行构建,使卡顿预测模型可以适用于不同硬件平台的终端设备,提高了卡顿预测模型的适用性;通过根据第二运算能力参数、第二渲染运算量及第二渲染时间对至少一种待训练的卡顿预测模型进行训练,可以根据终端设备在实际渲染操作过程中产出的第二训练信息对卡顿预
测模型进行训练,保证了训练效果,提高训练后卡顿预测模型获取的预测渲染时间的准确性;通过获取至少一种待训练的卡顿预测模型的综合性能评分,筛选得到已训练的卡顿预测模型,可以在多种待训练的卡顿预测模型中筛选综合性能最佳的卡顿预测模型,进一步提高卡顿预测模型获取的预测渲染时间的准确性。
[0062]
如图5所示,基于图4所对应的实施例,在一个实施例中,包括如下步骤 s501至步骤s511:
[0063]
步骤s501、根据第一训练任务执行渲染操作,以获取终端设备的硬件信息、第一运算能力参数、第一渲染运算量及第一渲染时间;
[0064]
步骤s502、以终端设备的硬件信息、第一运算能力参数及第一渲染运算量作为自变量,以第一渲染时间作为因变量,采用至少一种机器学习模型构建至少一种待训练的卡顿预测模型;其中,一种机器学习模型用于构建一种待训练的卡顿预测模型。
[0065]
在应用中,在构建待训练的卡顿预测模型时,以终端设备的硬件信息、第一运算能力参数及第一渲染运算量作为自变量,以第一渲染时间作为因变量,待训练的卡顿预测模型的模型结构根据所选用的机器学习(machine learning) 模型确定,具体可以是线性回归(linear regression,lr)模型、多项式回归 (polynomial regression,pr)模型或循环神经网络(recurrent neural network, rnn)模型等不同类型的机器学习模型。
[0066]
在一个实施例中,采用线性回归模型构建待训练的卡顿预测模型的关系式为:
[0067]
time=α1configuration α2computing α3calculation ε;
[0068]
其中,time表示第一渲染时间,configuration表示终端设备的硬件信息对应的数值,computing表示第一运算能力参数,calculation表示第一渲染运算量,α1表示终端设备的硬件信息对应的数值的模型参数,α2表示第一运算能力参数的模型参数,α3表示第一渲染运算量的模型参数,ε表示第一预设模型参数。
[0069]
在一个实施例中,采用多项式回归模型构建待训练的卡顿预测模型的关系式为:
[0070][0071]
其中,β0表示第二预设模型参数,β1表示第一综合模型参数,β2表示第二综合模型参数,βn表示第n综合模型参数,n为大于或等于1的正整数。
[0072]
需要说明的是,上述待训练的卡顿预测模型的关系式进行示例性的,本技术实施例不对待训练的卡顿预测模型的种类、使用的机器学习模型的类型、具体关系式作任何限定。
[0073]
步骤s503、根据第二训练任务执行渲染操作,以获取终端设备的第二运算能力参数、第二渲染运算量及第二渲染时间;
[0074]
步骤s504、对于每一待训练的卡顿预测模型,通过待训练的卡顿预测模型根据第二运算能力参数和第二渲染运算量,获取预测渲染时间。
[0075]
在应用中,针对每一种待训练的卡顿预测模型,在完成待训练的卡顿预测模型的构建后,可以输入第二运算能力参数和第二渲染运算量至待训练的卡顿预测模型,使待训练的卡顿预测模型输出预测渲染时间。其中,终端设备的硬件信息为常数,因此输入至待训
练的卡顿预测模型的自变量为第二运算能力参数和第二渲染运算量,输出的因变量为预测渲染时间。
[0076]
步骤s505、根据预测渲染时间和第二渲染时间构建损失函数。
[0077]
在应用中,每一组输入的第二运算能力参数、第二渲染运算量具有对应的第二渲染时间和对应的预测渲染时间。针对每一组第二训练信息,将对应的第二渲染时间作为真实值,对应的预测渲染时间作为预测值,并根据真实值和预测值构建损失函数,以量化当前待训练的卡顿预测模型输出的预测渲染时间的准确性。
[0078]
在应用中,损失函数可以是0-1损失函数、l1范数损失函数(mean absoluteerror loss function)、对数损失函数(logistic loss function)、平方损失函数 (quadratic loss function)、指数损失函数(exponential loss function)、交叉熵损失函数(cross entropy loss function)等不同类型的损失函数,可以根据实际需要选择损失函数的类型。
[0079]
步骤s506、根据损失函数优化待训练的卡顿预测模型。
[0080]
在应用中,针对每一种待训练的卡顿预测模型,每向待训练的卡顿预测模型输入一组第二训练信息,可以得到对应的一个损失函数,并基于该损失函数可以对当前待训练的的卡顿预测模型进行优化,以调整当前待训练的卡顿预测模型的模型参数,使待训练的卡顿预测模型输出的预测渲染时间的准确性不断提高。
[0081]
步骤s507、对于每一待训练的卡顿预测模型,在待训练的卡顿预测模型的优化次数达到预设优化次数后,获取最近k次优化后的预测渲染时间;
[0082]
步骤s508、根据第二渲染时间和最近k次优化后的预测渲染时间,获取待训练的卡顿预测模型的综合性能评分。
[0083]
在应用中,可以通过设置预设优化次数确定待训练的卡顿预测模型的目标优化次数,也可以通过设置预测渲染时间的预设准确性确定待训练的卡顿预测模型输出的预测渲染时间的目标优化次数,以设置对待训练的卡顿预测模型的训练要求,本技术实施例对待训练的卡顿预测模型的训练要求不作任何限制。
[0084]
在应用中,在通过设置预设优化次数确定待训练的卡顿预测模型的目标优化次数时,可以在优化次数达到预设优化次数后,获取最近k次优化后,待训练的卡顿预测模型输出的k个预测渲染时间,并将每个预测渲染时间与对应的第二渲染时间相减,得到k个误差时间,以根据k个误差时间获取待训练的卡顿预测模型的综合性能评分。
[0085]
在一个实施例中,步骤s508包括:
[0086]
根据最近k次优化后的预测渲染时间和第二渲染时间,获取待训练的卡顿预测模型的稳定性能评分和准确性能评分;
[0087]
根据待训练的卡顿预测模型的稳定性能评分和准确性能评分,计算待训练的卡顿预测模型的综合性能评分。
[0088]
在应用中,在得到k个误差时间后,可以通过计算k个误差时间的方差或标准差,以反映k个误差时间的波动性,并获取待训练的卡顿预测模型的稳定性能评分,k个误差时间的方差或标准差的大小和稳定性能评分呈负相关,即k 个误差时间的波动性越小,稳定性能评分越高;可以通过计算k个误差时间的平均值,以获取平均误差时间,并获取待训练的卡顿预测模型的准确性能评分,平均误差时间的大小和准确性能评分呈负相关,即平均误
差时间越小,准确性能评分越高。
[0089]
在应用中,根据待训练的卡顿预测模型的稳定性能评分和准确性能评分,计算待训练的卡顿预测模型的综合性能评分的关系式为:
[0090]
synthesize=η1stability η2veracity;
[0091]
其中,synthesize表示综合性能评分,stability表示稳定性能评分, veracity表示准确性能评分,η1表示稳定性能评分的占比系数,η2表示准确性能评分的占比系数。η1可以等于0.3,η2可以等于0.7,η1和η2的值可以根据实际需要进行设置,本技术实施例不对η1和η2的具体大小作任何限制。
[0092]
步骤s509、根据每种待训练的卡顿预测模型的综合性能评分,筛选得到已训练的卡顿预测模型。
[0093]
在应用中,可以获取每种待训练的卡顿预测模型的综合性能评分,将综合性能评分最高的待训练的卡顿预测模型筛选为已训练的卡顿预测模型,从而在多种待训练的卡顿预测模型中得到预测渲染时间的性能最好的卡顿预测模型,以提高卡顿预测模型的预测准确性。
[0094]
步骤s510、获取终端设备在第一时间段内的运算能力参数和第二时间段内的渲染运算量;其中,第一时间段和第二时间段连续;
[0095]
步骤s511、通过已训练的卡顿预测模型根据第一时间段内的运算能力参数和渲染运算量,获取终端设备在第二时间段内的预测渲染时间。
[0096]
在应用中,步骤s510和步骤s511与上述步骤s201和步骤s202提供的卡顿预测方法一致,在此不再赘述。
[0097]
在应用中,通过构建并训练多种类型的待训练的卡顿预测模型,可以在多种类型的待训练的卡顿预测模型筛选出综合性能最佳的卡顿预测模型,使卡顿预测模型输出的预测渲染时间的准确性提高。
[0098]
如图6所示,基于图5所对应的实施例,在一个实施例中,包括如下步骤s601至步骤s613:
[0099]
步骤s601、根据第一训练任务执行渲染操作,以获取终端设备的硬件信息、第一运算能力参数、第一渲染运算量及第一渲染时间;
[0100]
步骤s602、以终端设备的硬件信息、第一运算能力参数及第一渲染运算量作为自变量,以第一渲染时间作为因变量,采用至少一种机器学习模型构建至少一种待训练的卡顿预测模型;其中,一种机器学习模型用于构建一种待训练的卡顿预测模型。
[0101]
步骤s603、根据第二训练任务执行渲染操作,以获取终端设备的第二运算能力参数、第二渲染运算量及第二渲染时间;
[0102]
步骤s604、对于每一待训练的卡顿预测模型,通过待训练的卡顿预测模型根据第二运算能力参数和第二渲染运算量,获取预测渲染时间;
[0103]
步骤s605、根据预测渲染时间和第二渲染时间构建损失函数;
[0104]
步骤s606、根据损失函数优化待训练的卡顿预测模型。
[0105]
步骤s607、对于每一待训练的卡顿预测模型,在待训练的卡顿预测模型的优化次数达到预设优化次数后,获取最近k次优化后的预测渲染时间;
[0106]
步骤s608、根据第二渲染时间和最近k次优化后的预测渲染时间,获取待训练的卡
顿预测模型的综合性能评分;
[0107]
步骤s609、根据每种待训练的卡顿预测模型的综合性能评分,筛选得到已训练的卡顿预测模型;
[0108]
步骤s610、获取终端设备在第一时间段内的运算能力参数和第二时间段内的渲染运算量;其中,第一时间段和第二时间段连续;
[0109]
步骤s611、通过已训练的卡顿预测模型根据第一时间段内的运算能力参数和渲染运算量,获取终端设备在第二时间段内的预测渲染时间。
[0110]
在应用中,步骤s601至步骤s611与上述步骤s501至步骤s511提供的卡顿预测方法一致,在此不再赘述。
[0111]
步骤s612、根据第二时间段内每一帧的预测渲染时间,获取第二时间段内的帧率稳定评分。
[0112]
在应用中,在通过已训练的卡顿预测模型获取第二时间段内的预测渲染时间后,可以获取第二时间段内每一帧的预测渲染时间,获取第二时间段内的帧率稳定评分。具体的,可以通过计算第二时间段内每一帧的预测渲染时间的方法或标准差,获取第二时间段内的帧率稳定评分,以获取第二时间段内的帧率稳定性,第二时间段内每一帧的预测渲染时间的方差或标准差的大小和帧率稳定评分呈负相关。
[0113]
步骤s613、在帧率稳定评分小于第一预设稳定评分或者预测渲染时间大于第一预设时间时,调整运算能力参数,以提高终端设备在第二时间段内的运算能力。
[0114]
在应用中,可以通过设置预设稳定评分和第一预设时间量化终端设备是否出现卡顿,具体的,在帧率稳定评分小于第一预设稳定评分时,或者在预设渲染时间大于第一预设时间时,可以判定终端设备出现卡顿,此时可以通过调整运算能力参数,提高终端设备在第二时间段内的运算能力。具体的,可以通过提高cpu使用率、cpu频率、gpu使用率和gpu频率中的任意一个或任意多个参数,实现提高终端设备在第二时间段内的运算能力。
[0115]
在应用中,在判定终端设备出现卡顿后,还可以计算预设稳定评分和第一预设稳定评分之间的稳定评分差值,并判断稳定评分差值所属的稳定评分差值等级,每一个稳定评分差值等级具有对应的预设运算能力参数等级,每一个预设运算能力参数等级设置有具体的cpu使用率、cpu频率、gpu使用率或gpu 频率中的任意一个或任意多个参数;同样的,还可以计算预设渲染时间和第一预设时间的时间差值,并判断时间差值所属的时间差值等级,每一个时间差值等级具有对应的预设运算能力参数等级,以实现预设运算参数的多等级调节,可以根据终端设备的实际卡顿情况作出不同等级的预设运算参数调节,在消除卡顿现象的同时降低功耗,实现性能和功耗的平衡。
[0116]
在应用中,在调整运算能力参数时,可以在当前运算能力参数和目标运算能力参数之间通过插值运算形成一个平滑的参数调整序列,使当前运算能力参数逐帧向目标运算能力参数靠近,可以保证显示画面不会产生突变,提高终端设备的显示效果。
[0117]
在一个实施例中,步骤s612之后,还包括:
[0118]
在帧率稳定评分大于或等于第二预设稳定评分且第二时间段的预测渲染时间小于或等于第二预设时间时,调整运算能力参数,以降低终端设备在第二时间段内的运算能力。
[0119]
在应用中,在帧率稳定评分大于或等于第二预设稳定评分时,或者在预设渲染时
间小于或等于第而预设时间时,可以判定终端设备未出现卡顿,此时可以通过降低运算能力参数,降低终端设备在第二时间段内的运算能力,以降低终端设备的功耗。
[0120]
需要说明的是,第一预设稳定评分、第二预设稳定频分、第一预设时间、第二预设时间的具体大小可以根据实际需要进行设置,稳定评分差值等级、预设运算能力参数等级及时间差值等级的等级数量及每一等级下的具体数值可以根据实际需要进行设置。
[0121]
图7示例性的示出了卡顿预测模型的构建、训练、筛选及运用的架构示意图,其中获取训练信息的具体方法可以参照步骤s601和步骤s603,构建并训练卡顿预测模型的具体方法可以参照步骤s602以及步骤s604至步骤s606,筛选综合性能最优的卡顿预测模型的具体方法可以参照步骤s607至步骤s609,通过已训练的卡顿预测模型预测渲染时间的具体方法可以参照步骤s610和步骤s611,根据卡顿情况调整运算能力的具体方法可以参照步骤s612和步骤 s613,在此不再赘述。
[0122]
应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本技术实施例的实施过程构成任何限定。
[0123]
如图8所示,本技术实施例还提供一种卡顿预测装置8,用于执行上述应用于终端设备的卡顿预测方法实施例中的步骤。卡顿预测装置可以是终端设备中的虚拟装置(virtual appliance),由终端设备的处理器运行,也可以是终端设备本身。
[0124]
如图8所示,本技术实施例提供的卡顿预测装置8,包括:
[0125]
采集模块81,用于获取终端设备在第一时间段内的运算能力参数和第二时间段内的渲染运算量;其中,所述第一时间段和所述第二时间段连续;
[0126]
预测模块82,用于通过已训练的卡顿预测模型根据所述第一时间段内的运算能力参数和所述渲染运算量,获取所述终端设备在所述第二时间段内的预测渲染时间。
[0127]
在应用中,卡顿预测装置8中的各模块可以为软件程序模块,也可以通过处理器中集成的不同逻辑电路实现,还可以通过多个分布式处理器实现。
[0128]
需要说明的是,上述模块之间的信息交互、执行过程等内容,由于与本技术方法实施例基于同一构思,其具体功能及带来的技术效果,具体可参见方法实施例部分,此处不再赘述。
[0129]
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。实施例中的各功能模块可以集成在一个处理模块中,也可以是各个模块单独物理存在,也可以两个或两个以上模块集成在一个模块中,上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。另外,各功能模块的具体名称也只是为了便于相互区分,并不用于限制本技术的保护范围。上述系统中模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
[0130]
本技术实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现可实现上述各个卡顿预测方法实施例中的步骤。
[0131]
所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用
时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本技术实现上述实施例方法中的全部或部分流程,可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质至少可以包括:能够将计算机程序代码携带到拍照终端设备的任何实体或装置、记录介质、计算机存储器、只读存储器(rom,read-only memory)、随机存取存储器(ram, random access memory)、电载波信号、电信信号以及软件分发介质。例如u 盘、移动硬盘、磁碟或者光盘等。
[0132]
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部分,可以参见其它实施例的相关描述。
[0133]
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的模块及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本技术的范围。
[0134]
在本技术所提供的实施例中,应该理解到,所揭露的终端设备和方法,可以通过其它的方式实现。例如,以上所描述的终端设备实施例仅仅是示意性的,例如,所述模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个模块或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通讯连接可以是通过一些接口,装置或模块的间接耦合或通讯连接,可以是电性,机械或其它的形式。
[0135]
以上所述实施例仅用以说明本技术的技术方案,而非对其限制;尽管参照前述实施例对本技术进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本技术各实施例技术方案的精神和范围,均应包含在本技术的保护范围之内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献