CN114217969A - 一种执行函数执行方法及相关设备 - Google Patents

一种执行函数执行方法及相关设备 Download PDF

Info

Publication number
CN114217969A
CN114217969A CN202111547702.8A CN202111547702A CN114217969A CN 114217969 A CN114217969 A CN 114217969A CN 202111547702 A CN202111547702 A CN 202111547702A CN 114217969 A CN114217969 A CN 114217969A
Authority
CN
China
Prior art keywords
execution
frequency
execution function
function
target
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.)
Pending
Application number
CN202111547702.8A
Other languages
English (en)
Inventor
刘辉阳
丁河
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shenzhen TCL New Technology Co Ltd
Original Assignee
Shenzhen TCL New Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Shenzhen TCL New Technology Co Ltd filed Critical Shenzhen TCL New Technology Co Ltd
Priority to CN202111547702.8A priority Critical patent/CN114217969A/zh
Publication of CN114217969A publication Critical patent/CN114217969A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • G06T1/20Processor architectures; Processor configuration, e.g. pipelining

Abstract

本申请实施例提供一种执行函数执行方法及相关设备,可以获取目标执行函数对应的执行时间;当目标执行函数的执行时间超过预设时间阈值时,触发提频请求;基于提频请求,将硬件资源的当前频率更新为预设频率,硬件资源为控制目标执行函数执行的硬件资源,预设频率大于当前频率;基于预设频率将目标执行函数的第一执行速度调整为第二执行速度,以基于第二执行速度执行目标执行函数。由于本申请实施例能够在当执行函数的执行时间超过预设时间阈值时,也即应用程序发生卡顿时,对硬件资源的频率进行提高,从而实现实时处理应用程序的卡顿情况,提高对应用程序卡顿的处理效率。

Description

一种执行函数执行方法及相关设备
技术领域
本申请涉及通信技术领域,具体涉及一种执行函数执行方法及相关设备,该相关设备包括执行函数执行装置、计算机设备和计算机可读存储介质。
背景技术
随着智能终端的发展,用户在智能终端上安装的越来越多的应用。而这些应用在被使用的过程中,尤其是多个应用同时被使用的过程中,会占用智能终端较多的资源,如此一来,容易导致应用在被使用的过程中出现卡顿的情况。而这些卡顿往往不能够被及时处理,导致应用不能够被顺畅使用。
发明内容
本申请实施例提供一种执行函数执行方法及相关设备,该相关设备包括执行函数执行装置、计算机设备和计算机可读存储介质,能够提高处理卡顿的效率。
一种执行函数执行方法,包括:
获取目标执行函数对应的执行时间,目标执行函数包括用于绘制应用程序的运行界面的当前帧时所执行的至少一个执行函数;
当目标执行函数的执行时间超过预设时间阈值时,触发提频请求;
基于提频请求,将硬件资源的当前频率更新为预设频率,硬件资源为控制目标执行函数执行的硬件资源,预设频率大于当前频率;
基于预设频率将目标执行函数的第一执行速度调整为第二执行速度,以基于第二执行速度执行目标执行函数。
相应地,本申请实施例提供一种执行函数执行装置,包括:
获取单元,可以用于获取目标执行函数对应的执行时间,目标执行函数包括用于绘制应用程序的运行界面的当前帧时所执行的至少一个执行函数;
触发单元,可以用于当目标执行函数的执行时间超过预设时间阈值时,触发提频请求;
更新单元,可以用于基于提频请求,将硬件资源的当前频率更新为预设频率,硬件资源为控制目标执行函数执行的硬件资源,预设频率大于当前频率;
调整单元,可以用于基于预设频率将目标执行函数的第一执行速度调整为第二执行速度,以基于第二执行速度执行目标执行函数。
在一些实施例中,当目标执行函数包括当前执行函数时,获取单元,具体可以用于获取当前执行函数对应的当前执行时间。
对应地,触发单元,具体可以用于当当前执行函数的当前执行时间超过第一预设时间阈值时,触发提频请求。
在一些实施例中,当目标执行函数包括当前帧的历史执行函数时,获取单元,具体可以获取历史执行函数对应的历史执行时间;将历史执行时间进行融合,得到融合后历史执行时间。
对应地,触发单元,具体可以用于当融合后历史执行时间超出第二预设时间阈值时,触发提频请求。
在一些实施例中,历史执行函数携带硬件资源的资源标识;获取单元,具体可以用于将与资源标识匹配的历史执行函数对应的历史执行时间进行融合,得到融合后历史执行时间。
对应地,触发单元,具体可以用于当融合后历史执行时间超出资源标识对应的第二子预设时间阈值时,触发针对历史执行函数对应的硬件资源的提频请求。
在一些实施例中,获取单元,具体可以用于获取当前帧的绘制时长;当绘制时长超出初始预设时间阈值时,确定当前帧发生卡顿;获取当前帧的历史执行函数对应的历史执行时间。
在一些实施例中,当目标执行函数包括当前帧的当前执行函数和当前帧的历史执行函数时;获取单元,具体可以用于获取当前执行函数对应的当前执行时间,以及获取历史执行函数对应的历史执行时间;将当前执行时间和历史执行时间进行融合,得到融合后执行时间。
对应地,触发单元,具体可以用于当融合后执行时间超出第三预设时间阈值时,确定当前执行函数发生卡顿,以触发针对当前执行函数对应的硬件资源的提频请求。
在一些实施例中,触发单元,具体可以用于获取应用程序的当前帧率,并根据当前帧率确定预设时间阈值;当目标执行函数的执行时间超过预设时间阈值时,触发提频请求。
在一些实施例中,更新单元,具体可以用于根据提频请求中的资源标识,确定待更新频率的目标硬件资源;将目标硬件资源的当前频率更新为预设频率。
此外,本申请实施例还提供一种计算机设备,包括存储器和处理器;存储器存储有计算机程序,处理器用于运行存储器内的计算机程序,以执行本申请实施例提供的任一种执行函数执行方法。
此外,本申请实施例还提供一种存储介质,存储介质存储有计算机程序,计算机程序适于处理器进行加载,以执行本申请实施例提供的任一种执行函数执行方法。
本申请实施例可以获取目标执行函数对应的执行时间,目标执行函数包括用于绘制应用程序的运行界面的当前帧时所执行的至少一个执行函数;当目标执行函数的执行时间超过预设时间阈值时,触发提频请求;基于提频请求,将硬件资源的当前频率更新为预设频率,硬件资源为控制目标执行函数执行的硬件资源,预设频率大于当前频率;基于预设频率将目标执行函数的第一执行速度调整为第二执行速度,以基于第二执行速度执行目标执行函数;由于本申请实施例能够在当目标执行函数的执行时间超过预设时间阈值时,也即应用程序发生卡顿时,对硬件资源的频率进行提高,从而实现实时处理应用程序的卡顿情况,提高对应用程序卡顿的处理效率。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例提供的执行函数执行方法的场景示意图;
图2是本申请实施例提供的执行函数执行方法的流程示意一图;
图3是本申请实施例提供的通过定时器对运行界面的每一图像帧进行记录的示意图;
图4是本申请实施例提供的获取应用程序绘制运行界面当前帧的执行函数对应的执行时间的示意图;
图5是本申请实施例提供的执行函数执行方法的流程示意二图;
图6是本申请实施例提供的执行函数执行方法的系统架构图;
图7是本申请实施例提供的执行函数执行装置的结构示意图;
图8是本申请实施例提供的计算机设备的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本申请实施例提供一种执行函数执行方法、装置、计算机设备和存储介质。其中,该执行函数执行装置可以集成在计算机设备中,该计算机设备可以是服务器,也可以是终端等设备。
其中,服务器可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、网络加速服务(Content Delivery Network,CDN)、以及大数据和人工智能平台等基础云计算服务的云服务器。终端可以是智能电视机、智能手机、平板电脑、笔记本电脑、台式计算机、智能音箱、智能手表等,但并不局限于此。终端以及服务器可以通过有线或无线通信方式进行直接或间接地连接,本申请在此不做限制。
例如,参见图1,以执行函数执行装置集成在计算机设备,该计算机设备为智能电视机中为例,智能电视机获取目标执行函数对应的执行时间;基于提频请求,将硬件资源的当前频率更新为预设频率,硬件资源为控制目标执行函数执行的硬件资源,预设频率大于当前频率;基于预设频率将目标执行函数的第一执行速度调整为第二执行速度,以基于第二执行速度执行目标执行函数。
其中,目标执行函数包括用于绘制应用程序的运行界面的当前帧时所执行的至少一个执行函数;当目标执行函数的执行时间超过预设时间阈值时,触发提频请求。
其中,应用程序是指智能电视机上能够显示出运行界面的应用程序。
其中,应用程序绘制运行界面需要通过多个目标执行函数的执行来实现,每个目标执行函数的执行对应有执行时间。
其中,提频请求是指提高硬件资源频率的请求,硬件资源频率越高,智能电视机运行速度越快,执行函数执行越快。
其中,硬件资源为控制执行函数执行的硬件资源,硬件资源可以包括CPU、GPU。
以下分别进行详细说明。需说明的是,以下实施例的描述顺序不作为对实施例优选顺序的限定。
本实施例将从执行函数执行装置的角度进行描述,该执行函数执行装置具体可以集成在计算机设备中,该计算机设备可以是服务器,也可以是终端等设备;其中,该终端可以包括智能电视机、平板电脑、笔记本电脑、以及个人计算机(PC,Personal Computer)、可穿戴设备、虚拟现实设备或其他可以获取数据的智能设备等设备。
如图2所示,该执行函数执行方法的具体流程如下:
101、获取目标执行函数对应的执行时间。
其中,应用程序在计算机设备上能够显示出运行界面。
其中,目标执行函数包括用于绘制应用程序的运行界面的当前帧时所执行的至少一个执行函数。
其中,应用程序的运行界面在显示的过程中,需要完成该运行界面的对应的多个图像帧的绘制。其中,对于运行界面的每个图像帧的绘制都需要通过一个或多个目标执行函数的执行来实现。本申请实施例中的当前帧可以是指该多个图像帧中的任意一帧。
其中,应用程序绘制运行界面的任意一个图像帧需要通过至少目标执行函数的执行来实现,每个目标执行函数的执行对应有执行时间。不同的目标执行函数对应的执行时间可能是相同的,也可能是不同的。
其中,本申请实施例中的目标执行函数可以包含当前执行函数;或者,本申请实施例中的目标执行函数可以包含历史执行函数;或者,本申请实施例中的目标执行函数可以同时包括当前执行函数和历史执行函数。当前执行函数是指绘制当前帧当前正在执行的执行函数,当前执行函数可以只有一个。历史执行函数是指绘制当前帧已经执行的一个或多个执行函数。
其中,本申请实施例应用程序启动时,会对应启动该应用程序对应的定时器,该定时器会对应用程序的每一个目标执行函数的执行时间进行记录。当应用程序关闭时,定时器会结束对应用程序的执行函数的执行时间的记录。
可选地,如图3所示,本申请实施例可以通过定时器对运行界面的每一图像帧进行记录。例如,计算机设备通过定时器的倒计时,检测当前帧对应的目标执行函数中的每一执行函数的执行时间。当当前帧绘制完成,计算机设备创建新定时器对新图像帧进行记录。
本申请实施例中,获取目标执行函数对应的执行时间的方式有多种。例如,本申请实施例对目标执行函数所包含的一个或多个执行函数中每个执行函数执行的初始时间和结束时间进行记录,如此本申请实施例能够根据初始时间和结束时间之间的差值得到每个执行函数的执行时间,进而得到目标执行函数的执行时间。
例如,当目标执行函数包含当前执行函数时,执行时间为当前执行函数对应的当前执行时间,本申请实施例对当前帧的历史执行函数所包含的每个执行函数所对应的历史执行时间进行记录,得到历史执行时间总和,对当前帧的绘制时间进行记录,绘制时间包括当前帧的历史执行函数的历史执行时间和当前帧的当前执行函数的当前执行时间,本申请实施例根据当前帧的绘制时间和当前帧的历史执行时间总和之间的差值,得到当前执行函数的当前执行时间。
可选地,当目标执行函数包括当前帧的当前执行函数时,本申请实施例获取目标执行函数对应的执行时间,具体过程为:计算机设备获取当前执行函数对应的当前执行时间,也即执行时间为当前执行时间。本申请实施例基于对当前执行函数实时监控,当当前执行函数的当前执行时间超过第一预设时间阈值时,可以确定当前执行函数发生卡顿,如此能够在当前执行函数发生卡顿时实时进行调整,提高卡顿的处理效率。
可选地,当目标执行函数包括当前帧的历史执行函数时,如图4所示,本申请实施例获取目标执行函数对应的执行时间的具体过程还可以如下:
A1、获取历史执行函数对应的历史执行时间。
其中,本申请实施例可以对每个历史执行函数的历史执行时间进行记录,例如,记录每个历史执行函数的起始时间和结束时间,基于每个历史执行函数起始时间和结束时间之间的差值,得到每个历史执行函数对应的历史执行时间。
A2、将历史执行时间进行融合,得到融合后历史执行时间。
其中,将历史执行时间进行融合的方式可以有多种。例如将所有历史执行时间相加实现融合。例如,将所有历史执行时间与历史执行时间对应的权重相乘,得到每个相乘后的历史执行时间,然后,再将每个相乘后的历史执行时间相加实现融合。
例如,当前帧的目标执行函数包括执行函数A、执行函数B、执行函数C,执行函数A、执行函数B、执行函数C三个执行函数依次执行完成才能显示当前帧。当前帧的当前执行函数为执行函数C,执行函数A和执行函数B为当前帧的历史执行函数。将执行函数A对应的历史执行时间和执行函数B对应的历史执行时间进行融合,得到融合后历史执行时间。当融合后历史执行时间超过第二预设时间阈值时,本申请实施例能够确定当前帧的历史执行函数中存在导致当前帧卡顿的执行函数。
例如,当前帧的目标执行函数包括执行函数A、执行函数B、执行函数C,执行函数A、执行函数B、执行函数C三个执行函数依次执行完成才能显示当前帧。当前帧的历史执行函数包括执行函数A、执行函数B、执行函数C。将执行函数A对应的历史执行时间、执行函数B对应的历史执行时间、执行函数C对应的历史执行时间进行融合,得到融合后的历史执行时间。当融合后的历史执行时间超过第二预设时间阈值时,本申请实施例能够确定当前帧的历史执行函数中存在导致当前帧卡顿的执行函数。
具体地,本申请实施例将历史执行时间进行融合,得到融合后的历史执行时间还可以包括:将与资源标识匹配的执行函数对应的历史执行时间进行融合,得到融合后历史执行时间。
其中,历史执行函数携带资源标识。目标执行函数可以是由不同的硬件资源控制执行,例如,硬件资源包括CPU、GPU,携带CPU资源标识的目标执行函数由CPU控制执行,携带GPU资源标识的目标执行函数由GPU控制执行。因此,本申请实施例通过将资源标识匹配的目标执行函数对应的历史执行时间进行融合,得到融合后历史执行时间,可以基于对融合后历史执行时间进行判断,确定提频的目标硬件资源。
例如,本申请实施例获取历史执行函对应的历史执行时间,还可以包括:获取当前帧的绘制时长;当绘制时长超出初始预设时间阈值时,确定当前帧发生卡顿;获取当前帧的历史执行函数对应的历史执行时间。
其中,执行函数执行界面当前帧的绘制时长是指运行界面当前帧的显示时长。
其中,本申请实施例发生卡顿的当前帧的历史执行函数包括绘制当前帧的所有执行函数。
可选地,当目标执行函数包括当前帧的当前执行函数和当前帧的历史执行函数时,本申请实施例获取目标执行函数对应的执行时间的具体过程还可以包括:计算机设备获取当前执行函数对应的当前执行时间,以及获取历史执行函数对应的历史执行时间;将当前执行时间和历史执行时间进行融合,得到融合后执行时间。
102、当目标执行函数的执行时间超过预设时间阈值时,触发提频请求。
其中,提频请求是指提高硬件资源频率的请求,硬件资源频率越高,计算机设备运行速度越快,目标执行函数执行越快。
具体地,本申请实施例可以获取应用程序的当前帧率,并根据当前帧率确定预设时间阈值;当目标执行函数的执行时间超过预设时间阈值时,触发提频请求。
其中,预设时间阈值是动态的时间阈值,不同的应用程序的帧率是不同的,例如,应用程序的帧率可以为每秒90帧,也可以为每秒30帧,因此,本申请实施例动态确定预设时间阈值,能够更准确地判断目标执行函数的执行时间,从而提高触发提频请求的准确性。
本申请实施例是以帧率为单位的资源调度方法,能准确反应计算机设备主线程以及应用程序的渲染线程的状态,在存在丢帧的可能时对硬件资源做适当的调度调整,例如提高CPU的频率和/或GPU的频率,在不损耗硬件使用寿命的情况下,充分发挥硬件资源的性能。
其中,本申请实施例触发提频请求的情况可以有多种。
例如,当目标执行函数包括当前执行函数时,本申请实施例可以采用的方式为:当当前执行函数的当前执行时间超过第一预设时间阈值时,触发提频请求。
例如,当目标执行函数包括当前帧的历史执行函数时,本申请实施例可以采用的方式为:当融合后历史执行时间超出第二预设时间阈值时,触发提频请求。
例如,当历史执行函数携带硬件资源的资源标识时,本申请实施例可以采用的方式为:当融合后历史执行时间超出资源标识对应的第二子预设时间阈值时,触发针对历史执行函数对应的硬件资源的提频请求。
例如,当目标执行函数包括当前帧的当前执行函数和当前帧的历史执行函数时,当融合后执行时间超出第三预设时间阈值时,确定当前执行函数发生卡顿,以触发针对当前执行函数对应的硬件资源的提频请求。
103、基于提频请求,将硬件资源的当前频率更新为预设频率。
其中,预设频率大于当前频率。本申请实施例通过提高硬件资源的频率,提高目标执行函数的执行速度,从而解决应用程序卡顿的问题。
其中,硬件资源为控制目标执行函数执行的硬件资源。
当硬件资源为CPU时,本申请实施例基于提频请求,将CPU的当前频率更新为预设频率。
当硬件资源为GPU时,本申请实施例基于提频请求,将GPU的当前频率更新为预设频率。
当硬件资源包括CPU和GPU时,由于提频请求携带硬件资源的资源标识;本申请实施例可以根据提频请求中的资源标识,确定待更新频率的目标硬件资源;将目标硬件资源的当前频率更新为预设频率。
104、基于预设频率将目标执行函数的第一执行速度调整为第二执行速度,以基于第二执行速度执行目标执行函数。
其中,当该应用程序正常运行,即当前帧的目标执行函数正常运行后,硬件资源的频率从预设频率调整回当前频率。
为了更好地实施以上方法,本申请实施例以下进行进一步的说明,如图5所示,具体如下:首先,本申请实施例对目标执行函数对应的执行时间进行记录;其次,本申请实施例可以通过以下两种方式触发提频请求:
1、倒计时超时提频,具体为:计算机设备获取当前帧的历史执行函数对应的历史执行时间;将历史执行时间进行融合,得到融合后历史执行时间;当融合后历史执行时间超出第二预设时间阈值时,触发提频请求。
其中,由于本申请实施例采用定时器对应用程序每一帧的执行时间进行记录,因此,通过定时器的倒计时,能够确定应用程序是否导致发生卡顿。
例如,当前帧需要依次执行完成执行函数A、执行函数B、执行函数C三个执行函数后才能显示当前帧。一般由GPU控制执行的目标执行函数为最后一个执行函数,也即执行函数C,由CPU控制执行的执行函数包括执行函数A和执行函数B,因此,本申请实施例通过定时器的倒计时,对执行函数的执行时间进行记录,所以倒计时发生卡顿的时候,如果计算机设备当前执行到执行函数C,那么计算历史执行函数的历史执行时间,即计算执行函数A的执行时间和执行函数B的执行时间的时间总和,时间总和超过第二预设时间阈值,则确定是CPU控制下导致应用程序出现卡顿的。
2、关键函数超时提频,具体为:计算机设备获取当前执行函数对应的当前执行时间;当当前执行函数的当前执行时间超过第一预设时间阈值时,触发提频请求。其中,关键函数是指当前执行函数。
具体实施详见前述,此处不再赘述。
本申请实施例可以获取目标执行函数对应的执行时间,目标执行函数包括用于绘制应用程序的运行界面的当前帧时所执行的至少一个执行函数;当目标执行函数的执行时间超过预设时间阈值时,触发提频请求;基于提频请求,将硬件资源的当前频率更新为预设频率,硬件资源为控制目标执行函数执行的硬件资源,预设频率大于当前频率;基于预设频率将目标执行函数的第一执行速度调整为第二执行速度,以基于第二执行速度执行目标执行函数。由于本申请实施例能够在当执行函数的执行时间超过预设时间阈值时,也即应用程序发生卡顿时,对硬件资源的频率进行提高,从而实现实时处理应用程序的卡顿情况,提高对应用程序卡顿的处理效率。
本申请实施例从系统架构进行阐述。如图6所示,本申请实施例的系统架构包括用户程序空间和内核空间。本申请实施例的用户程序空间(user space)可以运行至少一个进程,例如,应用程序进程和Surface Flinger进程。
应用程序进程用于获取应用程序的运行界面在绘制过程中产生的绘制数据,例如,应用程序进程获取应用程序的运行界面在绘制过程中产生的目标执行函数的执行时间。Surface Flinger进程用于接收来自应用程序进程的绘制数据和触发提频请求,例如,Surface Flinger进程接收目标执行函数的执行时间,并基于执行时间,触发提频请求。
具体来说,应用程序进程中包括应用程序运行模块和第一传输模块。应用程序运行模块用于获取绘制数据并将绘制数据发送给第一传输模块。第一传输模块用于接收应用程序运行模块的绘制数据。例如,本申请实施可以通过应用程序运行模块获取目标执行函数的执行时间,并将目标执行函数的执行时间发送给第一传输模块。
Surface Flinger进程包括第二传输模块、主线程模块和调频模块。第二传输模块用于接收第一传输模块的绘制数据。主线程模块用于调用接口,使第二传输模块和调频模块通过接口进行交互,使第二传输模块将绘制数据通过接口发送给调频模块。调频模块用于将接收到的绘制数据进行判断并触发提频请求,例如,当执行时间超过预设时间阈值时,触发提频请求。
例如,本申请实施例可以通过第二传输模块和第一传输模块进行交互,第二传输模块接收第一传输模块的执行时间。然后通过主线程模块调用接口,使第二传输模块将执行时间通过接口发送给调频模块。调频模块对接收到的执行时间进行判断,当执行时间超过预设时间阈值时,触发提频请求。
本申请实施例的内核空间(kernel space)用于运行硬件操作模块。硬件操作模块用于接收提频请求,并基于提频请求调整硬件资源的频率。
本申请实施例通过硬件操作模块用于接收提频请求,基于提频请求将硬件资源的当前频率更新为预设频率,如此基于基于预设频率将目标执行函数的第一执行速度调整为第二执行速度,以基于第二执行速度执行目标执行函数。
其中,硬件资源包括CPU、GPU和DDR。
本申请实施例能够实现对计算机设备的上所有应用的全场景覆盖,以帧为单位进行卡顿检测;实时资源调度,计算机设备在检测到卡顿后,实时进行资源调度,提高硬件资源的频率,以减少卡顿;帧率统计,支持多时间段设置的帧率信息统计应用程序的帧率;应用程序识别,识别当前运行的应用程序为游戏应用程序或视频应用程序,对应用程序做大数据收集;卡顿埋点,对应用程序进行标记,应用程序出现卡顿时,计算机设备会根据应用程序对应的标记获取到发生卡顿的应用程序的数据。
为了更好地实施以上方法,本申请实施例还提供一种执行函数执行装置,该执行函数执行装置可以集成在计算机设备,比如服务器或终端等设备中,该终端可以包括平板电脑、笔记本电脑和/或个人计算机等。
例如,如图5所示,该执行函数执行装置可以包括获取单元301、触发单元302、更新单元303和调整单元304,如下:
(1)获取单元301;
获取单元301,可以用于获取目标执行函数对应的执行时间,目标执行函数包括用于绘制应用程序的运行界面的当前帧时所执行的至少一个执行函数。
在一些实施例中,当目标执行函数包括当前执行函数时,获取单元301,具体可以用于获取当前执行函数对应的当前执行时间。
在一些实施例中,当目标执行函数包括当前帧的历史执行函数时,获取单元301,具体可以用于获取历史执行函数对应的历史执行时间;将历史执行时间进行融合,得到融合后历史执行时间。
在一些实施例中,历史执行函数携带硬件资源的资源标识;获取单元301,具体可以用于将与资源标识匹配的历史执行函数对应的历史执行时间进行融合,得到融合后历史执行时间。
在一些实施例中,获取单元301,具体可以用于获取当前帧的绘制时长;当绘制时长超出初始预设时间阈值时,确定当前帧发生卡顿;获取当前帧的历史执行函数对应的历史执行时间。
在一些实施例中,当目标执行函数包括当前帧的当前执行函数和当前帧的历史执行函数时,获取单元301,具体可以用于获取当前执行函数对应的当前执行时间,以及获取历史执行函数对应的历史执行时间;将当前执行时间和历史执行时间进行融合,得到融合后执行时间。
(2)触发单元302;
触发单元302,可以用于当目标执行函数的执行时间超过预设时间阈值时,触发提频请求。
在一些实施例中,触发单元302,具体可以用于当当前执行函数的当前执行时间超过第一预设时间阈值时,触发提频请求。
在一些实施例中,触发单元302,具体可以用于当融合后历史执行时间超出第二预设时间阈值时,触发提频请求。
在一些实施例中,触发单元302,具体可以用于当融合后历史执行时间超出资源标识对应的第二子预设时间阈值时,触发针对历史执行函数对应的硬件资源的提频请求。
在一些实施例中,触发单元302,具体可以用于当融合后执行时间超出第三预设时间阈值时,确定当前执行函数发生卡顿,以触发针对当前执行函数对应的硬件资源的提频请求。
在一些实施例中,触发单元302,具体可以用于获取应用程序的当前帧率,并根据当前帧率确定预设时间阈值;当目标执行函数的执行时间超过预设时间阈值时,触发提频请求。
(3)更新单元303;
更新单元303,可以基于提频请求,将硬件资源的当前频率更新为预设频率,硬件资源为控制目标执行函数执行的硬件资源,预设频率大于当前频率。
在一些实施例中,提频请求携带硬件资源的资源标识;更新单元303,可以用于根据提频请求中的资源标识,确定待更新频率的目标硬件资源;将目标硬件资源的当前频率更新为预设频率。
(4)调整单元304;
调整单元304,可以基于预设频率将目标执行函数的第一执行速度调整为第二执行速度,以基于第二执行速度执行目标执行函数。
本申请实施例的获取单元301可以获取目标执行函数对应的执行时间,目标执行函数包括用于绘制应用程序的运行界面的当前帧时所执行的至少一个执行函数;触发单元302可以用于当目标执行函数的执行时间超过预设时间阈值时,触发提频请求;更新单元303可以用于基于提频请求,将硬件资源的当前频率更新为预设频率,硬件资源为控制目标执行函数执行的硬件资源,预设频率大于当前频率;调整单元304可以用于基于预设频率将目标执行函数的第一执行速度调整为第二执行速度,以基于第二执行速度执行目标执行函数。由于本申请实施例能够在当执行函数的执行时间超过预设时间阈值时,也即应用程序发生卡顿时,对硬件资源的频率进行提高,从而实现实时处理应用程序的卡顿情况,提高对应用程序卡顿的处理效率。
本申请实施例还提供一种计算机设备,如图6所示,其示出了本申请实施例所涉及的计算机设备的结构示意图,具体来讲:
该计算机设备可以包括一个或者一个以上处理核心的处理器401、一个或一个以上计算机可读存储介质的存储器402、电源403和输入单元404等部件。本领域技术人员可以理解,图6中示出的计算机设备结构并不构成对计算机设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。其中:
处理器401是该计算机设备的控制中心,利用各种接口和线路连接整个计算机设备的各个部分,通过运行或执行存储在存储器402内的软件程序和/或模块,以及调用存储在存储器402内的数据,执行计算机设备的各种功能和处理数据,从而对计算机设备进行整体监控。可选的,处理器401可包括一个或多个处理核心;优选的,处理器401可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和计算机程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器401中。
存储器402可用于存储软件程序以及模块,处理器401通过运行存储在存储器402的软件程序以及模块,从而执行各种功能应用以及数据处理。存储器402可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的计算机程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据计算机设备的使用所创建的数据等。此外,存储器402可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。相应地,存储器402还可以包括存储器控制器,以提供处理器401对存储器402的访问。
计算机设备还包括给各个部件供电的电源403,优选的,电源403可以通过电源管理系统与处理器401逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。电源403还可以包括一个或一个以上的直流或交流电源、再充电系统、电源故障检测电路、电源转换器或者逆变器、电源状态指示器等任意组件。
该计算机设备还可包括输入单元404,该输入单元404可用于接收输入的数字或字符信息通讯,以及产生与用户设置以及功能控制有关的键盘、鼠标、操作杆、光学或者轨迹球信号输入。
尽管未示出,计算机设备还可以包括显示单元等,在此不再赘述。具体在本实施例中,计算机设备中的处理器401会按照如下的指令,将一个或一个以上的计算机程序的进程对应的可执行文件加载到存储器402中,并由处理器401来运行存储在存储器402中的计算机程序,从而实现各种功能,如下:
获取目标执行函数对应的执行时间,目标执行函数包括用于绘制应用程序的运行界面的当前帧时所执行的至少一个执行函数;当目标执行函数的执行时间超过预设时间阈值时,触发提频请求;基于提频请求,将硬件资源的当前频率更新为预设频率,硬件资源为控制目标执行函数执行的硬件资源,预设频率大于当前频率;基于预设频率将目标执行函数的第一执行速度调整为第二执行速度,以基于第二执行速度执行目标执行函数。
以上各个操作的具体实施可参见前面的实施例,在此不再赘述。
本领域普通技术人员可以理解,上述实施例的各种方法中的全部或部分步骤可以通过计算机程序来完成,或通过计算机程序控制相关的硬件来完成,该计算机程序可以存储于一计算机可读存储介质中,并由处理器进行加载和执行。
为此,本申请实施例提供一种存储介质,其中存储有计算机程序,该计算机程序能够被处理器进行加载,以执行本申请实施例所提供的任一种执行函数执行方法。
以上各个操作的具体实施可参见前面的实施例,在此不再赘述。
其中,该存储介质可以包括:只读存储器(ROM,Read Only Memory)、随机存取记忆体(RAM,Random Access Memory)、磁盘或光盘等。
由于该存储介质中所存储的指令,可以执行本申请实施例所提供的任一种执行函数执行方法中的步骤,因此,可以实现本申请实施例所提供的任一种执行函数执行方法所能实现的有益效果,详见前面的实施例,在此不再赘述。
其中,根据本申请的一个方面,提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述实施例提供的各种可选实现方式中提供的方法。
以上对本申请实施例所提供的一种执行函数执行方法及相关设备,该相关设备包括执行函数执行装置、计算机设备、存储介质进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上,本说明书内容不应理解为对本申请的限制。

Claims (11)

1.一种执行函数执行方法,其特征在于,包括:
获取目标执行函数对应的执行时间,所述目标执行函数包括用于绘制应用程序的运行界面的当前帧时所执行的至少一个执行函数;
当所述目标执行函数的执行时间超过预设时间阈值时,触发提频请求;
基于所述提频请求,将硬件资源的当前频率更新为预设频率,所述硬件资源为控制所述目标执行函数执行的硬件资源,所述预设频率大于所述当前频率;
基于所述预设频率将所述目标执行函数的第一执行速度调整为第二执行速度,以基于所述第二执行速度执行所述目标执行函数。
2.根据权利要求1所述的执行函数执行方法,其特征在于,当所述目标执行函数包括当前执行函数时,所述获取目标执行函数对应的执行时间,包括:
获取所述当前执行函数对应的当前执行时间;
对应地,所述当所述目标执行函数的执行时间超过预设时间阈值时,触发提频请求,包括:
当所述当前执行函数的所述当前执行时间超过第一预设时间阈值时,触发提频请求。
3.根据权利要求1所述的执行函数执行方法,其特征在于,当所述目标执行函数包括所述当前帧的历史执行函数时,所述获取目标执行函数对应的执行时间,包括:
获取所述历史执行函数对应的历史执行时间;
将所述历史执行时间进行融合,得到融合后历史执行时间;
对应地,所述当所述目标执行函数的执行时间超过预设时间阈值时,触发提频请求,包括:
当所述融合后历史执行时间超出第二预设时间阈值时,触发提频请求。
4.根据权利要求3所述的执行函数执行方法,其特征在于,所述历史执行函数携带硬件资源的资源标识;所述将所述历史执行时间进行融合,得到融合后历史执行时间,包括:
将与所述资源标识匹配的历史执行函数对应的历史执行时间进行融合,得到融合后历史执行时间;
所述当所述融合后历史执行时间超出第二预设时间阈值时,触发提频请求,包括:
当所述融合后历史执行时间超出所述资源标识对应的第二子预设时间阈值时,触发针对所述历史执行函数对应的硬件资源的提频请求。
5.根据权利要求3所述的执行函数执行方法,其特征在于,所述获取所述历史执行函数对应的历史执行时间,包括:
获取所述当前帧的绘制时长;
当所述绘制时长超出初始预设时间阈值时,确定当前帧发生卡顿;
获取所述当前帧的历史执行函数对应的历史执行时间。
6.根据权利要求1所述的执行函数执行方法,其特征在于,当所述目标执行函数包括所述当前帧的当前执行函数和所述当前帧的历史执行函数时,所述获取目标执行函数对应的执行时间,包括:
获取所述当前执行函数对应的当前执行时间,以及获取所述历史执行函数对应的历史执行时间;
将所述当前执行时间和所述历史执行时间进行融合,得到融合后执行时间;
对应地,所述当所述目标执行函数的执行时间超过预设时间阈值时,触发提频请求,包括:
当所述融合后执行时间超出第三预设时间阈值时,确定所述当前执行函数发生卡顿,以触发针对所述当前执行函数对应的硬件资源的提频请求。
7.根据权利要求1所述的执行函数执行方法,其特征在于,所述当所述目标执行函数的执行时间超过预设时间阈值时,触发提频请求,包括:
获取所述应用程序的当前帧率,并根据所述当前帧率确定所述预设时间阈值;
当所述目标执行函数的执行时间超过预设时间阈值时,触发提频请求。
8.根据权利要求1至7任一项所述的执行函数执行方法,其特征在于,所述提频请求携带硬件资源的资源标识;所述基于所述提频请求,将硬件资源的当前频率更新为预设频率,包括:
根据所述提频请求中的资源标识,确定待更新频率的目标硬件资源;
将所述目标硬件资源的当前频率更新为预设频率。
9.一种执行函数执行装置,其特征在于,包括:
获取单元,用于获取目标执行函数对应的执行时间,所述目标执行函数包括用于绘制应用程序的运行界面的当前帧时所执行的至少一个执行函数;
触发单元,用于当所述目标执行函数的执行时间超过预设时间阈值时,触发提频请求;
更新单元,用于基于所述提频请求,将硬件资源的当前频率更新为预设频率,所述硬件资源为控制所述目标执行函数执行的硬件资源,所述预设频率大于所述当前频率;
调整单元,用于基于所述预设频率将所述目标执行函数的第一执行速度调整为第二执行速度,以基于所述第二执行速度执行所述目标执行函数。
10.一种计算机设备,其特征在于,包括存储器和处理器;所述存储器存储有计算机程序,所述处理器用于运行所述存储器内的计算机程序,以执行权利要求1至8任一项所述的执行函数执行方法。
11.一种存储介质,其特征在于,所述存储介质存储有计算机程序,所述计算机程序适于处理器进行加载,以执行权利要求1至8任一项所述的执行函数执行方法。
CN202111547702.8A 2021-12-16 2021-12-16 一种执行函数执行方法及相关设备 Pending CN114217969A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111547702.8A CN114217969A (zh) 2021-12-16 2021-12-16 一种执行函数执行方法及相关设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111547702.8A CN114217969A (zh) 2021-12-16 2021-12-16 一种执行函数执行方法及相关设备

Publications (1)

Publication Number Publication Date
CN114217969A true CN114217969A (zh) 2022-03-22

Family

ID=80703344

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111547702.8A Pending CN114217969A (zh) 2021-12-16 2021-12-16 一种执行函数执行方法及相关设备

Country Status (1)

Country Link
CN (1) CN114217969A (zh)

Similar Documents

Publication Publication Date Title
WO2019174595A1 (zh) 资源配置方法、装置、终端及存储介质
CN105677477B (zh) 一种优化应用程序资源的方法、装置及电子设备
CN110795056B (zh) 调节显示参数的方法、装置、终端及存储介质
US11169858B2 (en) Faster game enablement utilizing virtual machine reuse
CN108762831A (zh) 应用程序预加载方法、装置、存储介质及终端
CN112005218A (zh) 一种图像处理器的功率分配的方法、装置及系统
CN110647366B (zh) 处理卡顿的方法、装置、终端及存储介质
US20210018972A1 (en) Power control method based on user habit and terminal
US20220280867A1 (en) Server load prediction and advanced performance measures
CN114647550A (zh) 进程管控方法、装置、存储介质及电子设备
CN112044061B (zh) 游戏画面处理方法、装置、电子设备以及存储介质
CN110658904A (zh) 控制终端电流的方法、装置、终端及存储介质
CN110659136A (zh) 限制帧率的方法、装置、终端及存储介质
CN114217969A (zh) 一种执行函数执行方法及相关设备
CN112764837B (zh) 数据上报方法、装置、存储介质及终端
CN113204425B (zh) 供进程管理内部线程的方法、装置、电子设备及存储介质
CN112131029B (zh) 广播处理方法、装置、计算机设备及存储介质
CN110633003B (zh) 降低功耗的方法、装置、终端及存储介质
CN113595814A (zh) 消息延迟检测方法、装置、电子设备及存储介质
CN114489892A (zh) 数据处理方法、装置、计算机可读存储介质和计算机设备
CN114780218A (zh) 应用管控方法、装置、存储介质及电子设备
CN114416476A (zh) 云手机应用的运行监控方法、装置、设备以及存储介质
CN114116090A (zh) 信息展示方法、装置、电子设备及计算机可读存储介质
CN111756648B (zh) 流量拥塞控制方法、装置、设备和介质
CN113391834A (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