CN109445941B - 配置处理器性能的方法、装置、终端及存储介质 - Google Patents

配置处理器性能的方法、装置、终端及存储介质 Download PDF

Info

Publication number
CN109445941B
CN109445941B CN201811224130.8A CN201811224130A CN109445941B CN 109445941 B CN109445941 B CN 109445941B CN 201811224130 A CN201811224130 A CN 201811224130A CN 109445941 B CN109445941 B CN 109445941B
Authority
CN
China
Prior art keywords
frame rate
processor
time
increment
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.)
Active
Application number
CN201811224130.8A
Other languages
English (en)
Other versions
CN109445941A (zh
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.)
Guangdong Oppo Mobile Telecommunications Corp Ltd
Original Assignee
Guangdong Oppo Mobile Telecommunications Corp 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 Guangdong Oppo Mobile Telecommunications Corp Ltd filed Critical Guangdong Oppo Mobile Telecommunications Corp Ltd
Priority to CN201811224130.8A priority Critical patent/CN109445941B/zh
Publication of CN109445941A publication Critical patent/CN109445941A/zh
Application granted granted Critical
Publication of CN109445941B publication Critical patent/CN109445941B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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
    • G06F9/505Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the load

Abstract

本申请实施例公开了一种配置处理器性能的方法、装置、终端及存储介质,属于计算机技术领域,所述方法在目标应用在操作系统中运行时,确定i个标记时刻,计算第i‑n平均帧率和瞬时帧率,根据第i‑1平均帧率和瞬时帧率,计算目标帧率增量,根据i‑1个平均帧率,计算第i‑n帧率增量,当目标应用的实时负载大于负载阈值,且第i帧率增量不大于帧率增量阈值时,终端将根据实时负载确定对应的处理器配置参数,并配置处理器。由于本实施例能够同时考虑目标应用运行时的负载和帧率情况,综合确定所需要的处理器配置参数。因此本实施例能够在避免浪费对处理器造成额外的性能浪费的前提下,降低目标程序的卡顿感,提高目标应用运行时的流畅度。

Description

配置处理器性能的方法、装置、终端及存储介质
技术领域
本申请实施例涉及计算机技术领域,特别涉及一种配置处理器性能的方法、装置、终端及存储介质。
背景技术
随着终端硬件和软件技术的进步,应用在终端中的某些应用,为了更好的视觉效果,所需要的显示帧率也越来越高。
在一种通常的实现方式中,终端可以在目标应用启动时,获取该目标应用的标识,根据该标识将为目标应用分配指定的处理器性能。
然而,终端在性能要求较高时无法保证目标应用的流程运行,会形成卡顿。
发明内容
本申请实施例提供了一种配置处理器性能的方法、装置、终端及存储介质,可以解决终端在性能要求较高时无法保证目标应用的流程运行,会形成卡顿的问题。所述技术方案如下:
根据本申请的一方面内容,提供了一种配置处理器性能的方法,所述方法包括:
当目标应用在操作系统中运行时,确定i个标记时刻,第i-1个标记时刻早于第i标记时刻,所述第i标记时刻是当前系统时刻,i为不小于3的正整数;
计算第i-n平均帧率和瞬时帧率,所述第i-n平均帧率是所述目标应用在第i-n时刻到第i时刻的时段内的平均帧率,所述第i-n平均帧率是i-1个平均帧率中的一个,所述第i-n时刻早于所述第i时刻,所述瞬时帧率是所述目标应用在所述第i标记时刻的瞬时帧率,n为小于i的正整数;
根据第i-1平均帧率和所述瞬时帧率,计算目标帧率增量,所述目标帧率增量是所述瞬时帧率相对于所述第i-1平均帧率的增量;
根据所述i-1个平均帧率,计算第i-n帧率增量,所述第i-n帧率增量是所述第i-n平均帧率相对于第i-n-1平均帧率的增量,所述第i-n帧率增量是i-2个帧率增量中的一个;
当所述目标应用的实时负载大于负载阈值,且所述目标帧率增量不大于帧率增量阈值时,根据所述实时负载确定对应的处理器配置参数,所述帧率增量阈值是根据所述i-2个帧率增量确定的数值,所述处理器配置参数配置后的处理器性能高于所述当前系统时刻的处理器性能;
根据所述处理器配置参数,配置所述处理器。
根据本申请的另一方面内容,提供了一种配置处理器性能的装置,所述装置包括:
时刻确定模块,用于在目标应用在操作系统中运行时,确定i个标记时刻,第i-1个标记时刻早于第i标记时刻,所述第i标记时刻是当前系统时刻,i为不小于3的正整数;
帧率计算模块,用于计算第i-n平均帧率和瞬时帧率,所述第i-n平均帧率是所述目标应用在第i-n时刻到第i时刻的时段内的平均帧率,所述第i-n平均帧率是i-1个平均帧率中的一个,所述第i-n时刻早于所述第i时刻,所述瞬时帧率是所述目标应用在所述第i标记时刻的瞬时帧率,n为小于i的正整数;
第一增量计算模块,用于根据第i-1平均帧率和所述瞬时帧率,计算目标帧率增量,所述目标帧率增量是所述瞬时帧率相对于所述第i-1平均帧率的增量;
第二增量计算模块,用于根据所述i-1个平均帧率,计算第i-n帧率增量,所述第i-n帧率增量是所述第i-n平均帧率相对于第i-n-1平均帧率的增量,所述第i-n帧率增量是i-2个帧率增量中的一个;
参数确定模块,用于当所述目标应用的实时负载大于负载阈值,且所述目标帧率增量不大于帧率增量阈值时,根据所述实时负载确定对应的处理器配置参数,所述帧率增量阈值是根据所述i-2个帧率增量确定的数值,所述处理器配置参数配置后的处理器性能高于所述当前系统时刻的处理器性能;
处理器配置模块,用于根据所述处理器配置参数,配置所述处理器。
根据本申请的另一方面内容,提供了一种终端,所述终端包括处理器和存储器,所述存储器中存储有至少一条指令,所述指令由所述处理器加载并执行以实现如本申请实施例提供的配置处理器性能的方法。
根据本申请的另一方面内容,提供了一种计算机可读存储介质,所述存储介质中存储有至少一条指令,所述指令由处理器加载并执行以实现如本申请实施例提供的配置处理器性能的方法。
本申请实施例提供的技术方案带来的有益效果可以包括:
由于本申请能够当目标应用在操作系统中运行时,确定i个标记时刻,其中,第i-1个标记时刻早于第i标记时刻,第i标记时刻是当前系统时刻,计算第i-n平均帧率和瞬时帧率,根据第i-1平均帧率和瞬时帧率,计算目标帧率增量,目标帧率增量是瞬时帧率相对于第i-1平均帧率的增量,根据i-1个平均帧率,计算第i-n帧率增量,第i-n帧率增量是第i-n平均帧率相对于第i-n-1平均帧率的增量,当目标应用的实时负载大于负载阈值,且第i帧率增量不大于帧率增量阈值时,终端将根据实时负载确定对应的处理器配置参数,根据该处理器配置参数,配置处理器。由于本实施例能够同时考虑目标应用运行的负载和帧率情况,综合确定所需要的处理器配置参数。因此本实施例能够在避免浪费对处理器造成额外的性能浪费的前提下,降低目标程序的卡顿感,提高目标应用运行时的流畅度。
附图说明
为了更清楚地介绍本申请实施例中的技术方案,下面将对本申请实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
图1是一种含有第i-2时刻、第i-1时刻和第i时刻的时间轴的示意图;
图2是本申请一个示例性实施例提供的终端的结构框图;
图3是本申请一个示例性实施例提供的配置处理器性能的方法的流程图;
图4是基于图3所示实施例提供的一种配置处理器性能的方法流程图;
图5是本申请一个示例性实施例提供的配置处理器性能的装置的结构框图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。
下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。
在本申请的描述中,需要理解的是,术语“第一”、“第二”等仅用于描述目的,而不能理解为指示或暗示相对重要性。在本申请的描述中,需要说明的是,除非另有明确的规定和限定,术语“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本申请中的具体含义。此外,在本申请的描述中,除非另有说明,“多个”是指两个或两个以上。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。
首先,介绍本申请实施例涉及的软件应用环境。在终端中搭载的操作系统运行时,操作系统可以启用第三方应用,也可以启用系统应用。即,在一种场景中,目标应用是第三方应用。在另一种场景中,目标应用是系统应用。在操作系统启用目标应用时,目标应用再某些指定的运行场景中对显示的画面的帧率有较高的需求。可选地,当操作系统运行不运行目标应用时,本实施例公开的配置处理器性能的方法,能够将目标应用替换为目标服务和目标进程中至少一种对象,上述目标服务和目标进程也可以使用本实施例提供的方法,配置处理器的性能,以保证帧率满足目标服务和/或目标进程的需求。
在本实施例中,终端为了保证目标应用的帧率需求和运行的流畅度。一种可能的调节方式是,当终端检测到目标应用运行时,直接向处理器请求所需要的性能,调高处理器的性能并从获取其所需要的性能对应的处理器的处理资源。其中,终端可以通过识别前台运行的应用的包名,来确定目标应用是否正在运行。
在另一种配置处理器性能的方法中,终端能够通过获取目标应用在指定时段内的各个时刻的帧率,来配置处理器性能。例如,终端可以获取在最近一段时期内的平均帧率,来确定处理器的配置参数。
为了本申请实施例所示方案易于理解,下面对本申请实施例中出现的若干名词进行介绍。
目标应用:指运行在终端的操作系统中的应用,在一种场景中,该目标应用是系统应用;在另一种场景中,该目标应用是第三方应用。在一种可能的实现场景中,该目标应用可以是第三方应用中的游戏应用。
游戏应用:包括独立封装的游戏应用、通过第三方应用提供启动入口的游戏应用和集成在第三方应用中的游戏应用中的至少一种。
可选地,当游戏应用是独立封装的游戏应用时,该游戏应用可以是一个单独的应用、程序或者客户端。例如,游戏应用可以是通过apk(AndroidPackage,安卓安装包)安装在搭载安卓系统的终端中的应用;或者,游戏应用也可以是通过ipa(iPhoneApplication,苹果应用)安装包安装在搭载ios操作系统的终端中的应用。
可选地,当游戏应用是通过第三方应用提供入口的应用时,该游戏应用可以由指定的第三方应用提供入口。例如,该游戏应用可以是通过html5(HyperText MarkupLanguage 5,超级文本标记语言第5版)编写的小程序(mini program)、轻应用(Light App)或者快应用等。
可选地,游戏应用也可以根据进行游戏的方式进行分类,例如,可以包括第一人称射击类游戏应用FPS、角色扮演类游戏应用RPG、动作角色扮演类游戏应用ARPG、多人在线战术竞技游戏应用MOBA、大型多人在线类游戏应用MMOG、消除类游戏应用、捕鱼类游戏应用、卡牌类游戏应用、音乐类游戏应用和放置类游戏应用中的至少一种。
需要说明的是,当游戏应用是消除类游戏应用、捕鱼类游戏应用、卡牌类游戏应用、音乐类游戏应用和放置类游戏应用等休闲游戏时,终端可以获取该休闲游戏的目标帧率阈值,根据该目标阈值确定对应的处理器配置参数,进而配置处理器。需要说明的是,目标帧率阈值是根据目标应用的不同而确定的。例如,在一种实现方式中,对帧率要求较高的第一人称射击类游戏应用FPS游戏应用的目标帧率阈值是60fps。同时,对帧率要求较低的消除类游戏应用的目标帧率阈值是30fps。
在一种可能的实现方式中,当游戏应用是大型多人在线类游戏应用MMOG时,该MMOG可以包括:策略类大型多人在线游戏应用MMOSLG、冒险类大型多人在线游戏应用MMOAVG、模拟类大型多人在线游戏应用MMOSG、运动类大型多人在线游戏应用MMOSPT、赛车类大型多人在线游戏应用MMORCG和角色扮演类大型多人在线游戏应用MMORPG中的至少一种。
在一种可能的实现方式中,该游戏应用通过第三方应用提供入口的应用无需下载安装包即可使用,相应的,在不需要使用该应用时,也无需卸载。需要说明的是,该应用在第一次使用时是通过指定的第三方应用提供入口,在后续使用过程中,用户可以为该应用创建桌面启动图标,通过桌面启动图标直接启动该应用。其中,第三方应用可以是上述目标应用中的至少一种,或者,也可以是应用市场或应用商店等应用。
第i平均帧率:是第i时刻到当前系统时刻的时段内的平均帧率。其中,第i时刻是早于当前系统时刻的一个时刻。例如,若当前系统时刻是21时20分24秒,且第一时刻是21时20分19秒,则第一平均帧率是指最近5秒内的平均帧率。
标记时刻:用于指示终端获取目标应用的平均帧率和/或瞬时帧率的参考时刻。在本实施例中,该标记时刻共有i个,其中,i为不小于3的正整数。需要说明的是,在一种可能的实施方式中,标记时刻是该目标应用处于运行状态的时间段中的一个时刻。需要说明的是,第i标记时刻是当前系统时刻。
作为本申请实施例中的一种标记时刻的实现方式。请参考图1,其示出了一种含有第i-2时刻、第i-1时刻和第i时刻的时间轴。在图1中,t1表示第i-2时刻、t2表示第i-1时刻且t3表示第i时刻。其中,t3也表示当前系统时刻。
第i-n平均帧率:是目标应用在第i-n时刻到第i时刻的时段内的平均帧率。其中,第i-n时刻早于第i时刻。其中,n为小于i的正整数。在本实施例中,第i-n平均帧率是i-1个平均帧率中的一个。
瞬时帧率:是目标应用在当前系统时刻对应的帧率。在一种可能的场景中,该瞬时帧率可以从指定的状态参数文件中直接读取。例如,若当前系统时刻是21时20分24秒,则瞬时帧率是目标应用在该时刻对应的帧率。
目标帧率增量:是瞬时帧率相对于第i-1平均帧率的增量。其中,第i-1平均帧率是第i-1标记时刻到第i标记时刻的时间段中,目标应用的平均帧率。在一种可能的场景中,目标帧率增量是瞬时帧率减去第i-1平均帧率得到的差值。在另一种可能的场景中,目标帧率增量可以是瞬时帧率减去第i-1平均帧率得到的差值的整数部分。
第i-n帧率增量:指第i-n平均帧率相对于第i-n-1平均帧率的增量。在一种可能的场景中,第i-n帧率增量是第i-n帧率减去第-n-1平均帧率得到的差值。在另一种可能的场景中,第i-n帧率增量可以是第i-n帧率减去第-n-1平均帧率得到的差值的整数部分。在一种可能的实现方式中,第i-n帧率增量是i-2个帧率增量中的一个。
实时负载:目标应用的当前系统时刻下的负载,该实时负载用于指示目标应用在当前系统时刻,所占用的软硬件资源的多少。
负载阈值:用于指示指定负载的阈值。在一种可能的方式中,该负载阈值是与目标应用相对应的,终端根据目标应用的标识,确定该目标应用的负载阈值。例如,目标应用A对应负载阈值a,目标应用B对应负载阈值b。对应关系可以同时参照表一。
应用标识 A B
负载阈值 a b
表一
在另一种可能的方式中,该负载阈值是与应用类别相对应的阈值,终端根据该目标应用的类别的标识,确定该目标应用的负载阈值。例如,目标应用A属于休闲游戏类应用,目标应用B属于视频直播类应用,目标应用C属于休闲游戏类应用。并且,休闲游戏类应用对应的应负载阈值是a,视频直播类应用对应的应负载阈值是b。依据本示意性实施例,可以得到上述各个目标应用对应的负载阈值,详情请参见表二。
Figure BDA0001835507990000071
Figure BDA0001835507990000081
表二
在又一种可能的实现方式中,终端根据负载阈值目标应用的版本信息确定负载阈值。例如,在目标应用1.0版本中,目标阈值为a;在目标应用2.0版本中,目标阈值为b;在目标应用2.1版本中,目标阈值为c;在目标应用3.0版本中,目标阈值为b。
处理器配置参数:用于指示处理器的工作状态,该处理器配置参数可以是预先划分好等级的参数。在一种可能的实施方式中,终端将处理器的工作等级划分为五个等级,目标应用可以选择其中的一个工作等级对应的参数进行工作。在一种可能的场景中,请参见表三,其示出了一种处理器的处理性能等级划分方式。
Figure BDA0001835507990000082
表三
示例性地,本申请实施例所示的配置处理器性能的方法,可以应用在终端中,该终端具备显示屏且具备应用目标应用并提供帧率参数的功能。终端可以包括手机、平板电脑、膝上型电脑、台式电脑、电脑一体机、电视、机顶盒、智能眼镜、智能手表、数码相机、MP4播放终端、MP5播放终端、学习机、点读机、电子词典、车载终端、虚拟现实(Virtual Reality,VR)播放终端或增强现实(Augmented Reality,AR)播放终端等。
请参考图2,其是本申请一个示例性实施例提供的终端的结构框图,如图2所示,该终端包括处理器220和存储器240,所述存储器240中存储有至少一条指令,所述指令由所述处理器220加载并执行以实现如上各个实施例所述的配置处理器性能的方法。
在本申请中,处理器220可以包括一个或者多个处理核心。处理器220利用各种接口和线路连接整个终端200内的各个部分,通过运行或执行存储在存储器240内的指令、程序、代码集或指令集,以及调用存储在存储器240内的数据,执行终端200的各种功能和处理数据。可选的,处理器220可以采用数字信号处理(Digital Signal Processing,DSP)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)、可编程逻辑阵列(ProgrammableLogic Array,PLA)中的至少一种硬件形式来实现。处理器220可集成中央处理器(CentralProcessing Unit,CPU)、图像处理器(Graphics Processing Unit,GPU)和调制解调器等中的一种或几种的组合。其中,CPU主要处理操作系统、用户界面和应用程序等;GPU用于负责显示屏所需要显示的内容的渲染和绘制;调制解调器用于处理无线通信。可以理解的是,上述调制解调器也可以不集成到处理器220中,单独通过一块芯片进行实现。
存储器240可以包括随机存储器(Random Access Memory,RAM),也可以包括只读存储器(Read-Only Memory)。可选的,该存储器240包括非瞬时性计算机可读介质(non-transitory computer-readable storage medium)。存储器240可用于存储指令、程序、代码、代码集或指令集。存储器240可包括存储程序区和存储数据区,其中,存储程序区可存储用于实现操作系统的指令、用于至少一个功能的指令(比如触控功能、声音播放功能、图像播放功能等)、用于实现下述各个方法实施例的指令等;存储数据区可存储下面各个方法实施例中涉及到的数据等。
请参考图3,其是本申请一个示例性实施例提供的配置处理器性能的方法的流程图。该配置处理器性能的方法可以应用在上述所示的终端中。在图3中,配置处理器性能的方法包括:
步骤310,当目标应用在操作系统中运行时,确定i个标记时刻。
在本申请实施例中,终端能够在目标应用在操作系统中运行时,执行上述步骤310。需要说明的是,第i-1个标记时刻早于第i标记时刻,第i标记时刻是当前系统时刻,i为不小于3的正整数。
在一种可能的方式中,终端通过识别当前在前台中运行的应用的标识,来确定目标应用是否处于运行状态。当前在前台中运行的应用的标识,是指定的目标应用标识时,确定目标应用在操作系统中运行。可选地,在一种方式中,终端通过一个进程、一个服务或者一个系统应用来识别目标应用是否在操作系统中运行。
当终端确定目标应用在操作系统中运行时,确定i个标记时刻。需要说明的是,该i个标记时刻是目标应用开始运行后的时间段中的时刻。其中,i是不小于3的正整数。例如,i可以是3、4、5等等数值的正整数。比如终端在i等于3时,将获取3个标记时刻。详情可参见表四,其示出了一种i等于3时标记时刻的划分情况。
标记时刻 第1时刻 第2时刻 第3时刻
时刻 21时23分05秒 21时23分10秒 21时23分15秒
表四
需要说明的是,在表四所示的标记数据中,当前系统时刻是第3时刻,即21时23分15秒。
在一种可能的方式中,终端在确定的述i个标记时刻中,任意相邻的两个标记时刻之间的时间间隔相等。例如,以表四所示数据为例。第1时刻和第2时刻之间的时间间隔是5秒,第2时刻和第3时刻之间的时间间隔是5秒,上述两个时间间隔相等。
在一种可能的方式中,终端在目标应用中的高性能需求进程开始运行时,确定i个标记时刻,该i个标记时刻是高性能需求进程开始运行后的时间段中的时刻。在该实现方式中,目标应用至少包括高性能需求进程和低性能需求进程,其中,高性能需求进程在运行时所需的最低处理性能等级,高于低性能需求进程在运行时所需的最低处理性能等级。相应地,终端通过一个进程、一个服务或者一个系统应用来识别目标应用中的高性能需求进程是否在操作系统中运行。
步骤320,计算第i-n平均帧率和瞬时帧率。
在本申请实施例中,终端能够计算第i-n平均帧率和瞬时帧率。
需要说明的是,第i-n平均帧率是目标应用在第i-n时刻到第i时刻的时段内的平均帧率,第i-n平均帧率是i-1个平均帧率中的一个,第i-n时刻早于第i时刻,瞬时帧率是目标应用在第i标记时刻的瞬时帧率,n为小于i的正整数。
在一种可能的实现方式中,终端在目标应用运行时,将通过一个指定的进程、服务或者系统应用获取每个采样时刻的实时帧率。
在一种可能的方式中,该采样时刻可以是均匀分布在时间轴上。
在另一种可能的方式中,该采样时刻也可以不均匀的分布在时间轴上。当该采样时刻在时间轴上不均匀时,被采样时刻划分的时间段的长度,可以构成一个等差数列,也可以构成一个等比数列。
需要说明的是,本实施例可以在目标应用被监控的总时长确定的情况下,采用上述被采样时刻划分的时间段的长度,构成等差数列或者等比数列的方式。
在一种可能的方式中,终端采用前疏后密的数列在时间轴上排布采样时刻。例如,被监控的目标应用运行3分钟,且在运行后期发生卡顿的可能性较大,则本实施例采用前疏后密的数列在时间轴上排布采样时刻。在此场景中,上述等差数列的公差是负数,和/或,上述等比数列的公比属于区间(0,1)。
在另一种可能的方式中,终端采用前密后疏的数列在时间轴上排布采样时刻。例如,被监控的目标应用运行2分钟,且在运行后期发生卡顿的可能性较大,则本实施例采用前密后疏的数列在时间轴上排布采样时刻。在此场景中,上述等差数列的公差是正数,和/或,上述等比数列的公比属于区间(1,+∞)。
在一种可能的场景中,终端获取i-1个平均帧率。当i的值为5,n的值从4取到1,分别得到第1平均帧率、第2平均帧率、第3平均帧率和第4平均帧率。示意性地,请参见表五,其示出了本实施例提供的一种的平均帧率和瞬时帧率的结果。
Figure BDA0001835507990000111
表五
步骤330,根据第i-1平均帧率和瞬时帧率,计算目标帧率增量。
在本申请实施例中,目标帧率增量是瞬时帧率相对于第i-1平均帧率的增量。
终端能够根据第i-1平均帧率和瞬时帧率来计算得到目标帧率增量。
在一种可能的实现方式中,由于第i时刻是系统当前时刻,则第i时刻对应的帧率是目标应用的瞬时帧率。第i-1平均帧率是第i-1时刻到第i时刻之间的时间段的平均帧率,终端可以将瞬时帧率与第i-1平均帧率的差值,确定为目标帧率增量。
在另一种可能的实现方式中,终端可以将瞬时帧率与第i-1平均帧率的差值的整数部分,确定为目标帧率增量。
若以表五所示数据为例,则目标帧率增量为-11fps。
步骤340,根据i-1个平均帧率,计算第i-n帧率增量。
在本申请实施例中,第i-n帧率增量是第i-n平均帧率相对于第i-n-1平均帧率的增量,第i-n帧率增量是i-2个帧率增量中的一个。
其中,终端能够根据前述步骤获得的i-1个平均帧率,计算第i-n帧率增量。根据n从2开始取值,逐步增大至i-2,终端可以获取i-2个帧率增量。例如,以上述表五所述的数据为基础,计算i-2个帧率增量,可获得第1帧率增量为第2平均帧率减去第1平均帧率,为-2fps。第2帧率增量为第3平均帧率减去第4平均帧率,为-1fps。第3帧率增量为第4平均帧率减去第3平均帧率,为-3fps。详情可参见表六,其示出了一种帧率增量的取值情况。
帧率增量名称 第1平均帧率 第2帧率增量 第3帧率增量
帧率增量数值 -2fps -1fps -3fps
表六
步骤350,当目标应用的实时负载大于负载阈值,且目标帧率增量不大于帧率增量阈值时,根据实时负载确定对应的处理器配置参数。
其中,帧率增量阈值是根据i-2个帧率增量确定的数值,处理器配置参数配置后的处理器性能高于当前系统时刻的处理器性能。
在本申请实施例中,终端可以综合自身的实时负载和帧率的情况确定是否需要调整处理器配置参数。在目标应用的实时负载大于负载阈值时,说明目标应用的负载较重,此时有较大的运行压力。在目标帧率增量不大于帧率增量阈值时,说明当前的帧率情况较差。终端在目标应用同时满足上述两个条件时,将根据实时负载的数值,确定对应的处理器配置参数。
需要说明的是,帧率增量阈值是根据i-2个帧率增量确定的数值。在一种可能实现的方式中,帧率增量阈值是i-2个帧率增量中的平均值。也即,终端能够计算i-2个帧率增量的平均值,将该平均值确定为帧率增量阈值。
在另一种可能实现的方式中,帧率增量阈值与i-2个帧率增量中最小的帧率增量在数值上相等。
在又一种可能实现的方式中,帧率增量阈值比i-2个帧率增量中最小的帧率增量小K,K为正数。
例如,以帧率增量阈值比i-2个帧率增量中最小的帧率增量小K为例,进行说明。以K为5fps、i-2个帧率增量中最小的帧率增量为-3fps、目标帧率增量为-11fps为例。在该例中,帧率增量阈值-3fps-5fps=-8fps。由于目标帧率增量-11fps小于帧率增量阈值-8fps,则目标应用满足目标帧率增量不大于帧率增量阈值的条件。
当终端确定目标应用的实时负载大于负载阈值,且目标帧率增量不大于帧率增量阈值时,将根据实时负载确定对应的处理器配置参数。
步骤360,根据处理器配置参数,配置处理器。
在本申请实施例中,终端将按照上述处理器配置参数配置处理器,以便目标应用流畅地运行。
在一种可能的实现方式中,终端通过调用内部性能调节接口指示操作系统根据处理器配置参数,配置该处理器。需要说明的是,该内部性能调节接口是本实施例实施时,为目标应用程序能方便地调节处理器而设置的接口,由于该接口的存在,使得终端能够在目标程序运行时,将处理器配置为保证目标营运运行流畅的状态。
综上所述,由于本申请能够当目标应用在操作系统中运行时,确定i个标记时刻,其中,第i-1个标记时刻早于第i标记时刻,第i标记时刻是当前系统时刻,计算第i-n平均帧率和瞬时帧率,根据第i-1平均帧率和瞬时帧率,计算目标帧率增量,目标帧率增量是瞬时帧率相对于第i-1平均帧率的增量,根据i-1个平均帧率,计算第i-n帧率增量,第i-n帧率增量是第i-n平均帧率相对于第i-n-1平均帧率的增量,当目标应用的实时负载大于负载阈值,且第i帧率增量不大于帧率增量阈值时,终端将根据实时负载确定对应的处理器配置参数,根据该处理器配置参数,配置处理器。由于本实施例能够同时考虑目标应用运行的负载和帧率情况,综合确定所需要的处理器配置参数。因此本实施例能够在避免浪费对处理器造成额外的性能浪费的前提下,降低目标程序的卡顿感,提高目标应用运行时的流畅度。
基于上一个实施例所公开的配置处理器性能的方案,终端还能够根据实时负载的情况控制处理器配置参数,也即,将步骤350替换为步骤351、步骤352和步骤353,详情请参考如下实施例。
请参见图4,其是基于图3所示实施例提供的一种配置处理器性能的方法流程图。该配置处理器性能的方法可以应用在上述所示的终端中。在图4中,终端可以执行图3中的步骤310至步骤340后,执行步骤351、步骤352和步骤353后,继续执行步骤360。其中,步骤351、步骤352和步骤353的具体执行过程如下所示:
步骤351,确定实时负载对应的处理性能等级,处理性能等级用于指示实时负载所需求的处理器所提供的处理资源的数值的级别。
在本公开实施例中,由于处理器能够提供不同的处理性能等级。不同的处理性能等级能够指示相应的处理资源的数量的级别,该处理资源是实时负载所需求的处理器所提供的资源。
作为一种替代的实现方式,步骤351可由下列步骤1)、步骤2)和步骤3)来替换,以实现确定实时负载对应的处理性能等级的功能。
步骤1),获取第一处理性能等级。
其中,第一处理性能等级是目标应用当前的处理性能等级。
步骤2),获取第二处理性能等级。
其中,第二处理性能等级是比第一处理性能等级高一个等级的处理性能等级。
步骤3),当处理器具备向目标应用提供第二处理性能等级对应的处理资源时,确定第二处理性能等级对应的处理器配置参数。
需要说明的是,在由步骤1)、步骤2)和步骤3)组成的流程中,终端能够将处理性能提高一级,使得终端快速应用处理性能不足的情况。
步骤352,确定处理性能等级对应的处理器配置参数。
在本实施例中,终端能够确定处理性能等级对应的处理器配置参数。不同的处理性能等级对应有不同的处理器配置参数,终端能够按照处理性能等级与处理器配置参数之间的对应关系,确定处理性能等级对应的处理器配置参数。
步骤353,将处理器配置参数确定为实时负载对应的处理器配置参数。
综上所述,本实施例能够根据实时负载实际的数值,确定该实时负载对应的性能等级,并确定该处理性能等级对应的处理器配置参数,在将处理器配置参数确定为实时负载对应的处理器配置参数,以便后续终端根据该处理器配置参数,配置处理器,提高了目标应用在满足处理器性能配置条件时,进行处理器的配置。因此本实施例能够在避免浪费对处理器造成额外的性能浪费的前提下,降低目标程序的卡顿感,提高目标应用运行时的流畅度。
下述为本申请装置实施例,可以用于执行本申请方法实施例。对于本申请装置实施例中未披露的细节,请参照本申请方法实施例。
请参考图5,其示出了本申请一个示例性实施例提供的配置处理器性能的装置的结构框图。该配置处理器性能的装置可以通过软件、硬件或者两者的结合实现成为终端的全部或一部分。该装置包括:时刻确定模块510、帧率计算模块520、第一增量计算模块530、第二增量计算模块540、参数确定模块550和处理器配置模块560。
时刻确定模块510,用于在目标应用在操作系统中运行时,确定i个标记时刻,第i-1个标记时刻早于第i标记时刻,所述第i标记时刻是当前系统时刻,i为不小于3的正整数;
帧率计算模块520,用于计算第i-n平均帧率和瞬时帧率,所述第i-n平均帧率是所述目标应用在第i-n时刻到第i时刻的时段内的平均帧率,所述第i-n平均帧率是i-1个平均帧率中的一个,所述第i-n时刻早于所述第i时刻,所述瞬时帧率是所述目标应用在所述第i标记时刻的瞬时帧率,n为小于i的正整数;
第一增量计算模块530,用于根据第i-1平均帧率和所述瞬时帧率,计算目标帧率增量,所述目标帧率增量是所述瞬时帧率相对于所述第i-1平均帧率的增量;
第二增量计算模块540,用于根据所述i-1个平均帧率,计算第i-n帧率增量,所述第i-n帧率增量是所述第i-n平均帧率相对于第i-n-1平均帧率的增量,所述第i-n帧率增量是i-2个帧率增量中的一个;
参数确定模块550,用于当所述目标应用的实时负载大于负载阈值,且所述目标帧率增量不大于帧率增量阈值时,根据所述实时负载确定对应的处理器配置参数,所述帧率增量阈值是根据所述i-2个帧率增量确定的数值,所述处理器配置参数配置后的处理器性能高于所述当前系统时刻的处理器性能;
处理器配置模块560,用于根据所述处理器配置参数,配置所述处理器。
在一个可选的实施例中,所述装置还包括执行模块,所述执行模块用于计算所述i-2个帧率增量的平均值;将所述平均值确定为所述帧率增量阈值。
在一个可选的实施例中,所述i个标记时刻中任意相邻的两个标记时刻之间的时间间隔长相等。
在一个可选的实施例中,所述参数确定模块550,用于确定所述实时负载对应的处理性能等级,所述处理性能等级用于指示处理资源的数量的级别,所述处理资源是所述实时负载所需求的处理器所提供的资源;确定所述处理性能等级对应的处理器配置参数;将所述处理器配置参数确定为所述实时负载对应的处理器配置参数。
在一个可选的实施例中,所述参数确定模块550,用于获取第一处理性能等级,所述第一处理性能等级是所述目标应用当前的所述处理性能等级;获取第二处理性能等级,所述第二处理性能等级是比第一处理性能等级高一个等级的所述处理性能等级;当所述处理器具备向所述目标应用提供所述第二处理性能等级对应的处理资源时,确定所述第二处理性能等级对应的处理器配置参数。
在一个可选的实施例中,所述处理器配置模块560,用于调用内部性能调节接口;通过所述内部性能调节接口指示操作系统,根据所述处理器配置参数,配置所述处理器。
在一个可选的实施例中,所述装置中涉及的目标应用为第一人称射击类游戏应用FPS、角色扮演类游戏应用RPG、动作角色扮演类游戏应用ARPG、多人在线战术竞技游戏应用MOBA、大型多人在线类游戏应用MMOG、消除类游戏应用、捕鱼类游戏应用、卡牌类游戏应用、音乐类游戏应用和放置类游戏应用中的至少一种。
本申请实施例还提供了一种计算机可读介质,该计算机可读介质存储有至少一条指令,所述至少一条指令由所述处理器加载并执行以实现如上各个实施例所述的配置处理器性能的方法。
需要说明的是:上述实施例提供的配置处理器性能的装置在执行配置处理器性能的方法时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将设备的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的配置处理器性能的装置与配置处理器性能的方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
上述本申请实施例序号仅仅为了描述,不代表实施例的优劣。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上所述仅为本申请的能够实现的示例性的实施例,并不用以限制本申请,凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。

Claims (10)

1.一种配置处理器性能的方法,其特征在于,所述方法包括:
当目标应用在操作系统中运行时,确定i个标记时刻,第i-1个标记时刻早于第i标记时刻,所述第i标记时刻是当前系统时刻,i为不小于3的正整数;
计算第i-n平均帧率和瞬时帧率,所述第i-n平均帧率是所述目标应用在第i-n时刻到第i时刻的时段内的平均帧率,所述第i-n平均帧率是i-1个平均帧率中的一个,所述第i-n时刻早于所述第i时刻,所述瞬时帧率是所述目标应用在所述第i标记时刻的瞬时帧率,n为小于i的正整数;
根据第i-1平均帧率和所述瞬时帧率,计算目标帧率增量,所述目标帧率增量是所述瞬时帧率相对于所述第i-1平均帧率的增量;
根据所述i-1个平均帧率,计算第i-n帧率增量,所述第i-n帧率增量是所述第i-n平均帧率相对于第i-n-1平均帧率的增量,所述第i-n帧率增量是i-2个帧率增量中的一个;
当所述目标应用的实时负载大于负载阈值,且所述目标帧率增量不大于帧率增量阈值时,根据所述实时负载确定对应的处理器配置参数,所述帧率增量阈值是根据所述i-2个帧率增量确定的数值,所述处理器配置参数配置后的处理器性能高于所述当前系统时刻的处理器性能,所述实时负载用于指示所述目标应用在所述当前系统时刻,所占用的软件资源的多少;
根据所述处理器配置参数,配置所述处理器。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
计算所述i-2个帧率增量的平均值;
将所述平均值确定为所述帧率增量阈值。
3.根据权利要求2所述的方法,其特征在于,所述i个标记时刻中任意相邻的两个标记时刻之间的时间间隔长相等。
4.根据权利要求2所述的方法,其特征在于,所述当所述目标应用的实时负载大于负载阈值,且所述目标帧率增量不大于帧率增量阈值时,根据所述实时负载确定对应的处理器配置参数,包括:
确定所述实时负载对应的处理性能等级,所述处理性能等级用于指示处理资源的数量的级别,所述处理资源是所述实时负载所需求的处理器所提供的资源;
确定所述处理性能等级对应的处理器配置参数;
将所述处理器配置参数确定为所述实时负载对应的处理器配置参数。
5.根据权利要求4所述的方法,其特征在于,所述确定所述实时负载对应的处理性能等级,包括:
获取第一处理性能等级,所述第一处理性能等级是所述目标应用当前的所述处理性能等级;
获取第二处理性能等级,所述第二处理性能等级是比第一处理性能等级高一个等级的所述处理性能等级;
当所述处理器具备向所述目标应用提供所述第二处理性能等级对应的处理资源时,确定所述第二处理性能等级对应的处理器配置参数。
6.根据权利要求1所述的方法,其特征在于,所述根据所述处理器配置参数,配置所述处理器,包括:
调用内部性能调节接口;
通过所述内部性能调节接口指示操作系统,根据所述处理器配置参数,配置所述处理器。
7.根据权利要求1至6任一所述的方法,其特征在于,所述目标应用为第一人称射击类游戏应用FPS、角色扮演类游戏应用RPG、动作角色扮演类游戏应用ARPG、多人在线战术竞技游戏应用MOBA、大型多人在线类游戏应用MMOG、消除类游戏应用、捕鱼类游戏应用、卡牌类游戏应用、音乐类游戏应用和放置类游戏应用中的至少一种。
8.一种配置处理器性能的装置,其特征在于,所述装置包括:
时刻确定模块,用于在目标应用在操作系统中运行时,确定i个标记时刻,第i-1个标记时刻早于第i标记时刻,所述第i标记时刻是当前系统时刻,i为不小于3的正整数;
帧率计算模块,用于计算第i-n平均帧率和瞬时帧率,所述第i-n平均帧率是所述目标应用在第i-n时刻到第i时刻的时段内的平均帧率,所述第i-n平均帧率是i-1个平均帧率中的一个,所述第i-n时刻早于所述第i时刻,所述瞬时帧率是所述目标应用在所述第i标记时刻的瞬时帧率,n为小于i的正整数;
第一增量计算模块,用于根据第i-1平均帧率和所述瞬时帧率,计算目标帧率增量,所述目标帧率增量是所述瞬时帧率相对于所述第i-1平均帧率的增量;
第二增量计算模块,用于根据所述i-1个平均帧率,计算第i-n帧率增量,所述第i-n帧率增量是所述第i-n平均帧率相对于第i-n-1平均帧率的增量,所述第i-n帧率增量是i-2个帧率增量中的一个;
参数确定模块,用于当所述目标应用的实时负载大于负载阈值,且所述目标帧率增量不大于帧率增量阈值时,根据所述实时负载确定对应的处理器配置参数,所述帧率增量阈值是根据所述i-2个帧率增量确定的数值,所述处理器配置参数配置后的处理器性能高于所述当前系统时刻的处理器性能,所述实时负载用于指示所述目标应用在所述当前系统时刻,所占用的软件资源的多少;
处理器配置模块,用于根据所述处理器配置参数,配置所述处理器。
9.一种终端,其特征在于,所述终端包括处理器和存储器,所述存储器中存储有至少一条指令,所述指令由所述处理器加载并执行以实现如权利要求1至7任一所述的配置处理器性能的方法。
10.一种计算机可读存储介质,其特征在于,所述存储介质中存储有至少一条指令,所述指令由处理器加载并执行以实现如权利要求1至7任一所述的配置处理器性能的方法。
CN201811224130.8A 2018-10-19 2018-10-19 配置处理器性能的方法、装置、终端及存储介质 Active CN109445941B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811224130.8A CN109445941B (zh) 2018-10-19 2018-10-19 配置处理器性能的方法、装置、终端及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811224130.8A CN109445941B (zh) 2018-10-19 2018-10-19 配置处理器性能的方法、装置、终端及存储介质

Publications (2)

Publication Number Publication Date
CN109445941A CN109445941A (zh) 2019-03-08
CN109445941B true CN109445941B (zh) 2020-12-29

Family

ID=65547020

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811224130.8A Active CN109445941B (zh) 2018-10-19 2018-10-19 配置处理器性能的方法、装置、终端及存储介质

Country Status (1)

Country Link
CN (1) CN109445941B (zh)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110633003B (zh) * 2019-09-19 2022-02-11 Oppo广东移动通信有限公司 降低功耗的方法、装置、终端及存储介质
CN110647366B (zh) * 2019-09-19 2023-08-22 Oppo广东移动通信有限公司 处理卡顿的方法、装置、终端及存储介质
CN110795056B (zh) * 2019-11-08 2023-08-15 Oppo广东移动通信有限公司 调节显示参数的方法、装置、终端及存储介质
CN114157824B (zh) * 2021-11-29 2023-08-18 联想(北京)有限公司 控制方法及电子设备
CN114222084B (zh) * 2021-12-01 2023-05-23 联想(北京)有限公司 一种控制方法、装置及电子设备

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9256265B2 (en) * 2009-12-30 2016-02-09 Nvidia Corporation Method and system for artificially and dynamically limiting the framerate of a graphics processing unit
US20140002730A1 (en) * 2012-06-28 2014-01-02 Qualcomm Incorporated Adaptive frame rate control
CN104965773B (zh) * 2015-07-09 2019-06-04 网易(杭州)网络有限公司 终端、卡顿检测方法、装置及游戏卡顿检测方法、装置
CN106020990B (zh) * 2016-06-30 2020-01-10 宇龙计算机通信科技(深圳)有限公司 一种中央处理器的控制方法及终端设备
CN106681833B (zh) * 2016-12-27 2021-03-09 宇龙计算机通信科技(深圳)有限公司 一种调节cpu频率的方法及装置
CN107196794B (zh) * 2017-05-18 2018-09-07 腾讯科技(深圳)有限公司 一种卡顿异常的分析方法及装置

Also Published As

Publication number Publication date
CN109445941A (zh) 2019-03-08

Similar Documents

Publication Publication Date Title
CN109445941B (zh) 配置处理器性能的方法、装置、终端及存储介质
CN109032793B (zh) 资源配置的方法、装置、终端及存储介质
CN108521608B (zh) 视频文件的处理方法、装置、终端及存储介质
CN108211352B (zh) 一种调节画质的方法及终端
CN110795056B (zh) 调节显示参数的方法、装置、终端及存储介质
US20170171601A1 (en) Bullet screen loading method and electronic device
CN109714639B (zh) 违规处理方法、装置、服务器以及存储介质
CN110968423A (zh) 使用机器学习将工作负荷分配给加速器的方法和设备
CN108600800B (zh) 一种智能电视的开机方法及智能电视
CN110837420B (zh) 资源调度方法、装置、终端及存储介质
US10848836B2 (en) Wager information based prioritized live event display system
CN112005218A (zh) 一种图像处理器的功率分配的方法、装置及系统
WO2021196917A9 (zh) 游戏应用程序中的帧显示方法、装置、终端和存储介质
CN107333163A (zh) 一种视频处理方法及装置、一种终端及存储介质
CN112055254B (zh) 视频播放的方法、装置、终端及存储介质
CN109275012A (zh) 一种直播弹幕显示方法及装置
CN111124668A (zh) 内存释放方法、装置、存储介质及终端
US9930412B2 (en) Network set-top box and its operating method
CN113709560B (zh) 视频剪辑方法、装置、设备及存储介质
US20170171491A1 (en) Method and Electronic Device for Adjusting Video Subtitles
CN108416830B (zh) 动画显示控制方法、装置、设备及存储介质
US20140063025A1 (en) Pipelined Image Processing Sequencer
CN110719493A (zh) 弹幕显示方法、装置、电子设备及可读存储介质
CN112911390B (zh) 一种视频数据的播放方法及终端设备
CN108174308B (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