CN115237583A - 计算资源调度方法及装置 - Google Patents
计算资源调度方法及装置 Download PDFInfo
- Publication number
- CN115237583A CN115237583A CN202110438616.7A CN202110438616A CN115237583A CN 115237583 A CN115237583 A CN 115237583A CN 202110438616 A CN202110438616 A CN 202110438616A CN 115237583 A CN115237583 A CN 115237583A
- Authority
- CN
- China
- Prior art keywords
- frame rate
- gpu
- terminal
- rate range
- cpu
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
Abstract
本申请提供了一种计算资源调度方法及装置,涉及通信技术领域。该方法包括:终端创建包括图形合成相关线程的线程组,根据目标图像质量调整线程组对应的CPU的处理资源和/或GPU频率,该方法可减少应用在启动、退出、手势导航等场景出现丢帧卡顿现象的产生,根据用户需求提供相应的图形合成资源,降低终端的功耗,提升用户体验感。
Description
技术领域
本申请涉及通信技术领域,尤其涉及一种计算资源调度方法及装置。
背景技术
当前主流的智能终端操作系统包括安卓操作系统(android operation system,Android OS)(以下简称为安卓系统),该系统中,在应用(也可以称为应用程序)启动、应用退出、手势导航等场景,会有各种界面刷新忽快忽慢的情况,这种情况可能会导致丢帧卡顿的现象,降低用户体验。尤其是高帧率场景,丢帧卡顿的现象更加严重。
发明内容
本申请实施例提供了一种计算资源调度方法及装置,用于解决应用在启动、退出、手势导航等场景出现的丢帧卡顿的问题。
为达到上述目的,本申请实施例提供如下技术方案:
第一方面,提供了一种计算资源调度方法,包括:终端创建包括图形合成相关线程的线程组,根据目标图像质量调整线程组对应的CPU的处理资源和/或GPU频率。第一方面提供的方法,可减少应用在启动、退出、手势导航等场景出现丢帧卡顿现象的产生,根据用户需求提供相应的图形合成资源,降低终端的功耗,提升用户体验感。
在一种可能的实现方式中,终端根据目标图像质量调整线程组对应的CPU的处理资源和/或调整GPU频率,包括:终端根据图像的目标帧率调整线程组对应的CPU的处理资源;和/或,终端根据图像的单帧图像GPU合成时长调整GPU频率。该种可能的实现方式,根据目标帧率调整CPU的处理资源和/或根据单帧图像GPU合成时长调整GPU频率,可以及时调度图像合成资源,保证图像显示的及时性。
在一种可能的实现方式中,终端根据图像的目标帧率调整线程组对应的CPU的处理资源,包括:终端确定目标帧率所处的帧率范围为第一帧率范围;终端根据第一帧率范围对应的门限值调整线程组对应的CPU的处理资源,门限值大于0且小于1。该种可能的实现方式,根据目标帧率所处的第一帧率范围直接确定需要调整的CPU的处理资源,对于帧率范围的划分,能够通过判断目标帧率所处帧率范围确定CPU的处理资源的门限值,从而解决现有技术中无法根据用户对于帧率的实时需求进行资源配置的问题。
在一种可能的实现方式中,终端根据第一帧率范围对应的门限值调整线程组对应的CPU的处理资源,包括:终端确定CPU的处理资源的调整值,调整值为第一帧率范围对应的门限值与CPU的剩余资源的乘积;终端根据调整值为线程组增加CPU的处理资源。该种可能的实现方式,提供了根据第一帧率范围对应的门限值计算线程组对应的CPU的处理资源的调整量的具体计算方式,终端根据此公式从而计算得到目标帧率对应的CPU的处理资源,实现相应的调整。
在一种可能的实现方式中,终端根据图像的单帧图像GPU合成时长调整GPU频率,包括:终端确定目标帧率所处的帧率范围为第二帧率范围以及第二帧率范围对应的GPU频率;当确定在第二帧率范围对应的GPU频率下,单帧图像GPU合成时长大于或等于第一阈值时,调整GPU频率至第二帧率范围的最大值对应的GPU频率,该第一阈值为第二帧率范围的最大值对应的单帧图像GPU合成时长,该第二帧率范围的最大值对应的GPU频率大于第二帧率范围对应的GPU频率。该种可能的实现方式,根据目标帧率所处的第二帧率范围确定其对应的GPU频率,GPU在该频率下进行图像合成,并同时检测单帧图像GPU合成时长,通过判断其与第一阈值的关系确定对应GPU频率的调整方式,从而在判断单帧图像GPU合成时长无法满足用户需求时,能够及时调整GPU频率,减少丢帧卡顿的现象产生。
在一种可能的实现方式中,该方法还包括:终端实时监控帧率的变化;和/或,终端实时监控单帧图像GPU合成时长。该种可能的实现方式,终端通过实时监控帧率的变化和/或单帧图像GPU合成时长,进行CPU的处理资源和/或GPU频率的调整,从而实现根据用户需求实时调整图形合成资源,提升用户体验。
在一种可能的实现方式中,图形合成相关线程包括SF进程、内存分配进程、送显进程、工作进程中的一个或多个进程中的线程。
在一种可能的实现方式中,该方法还包括:终端提高图形合成相关线程的调度优先级。该种可能的实现方式,通过提高图形合成相关线程的调度优先级,能够实现提高图形合成相关线程所在线程组的优先级,从而使得图形合成相关线程能够及时运行,满足用户图像质量需求。
第二方面,提供了一种终端装置,包括:用于执行第一方面提供的任意一种方法的功能单元,各个功能单元所执行的动作通过硬件实现或通过硬件执行相应的软件实现。例如,终端装置可以包括:创建单元和调整单元;创建单元,用于创建线程组,线程组包括图形合成相关线程;调整单元,用于根据目标图像质量调整线程组对应的CPU的处理资源和/或调整GPU频率。示例性的,该终端装置可以以芯片的产品形态存在。
第三方面,提供了一种终端装置,包括:处理器。处理器与存储器连接,存储器用于存储计算机执行指令,处理器执行存储器存储的计算机执行指令,从而实现第一方面提供的任意一种方法。其中,存储器和处理器可以集成在一起,也可以为独立的器件。若为后者,存储器可以位于通信装置内,也可以位于通信装置外。
第四方面,提供了一种终端装置,该终端装置包括:处理器和接口电路;接口电路,用于接收代码指令并传输至处理器;处理器,用于运行代码指令以执行第一方面提供的任意一种方法。
第五方面,提供了一种计算机可读存储介质,包括计算机执行指令,当计算机执行指令在计算机上运行时,使得计算机执行第一方面提供的任意一种方法。
第六方面,提供了一种计算机程序产品,包括计算机执行指令,当计算机执行指令在计算机上运行时,使得计算机执行第一方面提供的任意一种方法。
第二方面至第六方面中的任一种实现方式所带来的技术效果可参见第一方面中对应实现方式所带来的技术效果,此处不再赘述。
附图说明
图1为本申请实施例提供的一种终端的硬件结构示意图;
图2为本申请实施例提供的一种终端的软件模块组成示意图;
图3为本申请实施例提供的一种软硬件结合的组成示意图;
图4为本申请实施例提供的一种单帧图像GPU合成时长检测方法示意图;
图5为本申请实施例提供的一种计算资源调度方法的流程图;
图6为本申请实施例提供的一种创建线程组的方法流程图;
图7为本申请实施例提供的一种调整GPU频率的示意图;
图8为本申请实施例提供的一种计算资源调度方法的流程图;
图9为本申请实施例提供的一种策略配置与执行模块执行策略的流程图;
图10为本申请实施例提供的一种终端装置的组成示意图;
图11为本申请实施例提供的一种终端装置的硬件结构示意图。
具体实施方式
在本申请的描述中,除非另有说明,“/”表示“或”的意思,例如,A/B可以表示A或B。本文中的“和/或”仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。此外,“至少一个”是指一个或多个,“多个”是指两个或两个以上。“第一”、“第二”等字样并不对数量和执行次序进行限定,并且“第一”、“第二”等字样也并不限定一定不同。
需要说明的是,本申请中,“示例性的”或者“例如”等词用于表示作例子、例证或说明。本申请中被描述为“示例性的”或者“例如”的任何实施例或设计方案不应被解释为比其他实施例或设计方案更优选或更具优势。确切而言,使用“示例性的”或者“例如”等词旨在以具体方式呈现相关概念。
本申请实施例提供了一种计算资源调度方法,可应用于终端,终端用于向用户提供语音服务和数据连通性服务中的一种或多种。终端还可以称为用户设备(userequipment,UE)、终端设备、接入终端、用户单元、用户站、移动站、远方站、远程终端、移动设备、用户终端、无线通信设备、用户代理或用户装置。终端可以是手机、增强现实(augmentedreality,AR)设备、虚拟现实(virtual reality,VR)设备、平板电脑、笔记本电脑、超级移动个人计算机(ultra-mobile personal computer,UMPC)、上网本、个人数字助理(personaldigital assistant,PDA)等,以下实施例中对终端的具体形式不作任何限制。
本申请实施例中的终端的操作系统可以为安卓系统、互联网操作系统(internetworking operating system,iOS)系统、Linux,也可以为其他操作系统。
本申请实施例中的终端的一种示例性的硬件结构可参见图1,包括:CPU、显示屏、GPU和存储器,终端还可以包括其他器件,例如,射频(RF)电路、蓝牙装置、一个或多个传感器、触控板、定位装置、音频电路、外设接口以及电源系统等部件,这些部件可通过一根或多根通信总线或信号线(图1中未示出)进行通信。本领域技术人员可以理解,图1中示出的硬件结构并不构成对终端的限定,终端可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
其中,CPU是终端的控制中心,利用各种接口和线路连接终端的各个部分。显示屏用于显示由用户输入的信息或提供给用户的信息以及终端的各种菜单。GPU是一种专门在终端上进行图像运算工作的微处理器。它可将终端所需要显示的信息进行转换驱动,并向显示屏提供行扫描信号,控制显示屏的正确显示。存储器用于存储应用以及数据,CPU、GPU通过运行存储在存储器中的应用以及数据,执行终端的各种功能。在本申请实施例中,当终端接收到应用启动、应用退出、手势导航等输入事件后,CPU可以对对输入事件进行处理,最终通过GPU将所需要显示的信息显示在显示屏上。
本申请实施例中的终端的另一种示例性的软件模块组成示意图可参见图2,包括:资源管理服务(resource management service,RMS)实时处理模块和策略配置与执行模块。其中,RMS实时处理模块用于获取系统实时帧率,根据实时帧率向策略配置与执行模块发送相应的策略。策略配置与执行模块用于接收RMS实时处理模块发送的策略,并通过策略配置与执行模块中处理该策略的模块生效。示例性的,终端接收到应用启动、应用退出、手势导航等输入事件,通过RMS实时处理模块获取系统实时帧率,根据实时帧率生成相应策略并发送策略至策略配置与执行模块,策略配置与执行模块生效该策略,最终通过显示屏完成向用户的输出与显示。其中,终端的输入事件可以是用户对终端的操作(例如,用户与终端的应用交互的动作)触发的。
本申请实施例中的终端的另一种示例性的软硬件结合的组成示意图可以参见图3,包括帧率模块、RMS实时处理模块、策略配置与执行模块、内核、CPU以及GPU,内核中又包括效能感知调度(energy aware scheduling,EAS)调度器和GPU驱动,各个模块的连接关系可参见图3。其中,帧率模块用于感知帧率变化并通知给其他模块(例如,RMS实时处理模块)。内核是操作系统最基本的部分,它是为众多应用提供安全访问计算机硬件的一部分软件,如图3,内核中可以包括EAS调度器、GPU驱动等与CPU、GPU硬件进行通信的程序。EAS调度器用于新建线程组(也可以称为调度组)。内核中的其他模块可以基于进程粒度向线程组中添加线程,也就是说,一般是将一个或多个进程加入到线程组,此时,该一个或多个进程中的全部线程组成一个线程组。
为了使得本申请实施例更加的清楚,以下对与本申请实施例相关的概念和部分内容作简单介绍。
1、图形合成相关线程
图形合成相关线程也可以称为图形合成引擎,是指参与界面合成(surfaceflinger,SF)的线程,以及被这些线程所依赖的其他线程。其中,可以包括SF进程、内存分配(allocator buffer thread for SF using,ALLOCATOR)进程、送显进程(具有利用硬件完成图像数据组合并显示的功能)、工作(kworker)进程等及其子线程。
其中,上述相关线程之间互相具有直接或间接的依赖关系,例如,SF进程依赖于送显进程,送显进程依赖于kworker进程,则SF进程和送显进程之间,以及送显进程和kworker进程之间可以称为直接依赖,SF进程和kworker进程之间可以称为间接依赖。
2、帧率(Frame per-second,FPS)
帧率是指单位时间内显示的图像帧的个数,其中,单位时间可以为1秒(s)或其他时间单位。
3、单帧图像合成时长
单帧图像合成时长是指处理一帧图像的时长,单帧图像合成时长包括单帧图像GPU合成时长以及其他处理器合成的时长。
以安卓系统为例,系统帧率可以为60赫兹(Hz)、90Hz或者120Hz,分别对应的单帧图像合成时长为16.66毫秒(ms)、11ms或者8ms,而单帧图像GPU合成时长可以根据单帧图像GPU合成时长与单帧图像合成时长的比值和单帧图像合成时长计算得到。具体的,当系统帧率为60Hz时,单帧图像GPU合成时长为单帧图像合成时长的1/2,当系统帧率为90Hz时,单帧图像GPU合成时长为单帧图像合成时长的1/3,当系统帧率为120Hz时,单帧图像GPU合成时长为单帧图像合成时长的1/4。具体地,终端可以在GPU合成过程中的SF进程中进行插桩,从而监测单帧图像GPU合成时长。参见图4,终端可以在每帧图像的GPU合成开始时以及GPU合成结束时分别进行插桩,根据两次插桩的时间点计算单帧图像GPU合成时长。
以上为对本申请涉及到的部分概念所作的简单介绍。
针对目前的现有技术,终端存在以下问题:
问题1、没有独立针对与用户体验紧密相关的图形合成相关线程的分组调度,容易引起图形合成相关线程间的依赖式阻塞。
其中,若存在依赖关系的线程被划分到不同的线程组中,由于不同线程组的调度策略不同,因此可能出现以下情况:存在于某个线程组的某个图形合成线程已完成处理,但处于另一个线程组的与该图形合成线程相关的线程仍然处于等待处理状态,这会导致图形合成无法完成,这种现象称为线程间的依赖式阻塞。
问题2、目前线程组对应的资源无法根据实时帧率进行变更,会导致在帧率突变的情况下无法及时应对,从而出现丢帧卡顿的现象。
问题3、若终端中GPU频率太低,会导致单帧图像GPU合成时长过长,从而会引起SF阻塞(即SF进程超时),导致丢帧卡顿的现象产生。
为了解决上述问题,本申请提供了一种计算资源调度方法,该方法中,终端通过目标图像质量调整CPU、GPU等资源,以保障应用运行时的流畅性、及时性。如图5所示,该方法包括:
501、终端创建线程组,线程组包括图形合成相关线程。
关于图形合成相关线程的描述参见上文。其中,本申请中的线程组中,包括图形合成相关线程。因此,可以避免图形合成相关线程间的依赖式阻塞。该线程组可以仅包括图形合成相关线程,此时,可以避免由于同一组中还包括其他不相关线程而导致的图形合成的线程无法及时完成的问题,显著提升图形合成的效率。
步骤501在具体实现时,可以通过如图6所示的步骤601-步骤603实现。
601、终端初始化(即终端开机启动)。
602、EAS调度器新建线程组。
603、RMS实时处理模块将图形合成相关线程加入到线程组中,其中,图形合成相关线程可以包括SF进程、ALLOCATOR进程、送显进程、Kworker进程等。
502、终端根据目标图像质量调整线程组对应的CPU的处理资源和/或调整GPU频率。
需要说明的是,由于GPU是专门在终端上进行图像运算工作的微处理器,因此,调整GPU频率必然针对的是图形合成相关线程,因此,本申请中直接描述为调整GPU频率。
其中,目标图像质量是指终端即将显示的或者待显示的图像的图像质量,目标图像质量需要满足目标帧率的要求,目标帧率是指由于用户的触发所导致的即将显示的或者待显示的图像的帧率。例如,当用户触发应用启动、应用退出、手势导航时,终端将要显示的图像的帧率即目标帧率。目标帧率可以比当前显示的图像的帧率大,也可以比当前显示的图像的帧率小,还可以与当前显示的图像的帧率相同,本申请不作限制。
其中,终端可以实时监控帧率的变化。具体的,RMS实时处理模块可以在终端初始化阶段向帧率模块进行回调注册,回调注册用于指示帧率模块在帧率变更时通知RMS实时处理模块,RMS实时处理模块即可获取最新的帧率。
目标帧率可以为以当前时间为基准,RMS实时处理模块最新获取的帧率。例如,若当前终端还未开机,则目标帧率可以为终端在初始化之后(即回调注册完毕后),RMS实时处理模块第一次从帧率模块获取到的帧率(即初始帧率),终端开机之后,目标帧率可以为后续过程中RMS实时处理模块从帧率模块最新获取到的帧率。
步骤502在具体实现时,终端可以基于图像的目标帧率调整线程组对应的CPU的处理资源和/或调整GPU频率。
上述步骤502在具体实现时可以包括以下动作1和/或动作2:
动作1、终端根据图像的目标帧率调整线程组对应的CPU的处理资源。
动作2、终端根据图像的单帧图像GPU合成时长调整GPU频率。
动作1在具体实现时可以包括:终端确定目标帧率所处的帧率范围为第一帧率范围;终端根据第一帧率范围对应的门限值(Threshold)调整线程组对应的CPU的处理资源,门限值大于0且小于1。
其中,可以预先配置至少一个帧率范围(假设为N个帧率范围)与门限值之间的对应关系(记为第一对应关系),第一对应关系中包括第一帧率范围对应的门限值。每个帧率范围对应的门限值均大于0且小于1。第一对应关系中的门限值也可以称为负载门限值。N为大于0的整数。N个帧率范围中的任意两个帧率范围之间不重叠,随着帧率范围的增加,门限值对应增大。第一对应关系在预设好之后可以一直不变也可以周期性或按照一定的时间规律改变。其中,N个帧率范围可以根据终端的操作系统的版本、终端的能力等预先设置,具备方法本申请不作限制。
示例性的,表1示出了一种可能的第一对应关系。
表1
帧率范围 | [0,60)Hz | [60,90)Hz | [90,120)Hz | [120,Y]Hz |
门限值(%) | 10 | 20 | 30 | 40 |
基于表1所示的示例,若目标帧率小于60Hz,此时,第一帧率范围为[0,60)Hz,则采用[0,60)Hz对应的门限值10调整线程组对应的CPU的处理资源;若目标帧率大于或等于60Hz,小于90Hz,此时,第一帧率范围为[60,90)Hz,则采用[60,90)Hz对应的门限值20调整线程组对应的CPU的处理资源;若目标帧率大于或等于90Hz,小于120Hz,此时,第一帧率范围为[90,120)Hz,则采用[90,120)Hz对应的门限值30调整线程组对应的CPU的处理资源;若目标帧率大于或等于120Hz,小于或等于Y,此时,第一帧率范围为[120,Y]Hz,则采用[120,Y]Hz对应的门限值40调整线程组对应的CPU的处理资源。其中,本申请中的Y为终端所能支持的最大的帧率,也即终端所能显示的图像的最大的帧率。
在上述动作1中,终端根据第一帧率范围对应的门限值调整线程组对应的CPU的处理资源,包括:终端确定CPU的处理资源的调整值,调整值为第一帧率范围对应的门限值与CPU的剩余资源的乘积;终端根据调整值为线程组增加CPU的处理资源。例如,基于表1所示的示例,假设RMS实时处理模块获取的目标帧率为70Hz,目标帧率处于[60,90)Hz,[60,90)Hz对应的门限值为20,将目前为线程组分配的CPU的处理资源记为a,CPU的总的处理资源记为b,则调整值为(b-a)×20%,将得到的调整值作为已分配资源a的增量,实现对CPU的处理资源的调整。
需要说明的是,第一对应关系的形式也可以不是帧率范围与门限值的对应关系,而是帧率与门限值的对应关系,此时,第一对应关系中包括N个帧率与门限值之间的对应关系,当目标帧率小于N个帧率中的最小的帧率时,可以按照该最小的帧率对应的门限值调整线程组对应的CPU的处理资源。当目标帧率位于N个帧率中的两个连续的帧率之间时,按照这两个连续的帧率中的较大的帧率对应的门限值调整线程组对应的CPU的处理资源。当目标帧率大于N个帧率中的最大的帧率时,可以按照该最大的帧率对应的门限值调整线程组对应的CPU的处理资源。第一对应关系的一种示例可参见表2。
表2
帧率 | 60Hz | 90Hz | 120Hz | Y |
门限值(%) | 10 | 20 | 30 | 40 |
基于表2所示的示例,若目标帧率小于60Hz,则采用60Hz对应的门限值10调整线程组对应的CPU的处理资源;若目标帧率大于或等于60Hz,小于90Hz,则采用90Hz对应的门限值20调整线程组对应的CPU的处理资源;若目标帧率大于或等于90Hz,小于120Hz,则采用120Hz对应的门限值30调整线程组对应的CPU的处理资源;若目标帧率大于或等于120Hz,则采用Y对应的门限值40调整线程组对应的CPU的处理资源。确定门限值之后调整CPU的处理资源的过程可参见上文,不再赘述。
基于图3所示的终端架构,上述动作1在具体实现时可以包括:RMS实时处理模块从帧率模块获取目标帧率,根据目标帧率确定策略ID,该策略ID用于指示第一帧率范围以及第一帧率范围对应的门限值,RMS实时处理模块将该策略ID发送给策略配置与执行模块,策略配置与执行模块解析策略ID得到门限值,并将该门限值发送至内核,内核通过计算得到调整值,将该调整值发送给CPU,CPU根据调整值调整处理资源。
终端的CPU由多个核组成,CPU的处理资源也可以进一步划分为大、中、小核,而大、中、小核又进一步分成高中低不等的多个时钟频率,一般来说,大核对应的时钟频率较高,小核对应的时钟频率较低。通常完成相同的事务,小核比大核能效比(功耗和效能的比值)更高,时长也更长;低频比高频能效比更高,时长也更长。为了性能和功耗的平衡,针对用户与应用交互的场景,可以尽量用较短时间来处理应用的事务,而对前台用户不感知的事务,尽量用较低的功耗。因此,本申请中针对用户与应用交互的场景,可以分配足够的CPU的处理资源用于交互后图像的显示以保证图像的流畅。当通过目标帧率确定CPU处理资源的调整值并进行调整后,若调整后的CPU的处理资源达到了CPU的迁核门限,则可以进行迁核,从而保证图像的流畅,提高用户体验。由此可知,通过调整CPU的处理资源,也可以间接调整处理图形合成相关线程的CPU的核,以保证图像合成的及时性。
动作2在具体实现时可以包括:终端确定目标帧率所处的帧率范围为第二帧率范围;终端确定第二帧率范围对应的GPU频率;当确定第二帧率范围对应的GPU频率下,单帧图像GPU合成时长大于或等于第一阈值时,终端调整GPU频率至第二帧率范围的最大值对应的GPU频率,第一阈值为第二帧率范围的最大值对应的单帧图像GPU合成时长,第二帧率范围的最大值对应的GPU频率大于第二帧率范围对应的GPU频率。下文中将第二帧率范围的最大值对应的GPU频率记为目标GPU频率。
需要说明的是,帧率范围与GPU频率的对应关系可以是预设的,该对应关系中可以包括M个帧率范围和GPU频率的对应关系(记为第二对应关系),每个帧率范围的最大值还可以对应一个GPU频率,一个帧率范围的最大值对应的GPU频率大于该帧率范围对应的GPU频率。M为大于1的整数。
动作2在具体实现时,在终端确定第二帧率范围对应的GPU频率之后,终端可以以第二帧率范围对应的GPU频率运行,当确定第二帧率范围对应的GPU频率下,单帧图像GPU合成时长大于或等于第一阈值时,说明当前的GPU频率无法满足帧率为第二帧率范围的最大值时图像的GPU的合成时长的要求,该情况下,可以将GPU频率调整至目标GPU频率,由于目标GPU频率大于第二帧率范围对应的GPU频率,因此,可以提高图像的合成效率,避免丢帧卡顿。
示例性的,表3示例性的示出了一种第二对应关系,表4示例性的示出了一种第二对应关系中的每个帧率范围的最大值对应的GPU频率。
表3
帧率范围 | [0,60)Hz | [60,90)Hz | [90,120)Hz | [120,Y]Hz |
GPU频率 | 200MHz | 300MHz | 400MHz | 500MHz |
表4
基于表3和表4所示的示例,若RMS实时处理模块获取的目标帧率为50HZ,此时,目标帧率处于[0,60)Hz中,则第二帧率范围为[0,60)Hz,则终端采用[0,60)Hz对应的GPU频率200MHz进行GPU合成,在GPU合成过程中,对单帧图像GPU合成时长进行检测,比较单帧图像GPU合成时长和第一阈值(即60Hz对应的单帧图像GPU合成时长,即16.66/2=8.33ms)的大小,参见图7,若终端在第一帧检测结果为8.13ms,由于8.13ms小于8.33ms,则终端可以不调整GPU频率;若终端在第二帧检测结果为8.66ms,由于8.66ms大于8.33ms,说明当前GPU频率无法满足目标图像质量的要求,因此,终端在第三帧中的GPU合成之前提高GPU频率,具体提高至60Hz对应的GPU频率(即250MHz)。
需要说明的是,终端可以实时监控单帧图像GPU合成时长,以便随时调整GPU频率,避免丢帧卡顿。
基于图3所示的终端架构,上述动作2在具体实现时可以包括:SF进程中确定单帧图像GPU合成时长是否超过第一阈值,若是,CPU在SF进程中向RMS实时处理模块发送指示信息,该指示信息用于指示单帧图像GPU合成时长超过第一阈值,RMS实时处理模块确定目标GPU频率,向策略配置与执行模块发送策略ID,该策略ID对应的策略用于指示目标GPU频率,策略配置与执行模块通过解析策略ID得到目标GPU频率,并将目标GPU频率发送至内核中的GPU驱动,GPU驱动控制GPU将GPU频率调整为目标GPU频率。
需要说明的是,由于GPU频率的调整,与GPU频率相关的GPU的其他资源,如用于GPU合成的内存资源(例如,双倍速率(double data rate,DDR))也会相应的进行调整,具体可采用本领域技术人员熟知的一些方式,本申请不再详细描述。
上述动作1和动作2在实现时互不干扰,可以仅执行其中的一个,也可以都执行。
参见图8,上述实施例提供的方法的整体流程可以包括:
11)帧率模块检测输入事件,确定目标帧率。其中,输入事件可以为终端接收的应用启动、应用退出、手势导航等事件。
12)帧率模块将目标帧率发送给RMS实时处理模块和CPU。
13)CPU根据目标帧率确定目标GPU频率,并发送指示信息给RMS实时处理模块。其中,指示信息用于指示单帧图像GPU合成时长超过第一阈值。
14)RMS实时处理模块确定策略ID,策略ID用于调整CPU的处理资源或调整GPU频率。若策略ID用于调整线程组对应的CPU的处理资源,则策略ID根据目标帧率确定。若策略ID用于调整GPU频率,则策略ID根据指示信息确定。步骤14)的具体实现可参见上文。
其中,策略ID可以表明该策略的类型,策略的类型包括:用于调整线程组对应的CPU的处理资源的类型(记为第一类型策略),用于调整GPU频率的类型(记为第二类型策略)。例如,参见图8,策略1001和策略1002对应的策略为第一类型策略,策略2001和策略2002对应的策略为第二类型策略。
其中,第一类型策略包括帧率范围和门限值,第二类型策略包括目标GPU频率。
15)RMS实时处理模块将策略ID发送给策略配置与执行模块。
16)策略配置与执行模块根据策略ID调整CPU的处理资源或GPU频率。
其中,参见图9,步骤16)在具体实现时可以包括:
901、策略配置与执行模块接收来自于RMS实时处理模块的策略ID。
902、策略配置与执行模块确定可扩展标记语言(extensible markup language,xml)配置文件中是否存在策略ID对应的策略。
若存在,执行步骤903,若不存在则结束。
903、策略配置与执行模块根据策略ID调整CPU的处理资源或GPU频率。
其中,xml配置文件可以预先存储在终端中,用于策略配置与执行模块查询策略ID对应的策略。如图9所示,示例性的,若策略ID为策略1001,解析策略1001得到帧率范围(即[0,60)Hz)及其对应的门限值(即10),并将该门限值发送至内核,内核通过计算得到调整值,将该调整值发送给CPU,CPU根据调整值调整CPU的处理资源。示例性的,若策略ID为策略2001,解析策略2001得到60Hz对应的目标帧率(即250MHz),将目标GPU频率发送至内核中的GPU驱动,GPU驱动控制GPU将GPU频率调整为目标GPU频率。
本申请上述实施例中的第一对应关系和第二对应关系仅为示例,在实际实现时可以是其他的形式,不作限制。
可选的,上述方法还包括:终端提高图形合成相关线程的调度优先级或者说终端提高本申请中的线程组的调度优先级。
在现有技术中,可以将最重要的一两个线程加入到线程组(此时,该线程组可以称为关键组),关键组的优先级高于非关键组的优先级,以保障性能体验优先。该方式没有将具有依赖关系的相关线程加入到同一线程组中,而一个线程组中的线程统一协调和调度,假设要对线程组中的线程进行迁核,则由于相关线程不在同一个线程组中,调度策略也不同,从而导致相关线程中有些线程迁核早,有些线程迁核晚,导致线程间依赖式阻塞。而在本申请中能够创建一个包含图形合成相关线程的线程组,针对该线程组可以提高其中所有线程的优先级,该线程组的所有线程的优先级都高于其他分组中线程的优先级,从而使得该线程组的优先级高于其他分组,由于该线程组优先级较高,能够实现优先处理,从而在图像合成过程中,保证线程处理过程中的流畅性和及时性,进一步避免丢帧卡顿现象的产生,提升用户体验感。
目前,针对游戏应用,由于用户对于图像的流畅性要求较高,因此,在用户触发更高的图像质量的需求的情况下,可以将CPU的处理资源和GPU频率调整到最大,即为存在图形合成相关线程的线程组中的所有线程分配充足的CPU的处理资源和GPU频率,这样虽然可以满足用户的需求,但资源浪费比较严重,功耗也比较高。在本申请中,由于建立了独立的图形合成相关线程组,用户可以根据实际的图像质量的需求针对该线程组调整GPU的处理资源和GPU频率,使得在满足用户需求的情况下,避免造成资源浪费,降低终端的功耗。也就是说,本申请可以为图形合成相关线程创建独立的线程组,并按需为本申请中的线程组分配资源,相对于将图形合成相关线程置于不同的线程组中,可以避免资源浪费,降低终端的功耗。
本申请实施例提供的方法,通过判断图像的目标帧率的高低(或者也可以描述为图像的目标帧间隔的长短),合理的调整线程组对应的CPU的处理资源,通过监测单帧图像GPU合成时长,合理的调整GPU频率,可以按需为线程组分配资源,从而避免造成资源浪费,降低终端的功耗。
本申请上述实施例中,步骤501和步骤502可以为独立的方案,仅执行步骤501时,即可解决上述问题1,仅执行步骤502(此时,线程组可以不是本申请中的线程组,而是现有技术中的线程组)时,即可解决上述问题2。
上述主要从方法的角度对本申请实施例的方案进行了介绍。可以理解的是,各个模块,例如,终端为了实现上述功能,其包含了执行各个功能相应的硬件结构和软件模块中的至少一个。本领域技术人员应该很容易意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,本申请能够以硬件或硬件和计算机软件的结合形式来实现。某个功能究竟以硬件还是计算机软件驱动硬件的方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
本申请实施例可以根据上述方法示例对终端进行功能单元的划分,例如,可以对应各个功能划分各个功能单元,也可以将两个或两个以上的功能集成在一个处理单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。需要说明的是,本申请实施例中对单元的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
示例性的,图10示出了上述实施例中所涉及的终端装置(记为终端装置100)的一种可能的结构示意图,该终端装置100包括创建单元1001和调整单元1002。
创建单元1001,用于创建线程组,线程组包括图形合成相关线程;
调整单元1002,用于根据目标图像质量调整线程组对应的中央处理器CPU的处理资源和/或调整图形处理器GPU频率。
可选的,调整单元1002具体用于:根据图像的目标帧率调整线程组对应的CPU的处理资源;和/或,根据图像的单帧图像GPU合成时长调整GPU频率。
可选的,调整单元1002具体用于:确定目标帧率所处的帧率范围为第一帧率范围;根据第一帧率范围对应的门限值调整线程组对应的CPU的处理资源,门限值大于0且小于1。
可选的,调整单元1002具体用于:确定CPU的处理资源的调整值,调整值为第一帧率范围对应的门限值与CPU的剩余资源的乘积;根据调整值为线程组增加CPU的处理资源。
可选的,调整单元1002具体用于:确定目标帧率所处的帧率范围为第二帧率范围;确定第二帧率范围对应的GPU频率;当确定在第二帧率范围对应的GPU频率下,单帧图像GPU合成时长大于或等于第一阈值时,调整GPU频率至第二帧率范围的最大值对应的GPU频率,第一阈值为第二帧率范围的最大值对应的单帧图像GPU合成时长,第二帧率范围的最大值对应的GPU频率大于第二帧率范围对应的GPU频率。
可选的,终端装置还包括监控单元1003,监控单元1003用于:实时监控帧率的变化;和/或,实时监控单帧图像GPU合成时长。
可选的,图形合成相关线程包括SF进程、内存分配进程、送显进程、工作进程中的一个或多个进程中的线程。
可选的,终端装置还包括优先级配置单元1004;优先级配置单元1004,用于提高图形合成相关线程的调度优先级。
可选的,终端装置100中还包括存储单元1005。存储单元1005用于存储计算机执行指令,终端装置中的其他单元可以根据存储单元1005中存储的计算机执行指令执行相应的动作。
示例性的,创建单元1001执行的动作也可以通过上述RMS实时处理模块以及内核执行;调整单元1002执行的动作也可以通过上述策略配置与执行模块执行;监控单元1003执行的动作也可以通过上述帧率模块以及内核执行;优先级配置单元1004执行的动作也可以通过上述内核执行。其中,上述方法实施例涉及的各步骤的所有相关内容均可以援引到对应功能模块的功能描述,在此不再赘述。
其中,终端装置100可以为一个设备也可以为芯片或芯片系统。
图10中的集成的单元如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请实施例的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(processor)执行本申请各个实施例方法的全部或部分步骤。存储计算机软件产品的存储介质包括:U盘、移动硬盘、只读存储器(read-only memory,ROM)、随机存取存储器(random access memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
本申请实施例还提供了一种终端装置的硬件结构示意图,参见图11,该终端装置包括处理器1101,可选的,还包括与处理器1101连接的存储器1102。处理器1101和存储器1102通过总线相连接。
处理器1101可以包括CPU、GPU、微处理器、特定应用集成电路(application-specific integrated circuit,ASIC),或者一个或多个用于控制本申请方案程序执行的集成电路。处理器1101也可以包括多个CPU,并且处理器1101可以是一个单核(single-CPU)处理器,也可以是多核(multi-CPU)处理器。这里的处理器可以指一个或多个设备、电路或用于处理数据(例如计算机程序指令)的处理核。
存储器1102可以是ROM或可存储静态信息和指令的其他类型的静态存储设备、RAM或者可存储信息和指令的其他类型的动态存储设备,也可以是电可擦可编程只读存储器(electrically erasable programmable read-only memory,EEPROM)、只读光盘(compactdisc read-only memory,CD-ROM)或其他光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘存储介质或者其他磁存储设备、或者能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,本申请实施例对此不作任何限制。存储器1102可以是独立存在,也可以和处理器1101集成在一起。其中,存储器1102中可以包含计算机程序代码。处理器1101用于执行存储器1102中存储的计算机程序代码,从而实现本申请实施例提供的方法。
处理器1101用于对终端的动作进行控制管理,例如,处理器1101用于执行图5中的501至502,和/或本申请实施例中所描述的其他过程中的终端执行的动作。存储器1102用于存储终端的程序代码和数据。
在实现过程中,本实施例提供的方法中的各步骤可以通过处理器中的硬件的集成逻辑电路或者软件形式的指令完成。结合本申请实施例所公开的方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。
本申请实施例还提供了一种计算机可读存储介质,包括指令,当其在计算机上运行时,使得计算机执行上述任一方法。
本申请实施例还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述任一方法。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件程序实现时,可以全部或部分地以计算机程序产品的形式来实现。该计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行计算机程序指令时,全部或部分地产生按照本申请实施例的流程或功能。计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,计算机指令可以从一个网站站点、计算机、服务器或者数据中心通过有线(例如同轴电缆、光纤、数字用户线(digitalsubscriber line,DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可以用介质集成的服务器、数据中心等数据存储设备。可用介质可以是磁性介质(例如,软盘、硬盘、磁带),光介质(例如,DVD)、或者半导体介质(例如固态硬盘(solid state disk,SSD))等。
尽管在此结合各实施例对本申请进行了描述,然而,在实施所要求保护的本申请过程中,本领域技术人员通过查看附图、公开内容、以及所附权利要求书,可理解并实现公开实施例的其他变化。在权利要求中,“包括”(comprising)一词不排除其他组成部分或步骤,“一”或“一个”不排除多个的情况。单个处理器或其他单元可以实现权利要求中列举的若干项功能。相互不同的从属权利要求中记载了某些措施,但这并不表示这些措施不能组合起来产生良好的效果。
尽管结合具体特征及其实施例对本申请进行了描述,显而易见的,在不脱离本申请的精神和范围的情况下,可对其进行各种修改和组合。相应地,本说明书和附图仅仅是所附权利要求所界定的本申请的示例性说明,且视为已覆盖本申请范围内的任意和所有修改、变化、组合或等同物。显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。
Claims (19)
1.一种计算资源调度方法,其特征在于,包括:
终端创建线程组,所述线程组包括图形合成相关线程;
所述终端根据目标图像质量调整所述线程组对应的中央处理器CPU的处理资源和/或调整图形处理器GPU频率。
2.根据权利要求1所述的方法,其特征在于,所述终端根据目标图像质量调整所述线程组对应的CPU的处理资源和/或调整GPU频率,包括:
所述终端根据所述图像的目标帧率调整所述线程组对应的CPU的处理资源;和/或,
所述终端根据所述图像的单帧图像GPU合成时长调整所述GPU频率。
3.根据权利要求2所述的方法,其特征在于,所述终端根据所述图像的目标帧率调整所述线程组对应的CPU的处理资源,包括:
所述终端确定所述目标帧率所处的帧率范围为第一帧率范围;
所述终端根据所述第一帧率范围对应的门限值调整所述线程组对应的CPU的处理资源,所述门限值大于0且小于1。
4.根据权利要求3所述的方法,其特征在于,所述终端根据所述第一帧率范围对应的门限值调整所述线程组对应的CPU的处理资源,包括:
所述终端确定所述CPU的处理资源的调整值,所述调整值为所述第一帧率范围对应的门限值与所述CPU的剩余资源的乘积;
所述终端根据所述调整值为所述线程组增加所述CPU的处理资源。
5.根据权利要求2所述的方法,其特征在于,所述终端根据所述图像的单帧图像GPU合成时长调整所述GPU频率,包括:
所述终端确定所述目标帧率所处的帧率范围为第二帧率范围;
所述终端确定所述第二帧率范围对应的GPU频率;
当确定在所述第二帧率范围对应的GPU频率下,单帧图像GPU合成时长大于或等于第一阈值时,所述终端调整所述GPU频率至所述第二帧率范围的最大值对应的GPU频率,所述第一阈值为所述第二帧率范围的最大值对应的单帧图像GPU合成时长,所述第二帧率范围的最大值对应的GPU频率大于所述第二帧率范围对应的GPU频率。
6.根据权利要求1-5任一项所述的方法,其特征在于,所述方法还包括:
所述终端实时监控帧率的变化;和/或,
所述终端实时监控单帧图像GPU合成时长。
7.根据权利要求1-6任一项所述的方法,其特征在于,所述图形合成相关线程包括界面合成SF进程、内存分配进程、送显进程、工作进程中的一个或多个进程中的线程。
8.根据权利要求1-7任一项所述的方法,其特征在于,所述方法还包括:
所述终端提高所述图形合成相关线程的调度优先级。
9.一种终端装置,其特征在于,包括:
创建单元,用于创建线程组,所述线程组包括图形合成相关线程;
调整单元,用于根据目标图像质量调整所述线程组对应的中央处理器CPU的处理资源和/或调整图形处理器GPU频率。
10.根据权利要求9所述的终端装置,其特征在于,所述调整单元具体用于:
根据所述图像的目标帧率调整所述线程组对应的CPU的处理资源;和/或,
根据所述图像的单帧图像GPU合成时长调整所述GPU频率。
11.根据权利要求10所述的终端装置,其特征在于,所述调整单元具体用于:
确定所述目标帧率所处的帧率范围为第一帧率范围;
根据所述第一帧率范围对应的门限值调整所述线程组对应的CPU的处理资源,所述门限值大于0且小于1。
12.根据权利要求11所述的终端装置,其特征在于,所述调整单元具体用于:
确定所述CPU的处理资源的调整值,所述调整值为所述第一帧率范围对应的门限值与所述CPU的剩余资源的乘积;
根据所述调整值为所述线程组增加所述CPU的处理资源。
13.根据权利要求10所述的终端装置,其特征在于,所述调整单元具体用于:
确定所述目标帧率所处的帧率范围为第二帧率范围;
确定所述第二帧率范围对应的GPU频率;
当确定在所述第二帧率范围对应的GPU频率下,单帧图像GPU合成时长大于或等于第一阈值时,调整所述GPU频率至所述第二帧率范围的最大值对应的GPU频率,所述第一阈值为所述第二帧率范围的最大值对应的单帧图像GPU合成时长,所述第二帧率范围的最大值对应的GPU频率大于所述第二帧率范围对应的GPU频率。
14.根据权利要求9-13任一项所述的终端装置,其特征在于,所述终端装置还包括监控单元,所述监控单元用于:
实时监控帧率的变化;和/或,
实时监控单帧图像GPU合成时长。
15.根据权利要求9-14任一项所述的终端装置,其特征在于,所述图形合成相关线程包括界面合成SF进程、内存分配进程、送显进程、工作进程中的一个或多个进程中的线程。
16.根据权利要求9-15任一项所述的终端装置,其特征在于,所述终端装置还包括优先级配置单元;
所述优先级配置单元,用于提高所述图形合成相关线程的调度优先级。
17.一种终端装置,其特征在于,包括:处理器;
所述处理器与存储器连接,所述存储器用于存储计算机执行指令,所述处理器执行所述存储器存储的所述计算机执行指令,以使所述终端装置实现如权利要求1-8任一项所述的方法。
18.一种计算机可读存储介质,其特征在于,用于存储计算机指令,当所述计算机指令在计算机上运行时,使得所述计算机执行权利要求1-8中任一项所述的方法。
19.一种计算机程序产品,其特征在于,包含计算机指令,当所述计算机指令在计算机上运行时,使得计算机执行如权利要求1-8中任一项所述的方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110438616.7A CN115237583A (zh) | 2021-04-22 | 2021-04-22 | 计算资源调度方法及装置 |
PCT/CN2022/084179 WO2022222721A1 (zh) | 2021-04-22 | 2022-03-30 | 计算资源调度方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110438616.7A CN115237583A (zh) | 2021-04-22 | 2021-04-22 | 计算资源调度方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115237583A true CN115237583A (zh) | 2022-10-25 |
Family
ID=83665869
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110438616.7A Pending CN115237583A (zh) | 2021-04-22 | 2021-04-22 | 计算资源调度方法及装置 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN115237583A (zh) |
WO (1) | WO2022222721A1 (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116416115A (zh) * | 2022-12-23 | 2023-07-11 | 摩尔线程智能科技(北京)有限责任公司 | Gpu的控制方法、装置、设备、存储介质和程序产品 |
CN117149409A (zh) * | 2023-05-16 | 2023-12-01 | 荣耀终端有限公司 | 一种调整cpu频率的方法及终端设备 |
WO2024087830A1 (zh) * | 2022-10-26 | 2024-05-02 | 荣耀终端有限公司 | 应用启动方法及电子设备 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11404023B2 (en) * | 2018-03-26 | 2022-08-02 | Huawei Device Co., Ltd. | Frame rate adjustment method and terminal |
CN111045814B (zh) * | 2018-10-11 | 2023-12-08 | 华为技术有限公司 | 资源调度方法和终端设备 |
CN109165103B (zh) * | 2018-10-15 | 2021-05-25 | Oppo广东移动通信有限公司 | 帧率控制方法、装置、终端及存储介质 |
US10643569B1 (en) * | 2018-10-16 | 2020-05-05 | Red Hat Israel, Ltd. | Adjusting virtual machine GPU refresh rate to remote desktop stream frame rate |
CN110489228B (zh) * | 2019-07-16 | 2022-05-17 | 华为技术有限公司 | 一种资源调度的方法和电子设备 |
CN110532100B (zh) * | 2019-09-02 | 2022-04-15 | Oppo广东移动通信有限公司 | 调度资源的方法、装置、终端及存储介质 |
CN110681155A (zh) * | 2019-09-29 | 2020-01-14 | Oppo广东移动通信有限公司 | 一种游戏优化方法、游戏优化装置及移动终端 |
-
2021
- 2021-04-22 CN CN202110438616.7A patent/CN115237583A/zh active Pending
-
2022
- 2022-03-30 WO PCT/CN2022/084179 patent/WO2022222721A1/zh active Application Filing
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2024087830A1 (zh) * | 2022-10-26 | 2024-05-02 | 荣耀终端有限公司 | 应用启动方法及电子设备 |
CN116416115A (zh) * | 2022-12-23 | 2023-07-11 | 摩尔线程智能科技(北京)有限责任公司 | Gpu的控制方法、装置、设备、存储介质和程序产品 |
CN116416115B (zh) * | 2022-12-23 | 2024-01-30 | 摩尔线程智能科技(北京)有限责任公司 | Gpu的控制方法、装置、设备、存储介质和程序产品 |
CN117149409A (zh) * | 2023-05-16 | 2023-12-01 | 荣耀终端有限公司 | 一种调整cpu频率的方法及终端设备 |
Also Published As
Publication number | Publication date |
---|---|
WO2022222721A1 (zh) | 2022-10-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2021008543A1 (zh) | 一种资源调度的方法和电子设备 | |
CN115237583A (zh) | 计算资源调度方法及装置 | |
US10437639B2 (en) | Scheduler and CPU performance controller cooperation | |
US8397239B2 (en) | Virtual computer systems and computer virtualization programs | |
JP6072834B2 (ja) | 方法、プログラム、装置、およびシステム | |
US10203739B2 (en) | Electronic device for controlling power and method therefor | |
EP3535641B1 (en) | Thread importance based processor core partitioning | |
EP4002112A1 (en) | Data processing method and apparatus, and electronic device | |
US20150015589A1 (en) | Device and method of power management for graphic processing unit | |
US9075789B2 (en) | Methods and apparatus for interleaving priorities of a plurality of virtual processors | |
US20180120920A1 (en) | Thread Importance Based Processor Core Parking And Frequency Selection | |
CN113434300B (zh) | 一种数据处理方法以及相关装置 | |
CN111338838A (zh) | 中央处理器频率的控制方法及相关装置 | |
KR102257737B1 (ko) | 전자장치의 처리량 제어장치 및 방법 | |
EP4220403A1 (en) | Service processing method and related apparatus | |
US10514956B2 (en) | Performance hint driven resource allocation | |
CN112675535A (zh) | 显示界面调整方法、装置、网络设备及存储介质 | |
JP2014032621A (ja) | スケジューリング方法、及び情報処理装置 | |
US20150170317A1 (en) | Load Balancing for Consumer-Producer and Concurrent Workloads | |
CN117130459B (zh) | 帧率调整方法、设备及存储介质 | |
KR101491572B1 (ko) | 동적 리소스 관리를 수행하는 트레이딩 시스템 및 그 제공방법 | |
WO2023205926A1 (en) | Performance-aware smart framework to improve cpu power efficiency in static display read mode | |
KR101371101B1 (ko) | 동적 리소스 관리를 수행하는 트레이딩 시스템 및 그 제공방법 | |
CN117492977A (zh) | 资源调度方法、装置、电子设备及存储介质 | |
CN117667331A (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 |