CN117130454A - 功耗调整方法和电子设备 - Google Patents
功耗调整方法和电子设备 Download PDFInfo
- Publication number
- CN117130454A CN117130454A CN202310361490.7A CN202310361490A CN117130454A CN 117130454 A CN117130454 A CN 117130454A CN 202310361490 A CN202310361490 A CN 202310361490A CN 117130454 A CN117130454 A CN 117130454A
- Authority
- CN
- China
- Prior art keywords
- power consumption
- scene
- electronic device
- battery
- value
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 241
- 230000008569 process Effects 0.000 claims description 167
- 238000011217 control strategy Methods 0.000 claims description 76
- 230000015654 memory Effects 0.000 claims description 43
- 238000012545 processing Methods 0.000 claims description 31
- 230000008859 change Effects 0.000 claims description 19
- 230000002093 peripheral effect Effects 0.000 claims description 9
- 238000004590 computer program Methods 0.000 claims description 8
- 230000000903 blocking effect Effects 0.000 abstract description 4
- 239000000523 sample Substances 0.000 description 56
- 101150039033 Eci2 gene Proteins 0.000 description 37
- 230000006870 function Effects 0.000 description 29
- 239000008186 active pharmaceutical agent Substances 0.000 description 20
- 238000004891 communication Methods 0.000 description 19
- 238000007726 management method Methods 0.000 description 13
- 238000010586 diagram Methods 0.000 description 6
- 230000009467 reduction Effects 0.000 description 6
- 238000005516 engineering process Methods 0.000 description 5
- 241000256836 Apis Species 0.000 description 4
- 238000013461 design Methods 0.000 description 4
- 238000012544 monitoring process Methods 0.000 description 4
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 238000009877 rendering Methods 0.000 description 3
- 102100021823 Enoyl-CoA delta isomerase 2 Human genes 0.000 description 2
- 238000013528 artificial neural network Methods 0.000 description 2
- 230000006399 behavior Effects 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 2
- 230000000295 complement effect Effects 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 238000007599 discharging Methods 0.000 description 2
- 229910044991 metal oxide Inorganic materials 0.000 description 2
- 150000004706 metal oxides Chemical class 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 238000013459 approach Methods 0.000 description 1
- 230000033228 biological regulation Effects 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000001276 controlling effect Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000003780 insertion Methods 0.000 description 1
- 230000037431 insertion Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000001537 neural effect Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000005855 radiation Effects 0.000 description 1
- 230000001105 regulatory effect Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3206—Monitoring of events, devices or parameters that trigger a change in power modality
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3206—Monitoring of events, devices or parameters that trigger a change in power modality
- G06F1/3212—Monitoring battery levels, e.g. power saving mode being initiated when battery voltage goes below a certain level
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3234—Power saving characterised by the action undertaken
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3234—Power saving characterised by the action undertaken
- G06F1/3243—Power saving in microcontroller unit
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Power Sources (AREA)
Abstract
本申请实施例提供了一种功耗调整方法和电子设备,该方法由电子设备执行,包括:在检测到第一事件的情况下,获取第一功耗调整策略,第一事件表征电子设备的电源适配器被拔出,第一功耗调整策略包括N组策略,其中,第i+1组策略对应的功耗小于第i组策略对应的功耗,且第N组策略对应的功耗为电子设备在电源适配器被拔出后的预设功耗,N≥2,i≥1;根据第一功耗调整策略中的N组策略,从第1组策略开始依次调整功耗参数的值,直至调整至第N组策略对应的功耗,该功耗参数包括与电子设备的功耗相关的参数和/或与CPU的功耗相关的参数。该方法可以使电子设备在拔掉电源适配器时减少设备卡顿的现象。
Description
技术领域
本申请涉及电子技术领域,具体涉及一种功耗调整方法和电子设备。
背景技术
随着电子技术的不断发展,电子设备的种类越来越多,例如手机、平板电脑、笔记本电脑等。对于可以在插上电源适配器(power adapter)以及拔掉电源适配器两种状态下都能正常工作的电子设备(如笔记本电脑)来说,其为用户的工作和学习带来了极大的便利。
通常,电子设备在插上电源适配器和拔掉电源适配器两种状态下对应的功耗(包括整机功耗和CPU功耗)是不同的,一般情况下拔掉电源适配器状态对应的功耗低于插上电源适配器状态对应的功耗。因此,这就可能会导致电子设备在拔掉电源适配器时出现设备卡顿的现象。
发明内容
本申请提供了一种功耗调整方法和电子设备,可以使电子设备在拔掉电源适配器时减少设备卡顿的现象。
第一方面,本申请提供一种功耗调整方法,该方法由电子设备执行,包括:在检测到第一事件的情况下,获取第一功耗调整策略,第一事件表征电子设备的电源适配器被拔出,第一功耗调整策略包括N组策略,其中,第i+1组策略对应的功耗小于第i组策略对应的功耗,且第N组策略对应的功耗为电子设备在电源适配器被拔出后的预设功耗,N≥2,i≥1;根据第一功耗调整策略中的N组策略,从第1组策略开始依次调整功耗参数的值,直至调整至第N组策略对应的功耗,该功耗参数包括与电子设备的功耗相关的参数和/或与CPU的功耗相关的参数。
其中,第一事件可以为电源适配器拔出事件,其可以为一种电平信号变化事件,例如可以是电源适配器与嵌入式控制器EC之间的管脚GPIO发出的电平拉低信号。在电源适配器拔出后,电子设备的功耗通常会降低,本申请提出的第一功耗调整策略可以分阶降低电子设备的功耗,以减少设备卡顿的现象。
第一功耗调整策略可以用于调整功耗参数的值,可选地,上述功耗参数可以包括与电子设备的功耗相关的参数,例如电子设备的Peci PsysPL1、Peci PsysPL2等,也可以包括与CPU的功耗相关的参数,例如CPU的PL1、PL2、PL4等。在对功耗参数进行调整时,电子设备可以先根据第1组策略(即第一策略)调整功耗参数的值,再根据第2组策略(即第二策略)调整功耗参数的值,以此类推,最后根据第N组策略(即第N策略)调整功耗参数的值,由此分阶降低电子设备的功耗。
上述实现方式中,电子设备可以在检测到电源适配器的拔出事件后,分阶降低电子设备的功耗,使电子设备的功耗缓慢下降,避免功耗骤然下降引起的设备卡顿现象。
结合第一方面,在第一方面的有些实现方式中,上述根据第一功耗调整策略中的N组策略,从第1组策略开始依次调整功耗参数的值,直至调整至第N组策略对应的功耗,包括:根据第1组策略调整功耗参数的值;在第一预设时长之后,根据第2组策略调整功耗参数的值,以此类推,直至根据第N组策略调整功耗参数的值。
其中,电子设备在根据第1组策略调整功耗参数的值之后,可以开启一个定时器,在第一预设时长(例如3秒)之后,再根据第2组策略调整功耗参数的值,再一次在第一预设时长之后,根据第3组策略调整功耗参数的值,以此类推,直至根据第N组策略调整功耗参数的值。该实现方式中,电子设备在一组策略调整之后,通过给予一定的时长再进行下一组策略的调整,可以避免频繁进行功耗参数调整带来的系统不稳定等情况。
结合第一方面,在第一方面的有些实现方式中,在检测到第一事件的情况下,获取第一功耗调整策略,包括:在检测到第一事件的情况下,获取电子设备的电池状态,该电池状态包括电池温度和/或电池电量百分比RSOC;若电池状态满足第一条件,则获取第一功耗调整策略,第一条件包括电池温度位于预设的温度范围内,和/或,RSOC位于预设的电量百分比范围内。
其中,因电源适配器拔出后电子设备开始使用电池工作,电池一般会有不同的状态,例如不同的电池温度、不同的电池电量百分比RSOC等,那么电子设备如果检测到第一事件,可以基于电池状态来确定要采用的功耗调整策略。
在一个实现方式中,如果当前的电池状态满足第一条件,则说明电池状态良好,电子设备可以采用上述的第一功耗调整策略分阶调整功耗参数的值。
在另一个实现方式中,若电池状态不满足第一条件,则说明电池状态不良好,电子设备可以获取当前的电池状态对应的第二功耗调整策略,以及根据第二功耗调整策略调整功耗参数的值。可选地,第二功耗调整策略是基于电池状态所制定的,例如不同的电池温度或者不同的RSOC状态对应有不同的功耗调整策略,详细内容可参见具体实施方式中的描述。
示例性地,上述第一条件可以包括:15℃≤电池温度≤50℃且RSOC≥20%。
上述实现方式中,电子设备可以在检测到电源适配器的拔出事件后,可以根据电池状态采用不同的功耗调整策略,在电池状态良好的情况下分阶降低电子设备的功耗,使电子设备的功耗缓慢下降,避免功耗骤然下降引起的设备卡顿现象;在电池状态不良好的情况下优先考虑电池放电安全,保证电子设备的正常运行。
结合第一方面,在第一方面的有些实现方式中,在检测到第一事件的情况下,上述方法还包括:获取第三功耗调整策略,第三功耗调整策略包括M组策略,其中,第j+1组策略对应的CPU能效比EPP大于第j组策略对应的EPP,且第M组策略对应的EPP为电子设备在电源适配器被拔出后的预设EPP,M≥2,j≥1;根据第三功耗调整策略,从第1组策略开始依次调整EPP的值,直至调整至第M组策略对应的EPP。
因电子设备的电源适配器拔出后,电子设备的EPP也会相应发生变化,为进一步减少设备卡顿现象,电子设备在调整EPP时,也可以采用分阶增加的方式,使电子设备的EPP缓慢升高,也即CPU功耗缓慢降低。
结合第一方面,在第一方面的有些实现方式中,上述在调整至第N组策略对应的功耗之后,上述方法还包括:识别电子设备处理的业务所对应的用户场景;若用户场景为第一场景,则根据第一电池控制策略调整功耗参数的值;若用户场景为第二场景,则根据第二电池控制策略调整功耗参数的值,其中,电子设备在处理第一场景对应的业务时所需的功耗大于在处理第二场景对应的业务时所需的功耗,第一电池控制策略对应的功耗大于第二电池控制策略对应的功耗,第二电池控制策略对应的功耗大于电子设备在电源适配器被拔出后的预设功耗。
其中,在电子设备的电源适配器拔出之后,开始使用电池续航工作,在用户实际使用过程中,可能会有不同功耗需求的用户场景,例如有的用户场景具有高功耗需求,有的用户场景具有低功耗需求,有的用户场景具有长时间功耗需求等。因此,电子设备可以针对不同的用户场景制定不同的电池控制策略。
可选地,第一场景可以为高功耗需求的用户场景,例如打开大内存文件的场景;第二场景可以为功耗需求低于第一场景的用户场景,且该用户场景具有长时间的功耗需求,例如程序编译的场景。第二场景需要的功耗低于第一场景需要的功耗,且高于电子设备在电源适配器拔出后的默认功耗,以确保电子设备在第二场景下正常运行。
该实现方式中,电子设备可以识别所处的用户场景,根据不同的用户场景采用不同的电池控制策略,以提高电子设备的处理性能。
结合第一方面,在第一方面的有些实现方式中,若用户场景为第一场景,则根据第一电池控制策略调整功耗参数的值,包括:若用户场景为第一场景且电子设备的电池状态满足第一条件,则根据第一电池控制策略调整功耗参数的值;
相应的,若用户场景为第二场景,则根据第二电池控制策略调整功耗参数的值,包括:若用户场景为第二场景且电子设备的电池状态满足第一条件,则根据第二电池控制策略调整功耗参数的值。
因电子设备使用电池工作时,电池状态会不断发生变化,例如RSOC下降或电池温度上升等。因此,电子设备在识别用户场景之后,如果确定需要调整功耗参数的值,可以判断电池状态是否满足第一条件,在满足第一条件的情况下再进行调整,以保证电子设备的电池放电安全。
结合第一方面,在第一方面的有些实现方式中,在根据第一电池控制策略调整功耗参数的值之后,上述方法还包括:在经过第二预设时长,或者电池状态不满足第一条件,或者用户场景发生变化的情况下,根据第二电池控制策略调整功耗参数的值。
也即是说,在第一场景下根据第一电池控制策略调整功耗参数的值之后,电子设备在高功耗环境下运行,如果运行时间过长,可能会对电池造成损坏,因此电子设备还可以进行实时监测,以在需要时重新调整功耗参数的值。
例如,根据第一电池控制策略调整功耗参数的值之后,电子设备开始实时监测,如果上述计时达到第二预设时长(例如10秒),说明已在高功耗环境下运行了一段时间,不能再持续高功耗运行了,需要降低功耗。或者,电池状态不满足第一条件,说明电池已支撑不了高功耗环境,也需要降低功耗。再或者,电子设备的用户场景发生变化,已不再是第一场景,对功耗的需求有所降低,则也可以降低功耗。因此,当这几种情况出现任意一种时,电子设备便可以根据第二电池控制策略调整功耗参数的值。
结合第一方面,在第一方面的有些实现方式中,在根据第二电池控制策略调整功耗参数的值之后,上述方法还包括:在接收到第一指令,或者电池状态不满足第一条件的情况下,根据电子设备在电源适配器被拔出后的预设功耗调整功耗参数的值,第一指令指示电子设备停止识别用户场景。
因电子设备在第二电池控制策略下对应的功耗也高于电子设备在电源适配器拔出后的默认功耗,如果长时间运行的话会导致电池放电过快,因此,电子设备在检测到电池状态不满足第一条件时,可以将功耗调整回电子设备在电源适配器拔出后的默认功耗。或者,电子设备接收到第一指令时,也可以将功耗调整回电子设备在电源适配器拔出后的默认功耗,以保证电池放电安全。
结合第一方面,在第一方面的有些实现方式中,上述识别电子设备处理的业务所对应的用户场景,包括:获取电子设备当前显示的第一窗口对应的第一进程的进程信息及第一信息,第一信息包括以下信息中的至少一种:第一进程的GPU占用信息、外设事件信息或电源模式信息;根据第一进程的进程信息及第一信息确定用户场景。
此实现方式中,电子设备可以通过当前显示窗口的进程信息及第一信息,确定当前用户场景的标识。例如,若第一进程的类型为视频类,第一进程的GPU占用率大于0,且GPU引擎为GPU视频进程引擎,确定电子所处的用户场景为视频播放场景。可以理解地,若第一进程的类型为视频类,则可以先确定用户当前正在使用视频类应用。若第一进程的GPU占用率大于0,则表明第一进程运行过程中有占用GPU的资源。若第一进程的GPU引擎为GPUvideo processing(视频进程)引擎,则表明第一进程在运行过程中使用GPU进行解码操作。如此,可以确定用户大概率在使用电子设备进行播放视频,即电子所处的用户场景为视频播放场景。
若第一进程的类型为视频类,第一进程的GPU占用率大于0,且GPU引擎为GPU 3D引擎,确定电子所处的用户场景为视频浏览场景。相应地,若第一进程的GPU引擎为GPU 3D引擎,则表明第一进程仅使用GPU进行2D或者3D渲染操作,可以推断用户在使用电子设备浏览视频资源,而非播放视频,即电子所处的用户场景为视频浏览场景。
若第一进程的类型为游戏类,则可以先确定用户当前正在使用游戏类应用。若第一进程的GPU占用率大于0,则表明第一进程运行过程中有占用GPU的资源。若第一进程的GPU引擎为GPU 3D引擎,则表明第一进程使用GPU进行2D或者3D渲染操作。如此,可以确定用户大概率在使用电子设备打游戏,即电子所处的用户场景为游戏场景。
结合第一方面,在第一方面的有些实现方式中,上述外设事件信息可以包括键盘输入事件、鼠标输入事件、麦克风输入事件、摄像头输入事件中的一种或多种;
若第一进程的类型为社交类,且检测到键盘输入事件,确定电子所处的用户场景为文字聊天场景。也即,若检测到用户在使用社交应用且同时在打字,则用户大概率在使用社交应用进行聊天,可以确定电子所处的用户场景为文字聊天场景。
若第一进程的类型为社交类,检测到麦克风输入事件,且未检测到摄像头输入事件,确定电子所处的用户场景为语音聊天场景。也即,若检测到用户在使用社交应用且同时在语音输入,则用户大概率在使用社交应用进行语音聊天,可以确定电子所处的用户场景为语音聊天场景。
若第一进程的类型为社交类,检测到麦克风输入事件以及摄像头输入事件,确定电子所处的用户场景为视频聊天场景。也即,若检测到用户在使用社交应用且同时在视频输入,则用户大概率在使用社交应用进行视频聊天,可以确定电子所处的用户场景为视频聊天场景。
若第一进程的类型为办公类,且检测到键盘输入事件,确定电子所处的用户场景为文档编辑场景。若检测到用户在使用办公应用且同时在打字,则用户大概率在使用办公应用编辑文档,可以确定电子所处的用户场景为文档编辑场景。
若第一进程的类型为办公类,检测到鼠标输入事件,且未检测到键盘输入事件,确定电子所处的用户场景为文档浏览场景。也即,若检测到用户在使用办公应用的过程中使用鼠标但未使用键盘,则用户大概率在使用办公应用浏览文档,可以确定电子所处的用户场景为文档浏览场景。
若第一进程的类型为办公类,检测到麦克风输入事件以及摄像头输入事件,确定电子所处的用户场景为视频会议场景。也即,若检测到用户在使用办公应用的过程中使用摄像头,则用户大概率在使用办公应用进行视频会议,可以确定电子所处的用户场景为视频会议场景。由此,可以结合外设事件信息来确定当前是哪个用户场景。
第二方面,本申请还提供一种功耗调整方法,该方法由电子设备执行,包括:
在检测到第一事件以及根据第一功耗调整策略调整功耗参数的值之后,识别电子设备处理的业务所对应的用户场景;若用户场景为第一场景,则根据第一电池控制策略调整功耗参数的值;若用户场景为第二场景,则根据第二电池控制策略调整功耗参数的值,其中,电子设备在处理第一场景对应的业务时所需的功耗大于在处理第二场景对应的业务时所需的功耗,第一电池控制策略对应的功耗大于第二电池控制策略对应的功耗,第二电池控制策略对应的功耗大于电子设备在电源适配器被拔出后的预设功耗。
第三方面,本申请提供一种装置,该装置包含在电子设备中,该装置具有实现上述第一方面及上述第一方面的可能实现方式中电子设备行为的功能,或者实现第二方面中电子设备行为的功能。功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。硬件或软件包括一个或多个与上述功能相对应的模块或单元。例如,接收模块或单元、处理模块或单元等。
第四方面,本申请提供一种电子设备,电子设备包括:处理器、存储器和接口;处理器、存储器和接口相互配合,使得电子设备执行第一方面的技术方案中任意一种方法,或者执行第二方面的技术方案中任意一种方法。
第五方面,本申请提供一种芯片,包括处理器。处理器用于读取并执行存储器中存储的计算机程序,以执行第一方面及其任意可能的实现方式中的方法,或者执行第二方面及其任意可能的实现方式中的方法。
可选地,芯片还包括存储器,存储器与处理器通过电路或电线连接。
进一步可选地,芯片还包括通信接口。
第六方面,本申请提供一种计算机可读存储介质,计算机可读存储介质中存储了计算机程序,当计算机程序被处理器执行时,使得该处理器执行第一方面的技术方案中任意一种方法,或者执行第二方面的技术方案中任意一种方法。
第七方面,本申请提供一种计算机程序产品,计算机程序产品包括:计算机程序代码,当计算机程序代码在电子设备上运行时,使得该电子设备执行第一方面的技术方案中任意一种方法,或者执行第二方面的技术方案中任意一种方法。
附图说明
图1是本申请实施例提供的一例电子设备的结构示意图;
图2是本申请实施例提供的一例电子设备的软件结构框图;
图3是本申请实施例提供的另一例电子设备的软件结构框图;
图4是本申请实施例提供的一例功耗调整方法的流程示意图;
图5是本申请实施例提供的另一例功耗调整方法的流程示意图;
图6是本申请实施例提供的又一例功耗调整方法的流程示意图;
图7是本申请实施例提供的又一例功耗调整方法的流程示意图;
图8是本申请实施例提供的又一例功耗调整方法的流程示意图;
图9是本申请实施例提供的又一例功耗调整方法的流程示意图;
图10是本申请实施例提供的又一例功耗调整方法的流程示意图;
图11是本申请实施例提供的一例识别用户场景过程的流程示意图;
图12是本申请实施例提供的一例窗口变化界面图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行描述。其中,在本申请实施例的描述中,除非另有说明,“/”表示或的意思,例如,A/B可以表示A或B;本文中的“和/或”仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,在本申请实施例的描述中,“多个”是指两个或多于两个。
以下,术语“第一”、“第二”、“第三”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”、“第三”的特征可以明示或者隐含地包括一个或者更多个该特征。
随着电子技术的不断发展,电子设备的种类越来越多,例如手机、平板电脑、笔记本电脑、个人计算机(personal computer,PC)、超级移动个人计算机(ultra-mobilepersonal computer,UMPC)等设备。对于笔记本电脑等类型的电子设备来说,其可以在插上电源适配器以及拔掉电源适配器(即使用电池续航工作)两种状态下都保持正常工作,这就为用户的工作和学习带来了极大的便利。例如用户可以随身携带笔记本电脑,实现随时随地的办公。
通常,电子设备在插上电源适配器和拔掉电源适配器两种状态下对应的功耗(包括整机功耗和CPU功耗)是不同的,一般情况下拔掉电源适配器状态对应的功耗低于插上电源适配器状态对应的功耗。例如,对于电子设备整机的长时睿频功耗(power limit1,PL1)来说,在电子设备插上电源适配器的状态下,PL1可以为100W(瓦),在电子设备拔掉电源适配器的状态下,PL1可以为65W。那么,在拔掉电源适配器的瞬间,电子设备的功耗将骤然下降,这就可能会导致电子设备出现设备卡顿的现象。另外,在拔掉电源适配器使用电池续航工作的状态下,因电子设备的功耗较低,相应的处理性能也较低,从而可能无法满足一些高功耗需求的用户场景。
本申请实施例提供的功耗调整方法,可以在检测到电源适配器的拔出事件后,分阶降低电子设备的功耗,使电子设备的功耗缓慢下降,避免功耗骤然下降引起的设备卡顿现象;同时,在拔掉电源适配器的状态下,电子设备还可以识别当前的用户场景,在高功耗需求的用户场景下提高电子设备的功耗,开启短时超放模式,以提高电子设备的处理性能。需要说明的是,本申请实施例提供的功耗调整方法可以应用于笔记本电脑、PC等可以在插上电源适配器以及拔掉电源适配器两种状态下工作的电子设备上,本申请实施例对电子设备的具体类型不作任何限制。
为了下述各实施例的描述清楚简洁,首先给出相关概念或技术的简要介绍:
(1)交流电源(alternating current,AC)模式,即电子设备在插上电源适配器的状态下工作的模式。
(2)直流电源(direct current,DC)模式,即电子设备在拔掉电源适配器的状态下,使用电池续航工作的模式。
(3)长时睿频功耗(power limit1,PL1),指CPU在正常负载下的功耗,相当于热设计功耗,CPU绝大部分时间的运行功耗不超过PL1。
(4)短时睿频功耗(power limit2,PL2),指CPU在短时间内可达到的最高功耗,其具有持续时间限制。一般地,PL2大于PL1。
其中,PL1和PL2为平台下CPU的输出功率极限值,数字代表等级,数字越小功率限定等级就会越低,除此之外,该极限值还包括PL3和PL4,PL4基本上是不可逾越的功耗顶峰。
对于CPU芯片平台,除了平台之外,还包括/>平台,在/>平台下,CPU的输出功率参数可以包括热设计功率(thermal design power,TDP)、封装功率跟踪(package power tracking,PPT)等,那么在/>平台下,电子设备也可以通过调整CPU功耗参数来调整处理性能。为方便理解,下述实施例中都以/>平台下的CPU功耗参数为例进行说明。
(5)Peci PsysPL1,指电子设备整机的PL1功耗;Peci PsysPL2,指电子设备整机的PL2功耗。
(6)CPU能效比(energy performance preference,EPP),用于反映CPU的调度倾向,其取值范围为0~255。CPU能效比越小,则表明CPU趋向于高功耗;CPU能效比越高,则表明CPU趋向于低功耗。
示例性地,图1为本申请实施例提供的电子设备100的结构示意图。如图1所示,电子设备100可以包括:处理器110,外部存储器接口120,内部存储器121,通用串行总线(universal serial bus,USB)接口130,充电管理模块140,电源管理模块141,电池142,无线通信模块150,显示屏160等。
处理器110可以包括一个或多个处理单元,例如:处理器110可以包括应用处理器(application processor,AP),调制解调处理器,图形处理器(graphics processingunit,GPU),图像信号处理器(image signal processor,ISP),控制器,存储器,视频编解码器,数字信号处理器(digital signal processor,DSP),基带处理器,和/或神经网络处理器(neural-network processing unit,NPU)等。其中,不同的处理单元可以是独立的器件,也可以集成在一个或多个处理器中。
控制器可以是电子设备100的神经中枢和指挥中心。控制器可以根据指令操作码和时序信号,产生操作控制信号,完成取指令和执行指令的控制。
处理器110中还可以设置存储器,用于存储指令和数据。在一些实施例中,处理器110中的存储器为高速缓冲存储器。该存储器可以保存处理器110刚用过或循环使用的指令或数据。如果处理器110需要再次使用该指令或数据,可从存储器中直接调用。避免了重复存取,减少了处理器110的等待时间,因而提高了系统的效率。
在一些实施例中,处理器110可以包括一个或多个接口。接口可以包括I2C接口,集成电路内置音频(inter-integrated circuit sound,I2S)接口,脉冲编码调制(pulsecodemodulation,PCM)接口,通用异步收发传输器(universal asynchronous receiver/transmitter,UART)接口,移动产业处理器接口(mobile industry processor interface,MIPI),通用输入输出(general-purpose input/output,GPIO)接口,和/或USB接口等。
可以理解的是,本实施例示意的各模块间的接口连接关系,只是示意性说明,并不构成对电子设备100的结构限定。在另一些实施例中,电子设备100也可以采用上述实施例中不同的接口连接方式,或多种接口连接方式的组合。
充电管理模块140用于从充电器接收充电输入。其中,充电器可以是无线充电器,也可以是有线充电器。充电管理模块140为电池142充电的同时,还可以通过电源管理模块141为电子设备供电。
电源管理模块141用于连接电池142,充电管理模块140与处理器110。电源管理模块141接收电池142和/或充电管理模块140的输入,为处理器110,内部存储器121,外部存储器,显示屏160,和无线通信模块150等供电。在一些实施例中,电源管理模块141和充电管理模块140也可以设置于同一个器件中。
无线通信模块150可以提供应用在电子设备100上的包括WLAN(如Wi-Fi),蓝牙,全球导航卫星系统(global navigation satellite system,GNSS),调频(frequencymodulation,FM),近距离无线通信技术(near field communication,NFC),红外技术(infrared,IR)等无线通信的解决方案。例如,本申请实施例中,电子设备100可以通过无线通信模块150与终端设备(如无线耳机100)建立蓝牙连接。
无线通信模块150可以是集成至少一个通信处理模块的一个或多个器件。无线通信模块150经由天线接收电磁波,将电磁波信号调频以及滤波处理,将处理后的信号发送到处理器110。无线通信模块150还可以从处理器110接收待发送的信号,对其进行调频,放大,经天线转为电磁波辐射出去。
电子设备100通过GPU,显示屏160,以及应用处理器等实现显示功能。GPU为图像处理的微处理器,连接显示屏160和应用处理器。GPU用于执行数学和几何计算,用于图形渲染。处理器110可包括一个或多个GPU,其执行程序指令以生成或改变显示信息。
显示屏160用于显示图像,视频等。该显示屏160包括显示面板。
外部存储器接口120可以用于连接外部存储卡,例如Micro SD卡,实现扩展电子设备100的存储能力。外部存储卡通过外部存储器接口120与处理器110通信,实现数据存储功能。例如将音乐,视频等文件保存在外部存储卡中。
内部存储器121可以用于存储计算机可执行程序代码,该可执行程序代码包括指令。处理器110通过运行存储在内部存储器121的指令,从而执行电子设备100的各种功能应用以及数据处理。例如,在本申请实施例中,处理器110可以通过执行存储在内部存储器121中的指令,内部存储器121可以包括存储程序区和存储数据区。
其中,存储程序区可存储操作系统,至少一个功能所需的应用程序(比如声音播放功能,图像播放功能等)等。存储数据区可存储电子设备100使用过程中所创建的数据(比如音频数据,电话本等)等。此外,内部存储器121可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件,闪存器件,通用闪存存储器(universalflash storage,UFS)等。
可以理解的是,本申请实施例示意的结构并不构成对电子设备100的具体限定。在本申请另一些实施例中,电子设备100可以包括比图示更多或更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布置。图示的部件可以以硬件,软件或软件和硬件的组合实现。
电子设备100的软件系统可以采用分层架构,事件驱动架构,微核架构,微服务架构,或云架构。本申请实施例以分层架构的Android系统为例,示例性说明电子设备100的软件结构。
上述电子设备100的软件系统可以采用分层架构,事件驱动架构,微核架构,微服务架构,或云架构。本发明实施例以分层架构的Windows系统为例,示例性说明电子设备100的软件结构。
示例性地,图2为本申请实施例的电子设备100的软件结构框图。分层架构将软件分成若干个层,每一层都有清晰的角色和分工。层与层之间通过软件接口通信。在一些实施例中,将Windows系统分为用户态和内核态。其中,用户态包括应用层以及子系统动态链接库。内核态自下而上分为硬件层、固件层、硬件抽象层(hardware abstraction layer,HAL)、内核和驱动层及执行体。
如图2所示,应用层包括音乐、视频、游戏、办公、社交等应用程序。应用层还包括环境子系统、场景识别引擎以及调度引擎等。其中,图中仅示出部分应用程序,应用层还可以包括其他应用程序,例如购物应用、浏览器等,本申请不做限定。在一个实施例中,环境子系统、场景识别引擎和调度引擎可以集成在PC管家应用程序中。
环境子系统可以将基本的执行体系统服务的某些子集以特定的形态展示给应用程序,为应用程序提供执行环境。
场景识别引擎可以在DC模式下识别电子设备100当前的用户场景。调度引擎可以获取电子设备100的负载情况,并结合电子设备100的负载情况及当前的用户场景确定电池控制策略,并将确定的电池控制策略向下层传递。其中,关于场景识别引擎和调度引擎的具体内容见后文,在此暂不描述。
子系统动态链接库包括API模块,该API模块包括Windows API,Windows原生API等。其中,Windows API,Windows原生API均可以为应用程序提供系统调用入口及内部函数支持,区别在于Windows原生API为Windows系统原生的API。例如,Windows API可包括user.dll、kernel.dll,Windows原生API可包括ntdll.dll。其中,user.dll是Windows用户界面接口,可用于执行创建窗口、发送消息等操作。kernel.dll用于为应用程序提供访问内核的接口。ntdll.dll是重要的Windows NT内核级文件,描述了Windows本地NTAPI的接口。当Windows启动时,ntdll.dll就驻留在内存中特定的写保护区域,使别的程序无法占用这个内存区域。
执行体包括进程管理器、虚拟内存管理器、安全引用监视器、I/O管理器、Windows管理规范(windows management instrumentation,WMI)、电源管理器、系统事件驱动(operating system event driver,OsEventDriver)节点、系统与芯片驱动(operatingsystem to system on chip,OS2SOC)节点等。
进程管理器用于创建及中止进程和线程。
虚拟内存管理器实现“虚拟内存”。虚拟内存管理器也为高速缓存管理器提供基本的支持。
安全引用监视器可在本地计算机上执行安全策略,它保护了操作系统资源,执行运行时对象的保护和监视。
I/O管理器执行独立于设备的输入/输出,并进一步处理调用适当的设备驱动程序。
电源管理器可管理所有支持电源状态更改的设备的电源状态更改。
系统事件驱动节点可以与内核和驱动层进行交互,例如与显卡驱动进行交互,在确定存在GPU视频解码事件后,向场景识别引擎上报该GPU视频解码事件。
系统与芯片驱动节点可供调度引擎向硬件设备发送调整信息,例如向CPU发送调整PL1和PL2的信息。
内核和驱动层包括内核以及设备驱动程序。
内核是对处理器体系结构的抽象,将执行体与处理器体系结构的差异相隔离,保证系统的可移植性。内核可以进行线程安排和调度、陷阱处理和异常调度、中断处理和调度等。
设备驱动程序运行在内核模式下,为I/O系统和相关硬件之间的接口。设备驱动程序可包括显卡驱动、Intel DTT驱动、鼠标驱动、音视频驱动、摄像头驱动、键盘驱动等。例如,显卡驱动可以驱动GPU运行,Intel DTT驱动可以驱动CPU运行。
HAL是一个核心态模块,可以隐藏各种与硬件有关的细节,例如I/O接口、中断控制器以及多处理器通信机制等,为运行Windows的不同硬件平台提供统一的服务接口,实现多种硬件平台上的可移植性。需要说明的是,为了维护Windows的可移植性,Windows内部组件和用户编写的设备驱动程序并不直接访问硬件,而是通过调用HAL中的例程。
固件层可以包括基本输入输出系统(basic input output system,BIOS),BIOS是一组固化到计算机主板上一个只读存储器(read only memory,ROM)芯片内的程序,它保存着计算机最重要的基本输入输出的程序、开机后自检程序和系统自启动程序,它可从互补金属氧化物半导体(complementary metal oxide semiconductor,CMOS)中读写系统设置的具体信息。其主要功能是为计算机提供最底层的、最直接的硬件设置和控制。例如,BIOS可以接收上层发送的电池控制策略。
另外,固件层还可以包括嵌入式控制器(embedded controller,EC),其可以在接收到电源适配器拔出事件后,按照第一功耗调整策略分阶降低电子设备的功耗,还可以接收BIOS发送的各种策略指令,例如接收BIOS发送的电池控制策略等。
硬件层可以包括GPU、CPU、鼠标、麦克风、摄像头、键盘等硬件结构。
需要说明的是,本申请实施例仅以Windows系统举例来说明,在其他操作系统中(例如安卓系统,IOS系统等),只要各个功能模块实现的功能和本申请的实施例类似也能实现本申请的方案。
为更方便了解本申请实施例提供的资源调度方法,先结合上述图2简化说明本申请实施例涉及的软件架构,如图3所示,该软件架构包括:场景识别引擎、调度引擎、BIOS、EC和CPU。
其中,当电子设备的电源适配器拔掉后,电源适配器与EC之间的管脚GPIO(general rurpose input output)可以向EC发出电源适配器拔出事件,可选地,该电源适配器拔出事件可以采用电平拉高或拉低的信号来表示,例如电平拉低表示电源适配器拔出。EC接收到电源适配器拔出事件后,可以通过EC与CPU之间的平台环境式控制接口(platform environment control interface,PECI),将第一功耗调整策略中的第一策略数据写入CPU,并启动定时器。在第一预设时长之后,再将第一功耗调整策略中的第二策略数据写入CPU,以此类推,直至将CPU的功耗调整至DC模式对应的功耗。
在DC模式下,电子设备可以启动场景识别引擎识别电子设备所处的用户场景,以及将用户场景的数据发送至调度引擎,由调度引擎根据当前的用户场景确定电池控制策略。调度引擎确定了电池控制策略后,可以以WMI命令形式将电池控制策略发送给BIOS,再由BIOS将电池控制策略发送给EC。EC接收到电池控制策略后,根据该策略调整CPU的功耗,以及将功耗调整成功的消息返回至BIOS,再由BIOS传输给上层应用。
在一个实施例中,如图3所示,场景识别引擎可以包括系统探针模块和场景识别模块。场景识别模块可以与系统探针模块进行交互。场景识别模块可以向系统探针模块发送获取探针状态的请求。系统探针模块可以获取电子设备100的运行状态。例如,系统探针模块可以包括电源状态探针、外设状态探针、进程负载探针、音视频状态探针、系统负载探针及系统事件探针等。
其中,电源状态探针可以向内核态订阅电源状态事件,根据内核态反馈的回调函数确定电源状态,电源状态包括电池(剩余)电量、电源模式、电池温度等,电池(剩余)电量和电池温度也可称为电池状态,电源模式可包括AC模式和DC模式。外设状态探针可以向内核态订阅外设事件,根据内核态反馈的回调函数确定外设事件。外设事件包括鼠标滚轮滑动事件、鼠标点击事件、键盘输入事件、麦克风输入事件、摄像头输入事件等。进程负载探针可以向内核态订阅进程负载,根据内核态反馈的回调函数确定进程(例如,第一进程)的负载。系统负载探针可以向内核态订阅系统负载,根据内核态反馈的回调函数确定系统负载。音视频状态探针可向内核态订阅音视频事件,根据内核态反馈的回调函数确定电子设备100当前存在的音视频事件。音视频事件可包括GPU解码事件等。系统事件探针可以向内核态订阅系统事件,根据内核态反馈的回调函数确定系统事件。系统事件可包括窗口变化事件、进程创建事件、线程创建事件等。
可见,系统探针模块通过向内核态订阅电子设备100的各种事件,再根据内核态反馈的回调函数确定电子设备100的运行状态,即得到探针状态。系统探针模块得到探针状态后,可向场景识别模块反馈该探针状态。场景识别模块接收到探针状态后,可根据该探针状态确定电子设备100所处的用户场景。该用户场景可包括视频场景、游戏场景、办公场景及社交场景等。用户场景可以反映用户当前的使用需求。例如,场景识别引擎在识别出焦点窗口为视频应用的窗口时,确定出电子设备100处于视频场景,这说明用户需要使用视频应用观看、浏览视频。又例如,场景识别引擎识在识别出焦点窗口为的聊天窗口时,确定电子设备100处于社交场景。/>
在一个实施例中,如图3所示,调度引擎可以包括负载管控器和调度执行器。其中,负载管控器可接收场景识别模块发送的用户场景。负载管控器还可从系统探针模块获取系统负载,并根据系统负载和用户场景确定电池控制策略。电池控制策略中包括CPU功耗调度策略。
负载管控器确定了电池控制策略后,可以向调度执行器发送该电池控制策略,由调度执行器基于该电池控制策略调度EC调整CPU的功耗。
基于图3所示的软件架构,下面介绍本申请实施例提供的功耗调整方法的具体过程,如图4所示,该方法可以由电子设备执行,包括:
S101,在检测到电源适配器拔出事件的情况下,获取第一功耗调整策略。
其中,电源适配器拔出事件可以为一种电平信号变化事件,例如可以是电源适配器与EC之间的管脚GPIO发出的电平拉低信号。电子设备在检测到该信号的情况下,可以获取预设的第一功耗调整策略。
在一个实施例中,第一功耗调整策略可以用于调整功耗参数的值,该功耗参数可以包括但不限于CPU的PL1、PL2、PL4,电子设备的Peci PsysPL1、Peci PsysPL2,GPU的DxNotify,以及是否支持CPU turbo等。
对于上述第一功耗调整策略,为了使电子设备的功耗缓慢下降,可以分阶降低电子设备的功耗,也即是说,该第一功耗调整策略中可以包括多组策略,每组策略对应一组上述功耗参数的值。可选地,第一功耗调整策略中可以包括第一策略、第二策略……第N策略,N≥2。
S102,根据第一功耗调整策略,分阶调整功耗参数的值,直至达到DC模式下电子设备的默认功耗。
也即是说,电子设备可以根据第一策略、第二策略……第N策略依次调整功耗参数的值,这里N≥2。
在一个实施例中,假设N=4,即第一功耗调整策略包括第一策略、第二策略、第三策略和第四策略。那么,电子设备先根据第一策略调整功耗参数的值,再根据第二策略调整功耗参数的值,再根据第三策略调整功耗参数的值,最后根据第四策略调整功耗参数的值。一般地,第四策略所对应的功耗参数即是DC模式下电子设备的默认功耗。可以理解,电子设备根据不同策略调整功耗参数的值,是将不同策略对应的功耗参数的值写入CPU中,使CPU根据对应的功耗参数的值运行。
在该实施例中,可选地,电子设备在根据第一策略调整功耗参数的值之后,可以开启一个定时器,在第一预设时长之后,再根据第二策略调整功耗参数的值;再一次在第一预设时长之后,根据第三策略调整功耗参数的值;再一次在第一预设时长之后,根据第四策略调整功耗参数的值,此后不再计时。示例性地,第一预设时长可以为3秒。
示例性地,上述功耗调度策略可以如表1所示,第一列即第一策略,第二列即第二策略,第三列即第三策略,第四列即第四策略。
表1
第一策略 | 第二策略 | 第三策略 | 第四策略 | |
PL4 | 105W | 105W | 105W | 105W |
PL2 | 95W | 95W | 95W | 95W |
PL1 | 60W | 50W | 40W | 35W |
Dx Notify | D2 | D2 | D2 | D2 |
Peci PsysPL1 | 100W | 90W | 80W | 65W |
Peci PsysPL2 | 100W | 90W | 80W | 75W |
CPU turbo | N/A | N/A | N/A | N/A |
需要说明的是,表1仅示出了一个功耗调度策略的示例,电子设备还可配置与表1不同的调整策略,在此不做具体限制。
由表1可以看出,电子设备整机的Peci PsysPL1和Peci PsysPL2为分阶缓慢降低趋势,通过对Peci PsysPL1和Peci PsysPL2缓慢降低,可以避免功耗骤然下降引起的设备卡顿现象。根据表1所示的示例,电子设备在检测到电源适配器拔出事件的情况下,先将第一策略的值(即PL4=105W,PL2=95W,PL1=60W,Dx=D2,Peci PsysPL1=100W,PeciPsysPL2=100W)写入CPU,启动定时器,经过3秒之后,将第二策略的值(即PL4=105W,PL2=95W,PL1=50W,Dx=D2,Peci PsysPL1=90W,Peci PsysPL2=90W)写入CPU,再经过3秒之后,将第三策略的值(即PL4=105W,PL2=95W,PL1=40W,Dx=D2,Peci PsysPL1=80W,PeciPsysPL2=80W)写入CPU,再经过3秒之后,将第四策略的值(即PL4=105W,PL2=95W,PL1=35W,Dx=D2,Peci PsysPL1=65W,Peci PsysPL2=75W)写入CPU,并停止计时。
在一个实施例中,在电子设备的电源适配器拔出后,电子设备的EPP也会相应发生变化,通常情况下,AC模式时电子设备的EPP为P1,DC模式下电子设备的EPP为P2,P2大于P1。例如P2为127,P1为84。
如果在电源适配器拔出后,电子设备的EPP从P1立刻增加至P2,可能也会发生设备卡顿现象,因此本申请实施例中,为进一步减少设备卡顿现象,电子设备在调整EPP时,也可以采用分阶增加的方式,使电子设备的EPP缓慢升高,也即CPU功耗缓慢降低。
示例性地,电子设备可以采用EPP=84、95、110、127的分阶增加方式,缓慢增加EPP的值。
在一些场景中,用户在拔出电子设备的电源适配器之后,可能还会有继续将电源适配器插上的需求,那么,如果电子设备在某个时刻检测到了电源适配器的插入事件,例如可以是电源适配器与EC之间的管脚GPIO发出的电平拉高信号,则电子设备可以再将功耗参数直接调整至AC模式下的默认功耗。
示例性地,AC模式下的默认功耗的值可以为:PL4=105W,PL2=95W,PL1=60W,Dx=D1,Peci PsysPL1=120W,Peci PsysPL2=178W,即将该功耗参数的值写入CPU。
上述功耗调整方法,电子设备可以在检测到电源适配器的拔出事件后,分阶降低电子设备的功耗,使电子设备的功耗缓慢下降,避免功耗骤然下降引起的设备卡顿现象。
对于图4所示的实施例,结合上述图3的软件架构,下面再以一个实施例介绍本申请实施例提供的功耗调整方法,如图5所示,具体可以包括:
S11,EC在检测到电源适配器拔出事件的情况下,获取第一功耗调整策略。
其中,在电源适配器拔出时,电源适配器与EC之间的管脚GPIO可以向EC发出电源适配器拔出事件,例如GPIO发出电平拉低信号。EC接收到该电平拉低信号后,获取第一功耗调整策略。
或者,EC可以周期性轮询查看GPIO发送的电平值,例如每10毫秒查看一次GPIO发送的电平值,若发现电平拉低,则确定发生了电源适配器拔出事件,便可以获取功耗调度策略。可选地,在EC周期性轮询查看GPIO发送的电平值的情况下,还可以对电平值进行去抖动处理。或者,EC也可以中断查看GPIO发送的电平值。
S12,EC将第一功耗调整策略中的第一策略写入CPU,同时启动定时器。
其中,EC可以通过与CPU之间的总线接口PECI,将第一策略写入CPU,并启动定时器开始计时。
S13,在第一预设时长之后,EC将第一功耗调整策略中的第二策略写入CPU,以此类推,直至将第N策略写入CPU。
其中,在启动定时器时,定时器从0秒开始计时,在达到第一预设时长时,定时器可以向EC发送定时消息,该消息表征已达到第一预设时长,那么EC便可以将第一功耗调整策略中的第二策略写入CPU。以此类推,直至EC将第一功耗调整策略中的第N策略写入CPU,即达到了DC模式下电子设备的默认功耗。可选地,因写入第N策略时定时器停止计时,则定时器可以自动返回初始状态。
上述实施例中,EC可以在检测到电源适配器的拔出事件后,分阶将第一功耗调整策略分别写入CPU,使电子设备的功耗缓慢下降,避免功耗骤然下降引起的设备卡顿现象。
基于图4所示的实施例,在另一个实施例中,因电源适配器拔出后电子设备开始使用电池工作,电池一般会有不同的状态,例如不同的电池温度、不同的电池电量百分比(relative state of charge,RSOC)等,那么如果检测到电源适配器拔出事件,电子设备还可以基于电子设备的电池状态来确定要采用的功耗调整策略。可选地,电池状态可以包括但不限于电池温度和RSOC。如图6所示,该实现过程可以包括:
S201,在检测到电源适配器拔出事件的情况下,获取电池状态。
这里检测电源适配器拔出事件的方法参见上述实施例的描述,在此不再赘述。
可选地,电子设备在检测到电源适配器拔出事件时,可以通过上述图3所示实施例中的电源状态探针来获取电池状态。
S202,判断电池状态是否满足第一条件,若是执行S203,若否执行S204。
其中,第一条件用于表征电池状态良好,例如电池温度位于预设的温度范围内,和/或,RSOC位于预设的电量百分比范围内。示例性地,第一条件可以包括:15℃≤电池温度≤50℃且RSOC≥20%。
S203,根据第一功耗调整策略,分阶调整功耗参数的值。
如果当前的电池状态满足第一条件,则说明电池状态良好,电子设备可以采用上述的第一功耗调整策略分阶调整功耗参数的值,具体调整过程可以参见上述图4所示实施例的描述。
S204,根据第二功耗调整策略,调整功耗参数的值。
如果当前的电池状态不满足第一条件,则说明电池状态不良好,此时需要优先考虑电池放电安全,那么电子设备可以采用安全策略(即第二功耗调整策略)来调整功耗参数的值。
在一个实施例中,对于第二功耗调整策略,因其是基于电池状态制定的安全策略,而电池状态还可能包括重度不良、中度不良、轻度不良等不同程度的状态,因此,第二功耗调整策略可以针对不同程度的电池状态对应有不同策略。可选地,电子设备可以根据电池状态的不同程度将其划分第一程度、第二程度、第三程度……第M程度。
示例性地,电子设备可以根据电池温度进行划分,以M=4为例,可以将电池温度≤T1归为第一程度,将T1<电池温度<T2归为第二程度,将T2≤电池温度<T3归为第三程度,将电池温度≥T3归为第四程度。
可选地,对于电池状态为第一程度的情况,电子设备可以根据第二功耗调整策略中的策略a调整功耗参数的值,对于电池状态为第二程度的情况,电子设备可以根据第二功耗调整策略中的策略b调整功耗参数的值,对于电池状态为第三程度的情况,电子设备可以根据第二功耗调整策略中的策略c调整功耗参数的值,对于电池状态为第四程度的情况,电子设备可以根据第二功耗调整策略中的策略d调整功耗参数的值。
再示例性地,电子设备在根据电池温度进行划分之后,还可以对每个程度再依据RSOC进行进一步划分,然后对进一步划分的状态对应不同策略。例如,不同电池温度与不同RSOC所对应的策略可以如表2所示。
表2
需要说明的是,表2仅示出了一个不同电池温度与不同RSOC所对应的策略的示例,电子设备还可配置与表2不同的调整策略,在此不做具体限制。
由表2可以看出,电子设备的电池状态在不满足第一条件的情况下,如果电池温度≤8℃且RSOC≥15%,则将第一列策略的值(即PL4=40W,PL2=25W,PL1=25W,Dx=D5,PeciPsysPL1=15W,Peci PsysPL2=15W)写入CPU。如果电池温度≤8℃且RSOC<15%,则将第二列策略的值(即PL4=10W,PL2=10W,PL1=10W,Dx=D5,Peci PsysPL1=11W,Peci PsysPL2=11W)写入CPU,以此类推。可以理解,在电子设备运行过程中,如果电池温度或RSOC发生了变化,则电子设备可以将状态变化后对应的策略的值写入CPU,即动态调整电子设备的功耗参数,使电池安全放电。
上述功耗调整方法,电子设备可以在检测到电源适配器的拔出事件后,可以根据电池状态采用不同的功耗调整策略,在电池状态良好的情况下分阶降低电子设备的功耗,使电子设备的功耗缓慢下降,避免功耗骤然下降引起的设备卡顿现象;在电池状态不良好的情况下优先考虑电池放电安全,保证电子设备的正常运行。
在电子设备的电源适配器拔出之后,即电子设备处于DC模式,开始使用电池续航工作,此时电子设备的功耗已通过上述实施例的过程调整至DC模式下电子设备的默认功耗。而在用户实际使用过程中,可能会有不同功耗需求的用户场景,例如有的用户场景具有高功耗需求,有的用户场景具有低功耗需求,有的用户场景具有长时间功耗需求等。如果在不同的用户场景中仍使用相同的功耗参数,可能无法满足不同的用户场景的性能需求。因此,本申请实施例还可以针对不同的用户场景制定不同的电池控制策略,如图7所示,该过程可以包括:
S301,在DC模式下,识别电子设备所处的用户场景。
其中,电子设备可以通过场景识别引擎识别所处的用户场景,具体的识别过程详见下述图11实施例的描述。
S302,若用户场景为第一场景,则根据第一电池控制策略调整功耗参数的值。
其中,第一场景可以为高功耗需求的用户场景,该用户场景对功耗需求较高,例如打开大内存文件的场景,在低功耗环境下打开文件的速度通常较慢,容易影响用户体验。因此,电子设备就需要将功耗参数的值进行调整,例如可以采用第一电池控制策略调整功耗参数的值。示例性地,第一电池控制策略可以如表3所示。
表3
第一电池控制策略 | 第四策略 | |
PL4 | 105W | 105W |
PL2 | 95W | 95W |
PL1 | 50W | 35W |
Dx Notify | D2 | D2 |
Peci PsysPL1 | 100W | 65W |
Peci PsysPL2 | 100W | 75W |
CPU turbo | N/A | N/A |
需要说明的是,表3仅示出了一个第二电池控制策略的示例,电子设备还可配置与表3不同的调整策略,在此不做具体限制。
由表3可知,相对于DC模式下电子设备的默认功耗(即第四策略)来说,CPU的PL1、整机的Peci PsysPL1和Peci PsysPL2都有所提高,可以使电子设备在第一场景下正常运行。
S303,若用户场景为第二场景,则根据第二电池控制策略调整功耗参数的值。
其中,第二场景可以为功耗需求低于第一场景的用户场景,且该用户场景具有长时间的功耗需求,例如程序编译的场景,一般需要十几或几十分钟。因此,电子设备也需要将功耗参数的值进行调整,例如可以采用第二电池控制策略调整功耗参数的值;一般地,第二电池控制策略对应的功耗低于第一电池控制策略对应的功耗。示例性地,第二电池控制策略可以如表4所示。
表4
第二电池控制策略 | 第四策略 | |
PL4 | 105W | 105W |
PL2 | 95W | 95W |
PL1 | 50W | 35W |
Dx Notify | D2 | D2 |
Peci PsysPL1 | 85W | 65W |
Peci PsysPL2 | 85W | 75W |
CPU turbo | N/A | N/A |
需要说明的是,表4仅示出了一个第二电池控制策略的示例,电子设备还可配置与表4不同的调整策略,在此不做具体限制。
由表4可知,相对于DC模式下电子设备的默认功耗(即第四策略)来说,整机的PeciPsysPL1和Peci PsysPL2都有所提高,但相对于上述第一电池控制策略来说,整机的PeciPsysPL1和Peci PsysPL2稍低。也即是说,第二场景需要的功耗低于第一场景需要的功耗,且高于DC模式下电子设备的默认功耗,确保电子设备在第二场景下正常运行。
可以理解,电子设备在第一场景或者第二场景下运行的过程中,可以继续进行用户场景的识别,在识别到用户场景发生变化时,可以根据实际场景在第一电池控制策略和第二电池控制策略之间进行切换。
还可以理解,在DC模式下,电子设备使用电池工作时,电池状态会不断发生变化,例如RSOC下降或电池温度上升等。因此,电子设备在识别用户场景之后,如果确定需要调整功耗参数的值,可以先判断电池状态是否满足第一条件,在满足第一条件的情况下再进行调整,如图8所示,该过程可以包括:
S401,在DC模式下,识别电子设备所处的用户场景。
其中,电子设备可以通过场景识别引擎识别所处的用户场景,具体的识别过程详见下述图11实施例的描述。
S402,若用户场景为第一场景且电池状态满足第一条件,则根据第一电池控制策略调整功耗参数的值。
S403,若用户场景为第二场景且电池状态满足第一条件,则根据第二电池控制策略调整功耗参数的值。
该第一条件与上述实施例中的第一条件相同。示例性地,第一条件可以包括:15℃≤电池温度≤50℃且RSOC≥20%。即电子设备的电池状态良好的情况下,才触发根据第一电池控制策略或第二电池控制策略调整功耗参数的值,以避免影响到电池安全放电。可选地,电子设备可以通过电源状态探针来获取电池状态。
在该实施例中,在第一场景下根据第一电池控制策略调整功耗参数的值之后,电子设备在高功耗环境下运行,如果运行时间过长,可能会对电池造成损坏,或者,在第二场景下根据第二电池控制策略调整功耗参数的值之后,电池状态发生变化可能无法再支撑当前场景。针对这些异常情况,电子设备还可以进行实时监测或者定时开关,重新调整功耗参数的值。如图9所示,该过程可以包括:
S501,在DC模式下,识别电子设备所处的用户场景。
S502,若用户场景为第一场景且电池状态满足第一条件,则根据第一电池控制策略调整功耗参数的值,同时开始计时。
S503,若用户场景为第二场景且电池状态满足第一条件,则根据第二电池控制策略调整功耗参数的值。
其中,S501至S503的步骤可参见上述S401至S403的步骤,不同之处在于,S502中根据第一电池控制策略调整功耗参数的值时,同时开始计时,以供后续根据计时时长调整功耗参数的值。
S504,在第一场景下,若计时达到第二预设时长,或者电池状态不满足第一条件,或者用户场景发生变化,则根据第二电池控制策略调整功耗参数的值。
也即是说,在第一场景下根据第一电池控制策略调整功耗参数的值之后,电子设备开始实时监测,如果上述计时达到第二预设时长(例如10秒),说明已在高功耗环境下运行了一段时间,不能再持续高功耗运行了,需要降低功耗。或者,电池状态不满足第一条件,说明电池已支撑不了高功耗环境,也需要降低功耗。再或者,电子设备的用户场景发生变化,已不再是第一场景,对功耗的需求有所降低,则也可以降低功耗。因此,当这几种情况出现任意一种时,电子设备便可以根据第二电池控制策略调整功耗参数的值。可以理解,电子设备在第一电池控制策略下运行的场景也可称为短时超放场景,即短时间高功耗运行。
S505,在以第二电池控制策略运行的情况下,若接收到第一指令,或者电池状态不满足第一条件,则调整至DC模式下电子设备的默认功耗。
因电子设备在第二电池控制策略下对应的功耗也高于DC模式下电子设备的默认功耗,如果长时间运行的话会导致电池放电过快,因此,电子设备在检测到电池状态不满足第一条件时,可以将功耗调整回DC模式下电子设备的默认功耗。或者,电子设备接收到第一指令时,也可以将功耗调整回DC模式下电子设备的默认功耗,这里的第一指令可以为用户在PC管家应用程序中输入的指令,也可以为PC管家应用程序自动生成的指令,目的在于使电子设备退出当前的场景识别过程,返回DC模式下的默认功耗。可以理解,电子设备在第二电池控制策略下运行的场景也可称为长时超放场景,即长时间高功耗运行。
还可以理解,如果在以第二电池控制策略运行的情况下,电子设备识别到用户场景又变化为了第一场景,则可以再将第二电池控制策略切换为第一电池控制策略。
上述实施例中,电子设备可以识别所处的用户场景,根据不同的用户场景采用不同的电池控制策略,以提高电子设备的处理性能。并且,在不同的用户场景下,电子设备还可以实时监测电池状态等因素,及时调整功耗参数,进一步提高处理性能以及保证电池放电安全。
对于图9所示的实施例,结合上述图3的软件架构,下面再以一个实施例介绍本申请实施例提供的功耗调整方法,如图10所示,具体可以包括:
S21,在DC模式下,场景识别引擎识别电子设备所处的用户场景。
其中,场景识别引擎所识别确定的用户场景可以用场景标识来表示,场景标识可以包括场景号或场景名称,可以理解,不同的用户场景可以对应于不同的场景号。
在一个实施例中,场景识别引擎识别电子设备所处的用户场景的过程可以参见下图11中的描述。
S22,场景识别引擎将用户场景的场景标识发送至调度引擎。
S23,调度引擎根据用户场景的场景标识确定电池控制策略。
其中,调度引擎中可以存储不同场景标识与不同策略号之间的对应关系,那么便可以根据当前用户场景的场景标识和该对应关系,确定当前要采用的电池控制策略的策略号。
示例性地,若场景标识为第一场景的标识,则调度引擎确定要采用的是第一电池控制策略,即获取到第一电池控制策略的策略号;若场景标识为第二场景的标识,则调度引擎确定要采用的是第二电池控制策略,即获取到第二电池控制策略的策略号。
在一个实施例中,调度引擎除了根据用户场景的场景标识确定电池控制策略之外,还可以再结合系统负载确定电池控制策略。
示例性地,负载管控器可将系统负载划分为三个等级,分别为轻负载、中负载、重负载,调度引擎根据用户场景和系统负载确定电池控制策略的对应关系可以如表5所示。
表5
需要说明的是,表5仅示出了部分用户场景及其对应的调整策略,电子设备还可配置比表5更多的调整策略,在此不做具体限制。
S24,调度引擎将电池控制策略的策略号发送至BIOS。
若场景标识为第一场景的标识,调度引擎将第一电池控制策略的策略号发送至BIOS;若场景标识为第二场景的标识,调度引擎将第二电池控制策略的策略号发送至BIOS。
可以理解,调度引擎可以以WMI命令形式将电池控制策略发送给BIOS。
S25,BIOS将电池控制策略的策略号发送给EC。
S26,EC判断电池状态是否满足第一条件,若是执行S27,若否流程结束。
即,EC在接收到BIOS发送的电池控制策略后,表示接到命令需要调整功耗参数。此时,EC可以获取电池状态,判断电池状态是否满足第一条件,如果不满足第一条件则不调整功耗参数,结束流程,以保护电池放电安全。如果满足第一条件则执行下述S27的过程。
S27,EC将策略号对应的功耗参数的值写入CPU。
若策略号为第一电池控制策略的策略号,则EC将第一电池控制策略的值写入CPU,若策略号为第二电池控制策略的策略号,则EC将第二电池控制策略的值写入CPU。
S28,在EC将第一电池控制策略的值写入CPU的情况下,EC同时开始计时。
S29,若计时达到第二预设时长,或者电池状态不满足第一条件,或者用户场景发生变化,EC将第二电池控制策略的值写入CPU。
可以理解,在电子设备运行过程中,上述场景识别引擎可以实时识别电子设备所处的用户场景,并通过调度引擎和BIOS下发至EC,那么EC便可以获知用户场景是否发生了变化。在该步骤中任一条件满足时,说明电子设备不需要再在高功耗环境下运行,则EC可以对功耗参数进行调整。
S30,在EC将第二电池控制策略的值写入CPU的情况下,若EC接收到第一指令,或者电池状态不满足第一条件,则EC将DC模式下默认功耗的值写入CPU。
可以理解,该步骤中任一条件满足时,说明电子设备不需要再根据用户场景调整功耗参数的值,则EC可以触发CPU返回DC模式下的默认功耗。
还可以理解,在EC调整了CPU的功耗参数后,还可以将功耗调整成功的消息返回至BIOS,再由BIOS传输给上层应用。
上述实施例中,场景识别引擎可以识别所处的用户场景,使EC根据不同的用户场景采用不同的电池控制策略,以提高电子设备的处理性能。并且,在不同的用户场景下,EC还可以实时监测电池状态等因素,及时调整功耗参数,进一步提高处理性能以及保证电池放电安全。
在一个实施例中,对于上述电子设备识别所处的用户场景的过程,可以参见下述图11所示,具体可以包括:
S41、系统探针模块向OsEventDriver节点发送订阅进程创建事件的请求。
如上述图3所示的实施例,场景识别引擎可以包括系统探针模块,可选地,系统探针模块还可以包括系统事件探针。在本申请实施例中,可以由系统事件探针向位于执行体层的OsEventDriver节点发送订阅进程创建事件的请求。其中,订阅进程创建事件的请求也可以称为第一请求。
在一种可选的实施方式中,订阅进程创建事件的请求可以携带有进程名称。即场景识别引擎可以仅订阅指定进程的创建事件,减少不相干进程的创建事件的干扰。例如,指定进程可以为视频应用的进程、游戏应用的进程、办公应用的进程、社交应用的进程等等。当然,在其他实施方式中,场景识别引擎也可以不对订阅的进程创建事件做出限制。
S42、OsEventDriver节点向进程管理器发送订阅进程创建事件的请求。
进程创建事件的请求可以参考S41的描述,在此不做赘述。
也就是说,场景识别引擎的系统事件探针可以通过OsEventDriver节点向进程管理器发送订阅进程创建事件的请求。
可以理解地,OsEventDriver节点会向进程管理器注册一个回调,注册该回调的作用是当进程管理器创建进程后,可以向OsEventDriver节点返回该进程创建事件。
S43、系统探针模块向OsEventDriver节点发送订阅GPU解码事件的请求。
可选地,系统探针模块还可以包括音视频状态探针。在本申请实施例中,可以由系统探针模块的音视频状态探针向OsEventDriver节点发送订阅GPU解码事件的请求。其中,订阅GPU解码事件的请求也可以称为第三请求。
S44、OsEventDriver节点向显卡驱动发送订阅GPU解码事件的请求。
也就是说,场景识别引擎的音视频状态探针可以通过OsEventDriver节点向显卡驱动发送订阅GPU解码事件的请求。同样地,OsEventDriver节点可向显卡驱动注册一个回调,注册该回调的作用是当显卡驱动监控到GPU进行解码操作后,可以向OsEventDriver节点返回该GPU解码事件。
S45、系统探针模块向API模块发送订阅焦点窗口变化事件的请求。
API模块可包括由user32.dll实现的Windows用户界面接口,该接口可用于创建窗口。在一种可选的实施方式中,可以由系统探针模块的系统事件探针向API模块的Windows用户界面接口发送订阅焦点窗口变化事件的请求。其中,订阅焦点窗口变化事件的请求也可以称为第二请求。
同样地,该系统事件探针可向API模块注册一个回调,注册该回调的作用是当API模块(的Windows用户界面接口)监控到焦点窗口发生变化时,可以向系统事件探针返回该焦点窗口变化事件。
焦点窗口为拥有焦点的窗口,大概率为用户当前需要使用的窗口。因此,通过监控焦点窗口,可以确定用户的使用需求。例如,焦点窗口为视频应用的窗口,则表明用户需求浏览、播放视频。又例如,焦点窗口为游戏应用的窗口,则表明用户需求打游戏。通过监控焦点窗口是否发生变化,可以确定用户需求是否发生改变。例如,焦点窗口由视频应用的窗口变为游戏应用的窗口,则表明用户当前的需求由看视频变成了打游戏。可以理解,若焦点窗口发生了变化,即用户需求发生了变化,也可确定是当前的用户场景发生了变化。
需要说明的是,上述S41、S43及S45之间没有严格的先后顺序,其可以按照图11中所示的顺序依次执行,也可以同时执行,也可以按照S43、S41、S45的顺序依次执行、按照S43、S45、S41的顺序依次执行、按照S45、S41、S43的顺序依次执行或者按照S45、S43、S41的顺序依次执行。
上述系统探针模块已经订阅了各种事件的请求后,系统探针模块便可以监听各种用户场景事件。下面以电子设备的用户场景为视频场景为例进行描述。
S46、响应于接收到用户开启视频应用的操作,视频应用向进程管理器发送创建进程请求。
其中,创建进程请求包括视频应用程序的存储地址。
可选地,视频应用可以通过API模块的kernel32.dll接口及Ntdll.dll接口向进程管理器发送创建进程的请求(图未示)。
S47、进程管理器创建视频应用进程。
具体的,进程管理器可以通过该存储地址查询到视频应用程序的二进制文件。通过加载视频应用程序的二进制文件,可以创建进程运行的环境,启动视频应用进程。
其中,Windows操作系统将一个应用程序的一次运行定义为一个进程。一个进程可以拥有多个线程。窗口是窗口结构的实例,是一种图形用户界面(graphical userinterface,GUI)资源,窗口是由线程创建的,线程可以拥有它所创建的所有窗口。在本申请实施例中,电子设备运行视频应用,则进程管理器需创建该视频应用的进程,即视频应用进程(即第一进程)。视频应用进程包括多个线程,多个线程包括线程1,线程1可用于创建视频应用的主窗口,主窗口为集成有视频应用全部功能按键的窗口。
S48、进程管理器向OsEventDriver节点上报进程创建事件。
其中,进程创建事件可包括进程管理器所创建的进程的名称。在本申请实施例中,该进程的名称为视频应用进程的名称。当然,若进程管理器创建的是其他应用的进程,该进程的名称也对应为其他应用进程的名称。
前文已经说明,OsEventDriver节点向进程管理器发送了订阅进程创建事件的请求,且注册了回调。因此,进程管理器在创建视频应用进程后可向OsEventDriver节点上报进程创建事件。
S49、OsEventDriver节点向系统探针模块上报进程创建事件。
其中,关于进程创建事件的描述见S48,在此不再赘述。
在本申请实施例中,该OsEventDriver节点可向系统探针模块的系统事件探针上报该进程创建事件。
S50、系统探针模块向场景识别模块发送进程创建事件。
S51、响应于线程1的调用请求,API模块创建窗口1。
进程管理器创建视频应用进程后,视频应用进程的线程1主动调用API模块的Windows用户界面接口创建窗口1。示例性的,如图12中的(a)所示,电子设备可以显示窗口1201,该窗口1201为办公界面。电子设备可以接收用户点击桌面上视频应用的图标1202的操作,响应于该操作,如图12中的(b)所示,电子设备显示窗口1203(即窗口1,也可以称为第一窗口)。在上述过程中,焦点窗口由原本的窗口1201变为窗口1203。
S52、API模块向系统探针模块上报焦点窗口事件。
在本申请实施例中,API模块的Windows用户界面接口创建窗口1后,可以获取第一进程(即焦点进程)的名称及第二进程的名称,第一进程为当前的焦点窗口(即窗口1)对应的进程,第二进程为上一个焦点窗口(例如,窗口2)对应的进程。示例性的,窗口1对应的进程为视频应用进程(第一进程),该进程的名称例如为hlive.exe,窗口2对应的进程为办公应用进程(第二进程),该进程的名称例如为word.exe。由于第一进程的名称与第二进程的名称不一致,API模块确定焦点窗口发生变化,向系统探针模块的系统事件探针上报焦点窗口事件。其中,焦点窗口变化事件包括第一进程(即焦点进程)的名称。示例性的,第一进程为视频应用进程,焦点窗口变化事件携带有视频应用进程的名称。
需要说明的是,在电子设备已经启动视频应用的情况下,电子设备可以不用执行S46~S51。在系统探针模块向API模块发送订阅焦点窗口变化事件的请求后,若用户将焦点窗口切换为视频应用的窗口,API模块同样可以检测到焦点窗口发生变化,并向系统探针模块上报焦点窗口事件。
S53、系统探针模块向场景识别模块发送焦点窗口事件。
S54、场景识别模块确定第一进程所属的类型为视频类。
电子设备可以预先配置有应用名单,场景识别模块可以查询应用名单中是否包括第一进程。若应用名单中包括第一进程,场景识别模块可以确定第一进程所属的类型。其中,应用名单包括每个应用的进程名称及应用所属的类型。示例性的,应用名单可以如表6所示:
表6
应用 | 进程名称 | 类型 |
视频 | hlive.exe | 视频类 |
Word | word.exe | 办公类 |
射击游戏 | shot.exe | 游戏类 |
微信 | wechat.exe | 社交类 |
…… | …… | …… |
例如,第一进程的名称为hlive.exe,则场景识别模块可以确定第一进程所属的类型为视频类。又例如,第一进程的名称为wechat.exe,则场景识别模块可以确定第一进程所属的类型为社交类。需要说明的是,上述表6仅作为示例,实际上表6还可包括更多应用的进程名称及其所属的类型。
需要说明的是,此步骤的目的在于初步判断电子设备所处的用户场景。电子设备所处的用户场景可包括视频场景、游戏场景、社交场景、办公场景、浏览器场景等等。其中,视频场景进一步可包括视频播放场景、视频浏览场景。社交场景进一步可包括文字聊天场景、语音聊天场景、视频聊天场景等。办公场景进一步可包括文档编辑场景、文档浏览场景、视频会议场景等。浏览器场景可包括浏览网页场景及播放视频场景等。
在本步骤中,通过第一进程所属的类型,可以确定电子设备所处的用户场景的类型。例如,若确定第一进程所属的类型为视频类,则可以确定电子设备处于视频场景;又例如,若确定第一进程所属的类型为游戏类,则可以确定电子设备处于游戏场景。
通过上述图11所示的过程,电子设备便可以确定当前所处的用户场景,进而可以根据不同的用户场景调度不同的电池控制策略,以提高电子设备的处理性能。
上文详细介绍了本申请实施例提供的功耗调整方法的示例。可以理解的是,电子设备为了实现上述功能,其包含了执行各个功能相应的硬件和/或软件模块。本领域技术人员应该很容易意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,本申请能够以硬件或硬件和计算机软件的结合形式来实现。某个功能究竟以硬件还是计算机软件驱动硬件的方式来执行,取决于技术方案的特定应用和设计约束条件。本领域技术人员可以结合实施例对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
本申请实施例可以根据上述方法示例对电子设备进行功能模块的划分,例如,可以对应各个功能划分为各个功能模块,例如检测单元、处理单元、显示单元等,也可以将两个或两个以上的功能集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。需要说明的是,本申请实施例中对模块的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
需要说明的是,上述方法实施例涉及的各步骤的所有相关内容均可以援引到对应功能模块的功能描述,在此不再赘述。
本实施例提供的电子设备,用于执行上述功耗调整方法,因此可以达到与上述实现方法相同的效果。
在采用集成的单元的情况下,电子设备还可以包括处理模块、存储模块和通信模块。其中,处理模块可以用于对电子设备的动作进行控制管理。存储模块可以用于支持电子设备执行存储程序代码和数据等。通信模块,可以用于支持电子设备与其他设备的通信。
其中,处理模块可以是处理器或控制器。其可以实现或执行结合本申请公开内容所描述的各种示例性的逻辑方框,模块和电路。处理器也可以是实现计算功能的组合,例如包含一个或多个微处理器组合,数字信号处理和微处理器的组合等等。存储模块可以是存储器。通信模块具体可以为射频电路、蓝牙芯片、Wi-Fi芯片等与其他电子设备交互的设备。
在一个实施例中,当处理模块为处理器,存储模块为存储器时,本实施例所涉及的电子设备可以为具有图1所示结构的设备。
本申请实施例还提供了一种计算机可读存储介质,计算机可读存储介质中存储了计算机程序,当计算机程序被处理器执行时,使得处理器执行上述任一实施例的功耗调整方法。
本申请实施例还提供了一种计算机程序产品,当该计算机程序产品在计算机上运行时,使得计算机执行上述相关步骤,以实现上述实施例中的功耗调整方法。
另外,本申请的实施例还提供一种装置,这个装置具体可以是芯片,组件或模块,该装置可包括相连的处理器和存储器;其中,存储器用于存储计算机执行指令,当装置运行时,处理器可执行存储器存储的计算机执行指令,以使芯片执行上述各方法实施例中的功耗调整方法。
其中,本实施例提供的电子设备、计算机可读存储介质、计算机程序产品或芯片均用于执行上文所提供的对应的方法,因此,其所能达到的有益效果可参考上文所提供的对应的方法中的有益效果,此处不再赘述。
通过以上实施方式的描述,所属领域的技术人员可以了解到,为描述的方便和简洁,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个装置,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是一个物理单元或多个物理单元,即可以位于一个地方,或者也可以分布到多个不同地方。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个可读取存储介质中。基于这样的理解,本申请实施例的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该软件产品存储在一个存储介质中,包括若干指令用以使得一个设备(可以是单片机,芯片等)或处理器(processor)执行本申请各个实施例方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(read only memory,ROM)、随机存取存储器(random access memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上内容,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以权利要求的保护范围为准。
Claims (13)
1.一种功耗调整方法,其特征在于,所述方法由电子设备执行,包括:
在检测到第一事件的情况下,获取第一功耗调整策略,所述第一事件表征所述电子设备的电源适配器被拔出,所述第一功耗调整策略包括N组策略,其中,第i+1组策略对应的功耗小于第i组策略对应的功耗,且第N组策略对应的功耗为所述电子设备在电源适配器被拔出后的预设功耗,所述N≥2,i≥1;
根据所述第一功耗调整策略中的N组策略,从第1组策略开始依次调整功耗参数的值,直至调整至所述第N组策略对应的功耗,所述功耗参数包括与所述电子设备的功耗相关的参数和/或与CPU的功耗相关的参数。
2.根据权利要求1所述的方法,其特征在于,所述根据所述第一功耗调整策略中的N组策略,从第1组策略开始依次调整功耗参数的值,直至调整至所述第N组策略对应的功耗,包括:
根据所述第1组策略调整所述功耗参数的值;
在第一预设时长之后,根据第2组策略调整所述功耗参数的值,以此类推,直至根据所述第N组策略调整所述功耗参数的值。
3.根据权利要求1或2所述的方法,其特征在于,所述在检测到第一事件的情况下,获取第一功耗调整策略,包括:
在检测到所述第一事件的情况下,获取所述电子设备的电池状态,所述电池状态包括电池温度和/或电池电量百分比RSOC;
若所述电池状态满足第一条件,则获取所述第一功耗调整策略,所述第一条件包括所述电池温度位于预设的温度范围内,和/或,所述RSOC位于预设的电量百分比范围内。
4.根据权利要求3所述的方法,其特征在于,所述方法还包括:
若所述电池状态不满足第一条件,则获取所述电池状态对应的第二功耗调整策略,以及根据所述第二功耗调整策略调整所述功耗参数的值。
5.根据权利要求1至4中任一项所述的方法,其特征在于,在检测到第一事件的情况下,所述方法还包括:
获取第三功耗调整策略,所述第三功耗调整策略包括M组策略,其中,第j+1组策略对应的CPU能效比EPP大于第j组策略对应的EPP,且第M组策略对应的EPP为所述电子设备在电源适配器被拔出后的预设EPP,所述M≥2,j≥1;
根据所述第三功耗调整策略,从第1组策略开始依次调整EPP的值,直至调整至所述第M组策略对应的EPP。
6.根据权利要求1至5中任一项所述的方法,其特征在于,所述第一事件包括所述电源适配器与嵌入式控制器EC之间的管脚GPIO发出的电平信号变化事件。
7.根据权利要求1至6中任一项所述的方法,其特征在于,在调整至所述第N组策略对应的功耗之后,所述方法还包括:
识别所述电子设备处理的业务所对应的用户场景;
若所述用户场景为第一场景,则根据第一电池控制策略调整功耗参数的值;
若所述用户场景为第二场景,则根据第二电池控制策略调整功耗参数的值,其中,所述电子设备在处理所述第一场景对应的业务时所需的功耗大于在处理所述第二场景对应的业务时所需的功耗,所述第一电池控制策略对应的功耗大于所述第二电池控制策略对应的功耗,所述第二电池控制策略对应的功耗大于所述电子设备在电源适配器被拔出后的预设功耗。
8.根据权利要求7所述的方法,其特征在于,所述若所述用户场景为第一场景,则根据第一电池控制策略调整功耗参数的值,包括:
若所述用户场景为第一场景且所述电子设备的电池状态满足第一条件,则根据第一电池控制策略调整功耗参数的值;
相应的,所述若所述用户场景为第二场景,则根据第二电池控制策略调整功耗参数的值,包括:
若所述用户场景为第二场景且所述电子设备的电池状态满足第一条件,则根据第二电池控制策略调整功耗参数的值。
9.根据权利要求8所述的方法,其特征在于,在所述根据第一电池控制策略调整功耗参数的值之后,所述方法还包括:
在经过第二预设时长,或者所述电池状态不满足第一条件,或者所述用户场景发生变化的情况下,根据第二电池控制策略调整功耗参数的值。
10.根据权利要求8或9所述的方法,其特征在于,在所述根据第二电池控制策略调整功耗参数的值之后,所述方法还包括:
在接收到第一指令,或者所述电池状态不满足第一条件的情况下,根据所述电子设备在电源适配器被拔出后的预设功耗调整功耗参数的值,所述第一指令指示所述电子设备停止识别用户场景。
11.根据权利要求7至10中任一项所述的方法,其特征在于,所述识别所述电子设备处理的业务所对应的用户场景,包括:
获取所述电子设备当前显示的第一窗口对应的第一进程的进程信息及第一信息,所述第一信息包括以下信息中的至少一种:所述第一进程的GPU占用信息、外设事件信息或电源模式信息;
根据所述第一进程的进程信息及所述第一信息确定所述用户场景。
12.一种电子设备,其特征在于,包括:
一个或多个处理器;
一个或多个存储器;
所述存储器存储有一个或多个程序,当所述一个或多个程序被所述处理器执行时,使得所述电子设备执行如权利要求1至11中任一项所述的方法。
13.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储了计算机程序,当所述计算机程序被处理器执行时,使得所述处理器执行权利要求1至11中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310361490.7A CN117130454B (zh) | 2023-03-31 | 2023-03-31 | 功耗调整方法和电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310361490.7A CN117130454B (zh) | 2023-03-31 | 2023-03-31 | 功耗调整方法和电子设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN117130454A true CN117130454A (zh) | 2023-11-28 |
CN117130454B CN117130454B (zh) | 2024-07-05 |
Family
ID=88849723
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310361490.7A Active CN117130454B (zh) | 2023-03-31 | 2023-03-31 | 功耗调整方法和电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117130454B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117743127A (zh) * | 2024-02-09 | 2024-03-22 | 广州紫麦科技有限公司 | 笔记本电脑的功耗数据分析方法及系统 |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102360244A (zh) * | 2011-09-28 | 2012-02-22 | 深圳市卓怡恒通电脑科技有限公司 | 用于延长电脑待机时间的待机方法 |
CN103605421A (zh) * | 2013-11-25 | 2014-02-26 | 浪潮电子信息产业股份有限公司 | 一种便携式计算机功耗最小化的设计方法 |
CN106502369A (zh) * | 2016-10-28 | 2017-03-15 | 青岛海信电器股份有限公司 | 功耗管理方法及设备 |
US20180373307A1 (en) * | 2015-07-31 | 2018-12-27 | Beijing Kingsoft Internet Security Software Co., Ltd. | Processing method and device for saving power, mobile terminal and cloud server |
CN111522425A (zh) * | 2019-02-02 | 2020-08-11 | 华为技术有限公司 | 一种电子设备的功耗控制方法及电子设备 |
CN113691722A (zh) * | 2021-08-05 | 2021-11-23 | 浙江大华技术股份有限公司 | 一种控制方法、装置及电子设备 |
CN114443256A (zh) * | 2022-04-07 | 2022-05-06 | 荣耀终端有限公司 | 资源调度方法及电子设备 |
CN114895768A (zh) * | 2022-05-23 | 2022-08-12 | 联想(北京)有限公司 | 一种信息处理方法、装置和电子设备 |
WO2022246759A1 (zh) * | 2021-05-27 | 2022-12-01 | 华为技术有限公司 | 一种功耗调节方法及装置 |
-
2023
- 2023-03-31 CN CN202310361490.7A patent/CN117130454B/zh active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102360244A (zh) * | 2011-09-28 | 2012-02-22 | 深圳市卓怡恒通电脑科技有限公司 | 用于延长电脑待机时间的待机方法 |
CN103605421A (zh) * | 2013-11-25 | 2014-02-26 | 浪潮电子信息产业股份有限公司 | 一种便携式计算机功耗最小化的设计方法 |
US20180373307A1 (en) * | 2015-07-31 | 2018-12-27 | Beijing Kingsoft Internet Security Software Co., Ltd. | Processing method and device for saving power, mobile terminal and cloud server |
CN106502369A (zh) * | 2016-10-28 | 2017-03-15 | 青岛海信电器股份有限公司 | 功耗管理方法及设备 |
CN111522425A (zh) * | 2019-02-02 | 2020-08-11 | 华为技术有限公司 | 一种电子设备的功耗控制方法及电子设备 |
WO2022246759A1 (zh) * | 2021-05-27 | 2022-12-01 | 华为技术有限公司 | 一种功耗调节方法及装置 |
CN113691722A (zh) * | 2021-08-05 | 2021-11-23 | 浙江大华技术股份有限公司 | 一种控制方法、装置及电子设备 |
CN114443256A (zh) * | 2022-04-07 | 2022-05-06 | 荣耀终端有限公司 | 资源调度方法及电子设备 |
CN114895768A (zh) * | 2022-05-23 | 2022-08-12 | 联想(北京)有限公司 | 一种信息处理方法、装置和电子设备 |
Non-Patent Citations (2)
Title |
---|
姜仲秋;刘长荣;张跃;郑屹帆;: "面向国产UniCore的安卓系统动态变频低功耗策略", 微电子学, no. 03, 20 June 2013 (2013-06-20) * |
褚超强;马德;罗小华;: "一种自适应的动态功耗管理系统", 电子技术, no. 01, 25 January 2016 (2016-01-25) * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117743127A (zh) * | 2024-02-09 | 2024-03-22 | 广州紫麦科技有限公司 | 笔记本电脑的功耗数据分析方法及系统 |
CN117743127B (zh) * | 2024-02-09 | 2024-05-14 | 广州紫麦科技有限公司 | 笔记本电脑的功耗数据分析方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN117130454B (zh) | 2024-07-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN115599513B (zh) | 资源调度方法及电子设备 | |
US20210389973A1 (en) | Electronic device and method for operating the same | |
WO2018082412A1 (zh) | 电子设备控制方法、装置及电子设备 | |
CN116028205B (zh) | 资源调度方法和电子设备 | |
WO2018129991A1 (en) | Charging method, charging device and terminal | |
CN116028210B (zh) | 资源调度方法、电子设备及存储介质 | |
CN117130454B (zh) | 功耗调整方法和电子设备 | |
CN116027880B (zh) | 资源调度方法和电子设备 | |
CN116028207B (zh) | 调度策略确定方法、装置、设备和存储介质 | |
CN116025580B (zh) | 调节风扇转速的方法和电子设备 | |
WO2023221752A1 (zh) | 信息处理方法和电子设备 | |
CN116028211B (zh) | 显卡调度方法、电子设备和计算机可读存储介质 | |
CN107391254B (zh) | 智能终端及其资源配置方法、计算机可读存储介质 | |
CN116069209A (zh) | 焦点窗口处理方法、装置、设备和存储介质 | |
WO2021115257A1 (zh) | 应用切换方法、装置、存储介质及电子设备 | |
CN116028005B (zh) | 音频会话获取方法、装置、设备和存储介质 | |
CN116055443B (zh) | 识别社交场景的方法、电子设备及计算机可读存储介质 | |
CN108958829B (zh) | 预加载的资源控制方法、装置、存储介质及终端 | |
CN116028208B (zh) | 系统负载确定方法、装置、设备和存储介质 | |
CN116089055B (zh) | 资源调度方法和装置 | |
CN116028209B (zh) | 资源调度方法、电子设备及存储介质 | |
CN116027878B (zh) | 功耗调整方法和电子设备 | |
CN117270670B (zh) | 一种功耗控制方法及电子设备 | |
WO2024093491A9 (zh) | 一种性能调控方法及电子设备 | |
CN116028206A (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 |