降低3d工作负荷的功率的制作方法
【专利摘要】此处呈现了可以降低负责向显示器提供由在系统内执行的应用程序所生成的视频数据的帧的系统的工作负荷的各实施例。在系统内执行的应用程序可以以被称为帧每秒(FPS)的指定的帧速率生成视频内容的新帧。CPU和/或GPU可以负责以指定的FPS实际生成帧。然后,这些帧被提供给与系统通信地耦合的显示器,供呈现。降低帧速率(FPS)可以降低由系统执行的工作量,因为在给定时间段内可以生成较少的帧。当系统正在以电池电源操作时,这可能特别有利,因为可以延长电池的寿命。
【专利说明】降低3D工作负荷的功率
[0001]背景
[0002]计算平台一般能够以直接电源操作或当直接电源不可用时以电池电源来操作。电池电源天然地是有限的资源,必须周期性地再充电。为用于当以电池电源操作时延长计算平台的操作时间的方法和技术花费了大量的心思。许多计算平台在整个系统内使用中央处理单元(CPU)和图形处理单元(GPU)。一种用于降低整个系统的功率消耗并延长电池寿命的技术是当以电池电源操作时降低CPU和GPU操作的频率。此技术不一定会减少由CPU或GPU执行的工作量——相反地,它减慢工作被执行的速度。另一种方法可以是降低与在CPU或GPU上执行的应用程序相关联的实际工作负荷。相应地,需要改善的技术来解决这些及其他问题。
[0003]附图简述
[0004]图1示出了适用于实现本发明的各实施例的体系结构的框图。
[0005]图2示出了适用于实现本发明的各实施例的体系结构的另一框图。
[0006]图3示出了逻辑流程的一个实施例。
[0007]图4示出了逻辑流程的一个实施例。
[0008]图5示出了逻辑流程的一个实施例。
[0009]图6示出了可以适用于实现本发明的各实施例的系统的实施例。
[0010]图7示出了其中可以实现图6的系统的小形状因子设备的各实施例。
【具体实施方式】
[0011]此处呈现了可以降低负责向显示器提供由在系统或计算平台内执行的应用程序所生成的视频数据的帧的系统的工作负荷的各实施例。在系统内执行的应用程序可以以被称为巾贞每秒(frames per second:FPS)的定义的巾贞速率生成视频内容的新巾贞。应用程序可以能够支持多个定义的帧速率。CPU和/或GPU可以负责以指定的FPS实际生成帧。然后,这些帧被提供给与系统通信地耦合的显示器,供呈现。降低帧速率(FPS)可以降低由系统执行的工作量,因为在给定时间段内可以生成更少的帧。当系统正在以电池电源操作时,这可能特别有利,因为可以延长电池的寿命。
[0012]现在将参考附图,全部附图中相同的参考编号用于表示相同的元件。在下面的描述中,为了进行说明,阐述了很多具体细节以便提供对本发明的全面理解。然而,显而易见,可以没有这些具体细节的情况下实施各新颖实施方式。在其他情况下,以框图形式示出了各个公知的结构和设备以便于描述本发明。本发明将涵盖落入所要求保护的主题的精神和范围内的所有修改、等效方案和替换方案。
[0013]图1示出了实现示例性计算平台的系统100。系统100可以包括表示为CPUllO的处理器电路、表示为GPU120的处理器电路,以及存储器125。应用程序130可以在CPUllO的控制和监控下执行。系统100还可以包括图形驱动器140。在操作中,应用程序可以调用图形驱动器140以呈现视频内容的帧155。然后,图形驱动器140可以处理向显示器160呈现帧155。帧呈现可以涉及或可以不涉及GPU120。系统100可以通过外部直流电(DC)源170或电池电源180来供电。图形驱动器140可操作用以判断系统100是通过外部DC电源170还是通过电池电源180来供电。系统100也可以与显示器160通信地耦合。
[0014]一旦图形驱动器140判断系统100正在以电池电源180操作,图形驱动器140就可以采取某些额外的步骤来降低系统100的工作负荷,以节省电池电量180。额外的步骤如下文更详细地描述的,并且可以在图形驱动器140向显示器160呈现帧155之前发生。
[0015]图1的系统100被示为集成到单个平台中。例如,CPUllO和GPU120可以在同一个处理器管芯上。图2示出了另一实施例,其中,CPUllO和GPU120不一定在同一个处理器管芯上。GPU120可以是,例如,与CPUllO通信地耦合的单独的图形处理卡。
[0016]图2的系统200类似于图1的系统100 —般性地操作。一个或多个应用程序130可以在CPUllO和存储器125的控制下执行。系统200还可以包括图形驱动器140。在操作中,应用程序130可以调用图形驱动器140以呈现视频内容的帧155。然后,图形驱动器140可以处理向显示器160呈现帧155。帧呈现可以涉及或可以不涉及GPU120。系统200可以通过外部直流电(DC)源170或电池电源180来供电。图形驱动器140可操作用以判断系统100是通过外部DC电源170还是通过电池电源180来供电。系统200也可以与显示器160通信地耦合。
[0017]一旦图形驱动器140判断系统100正在以电池电源180操作,图形驱动器140就可以采取某些额外的步骤来降低系统200的工作负荷,以节省电池电量180。额外的步骤如下文更详细地描述的,并可以在图形驱动器140向显示器160呈现帧155之前发生。
[0018]此处所包括的是一个或多个表示用于执行所公开的体系结构的新颖方面的示例性方法的流程图。尽管出于解释简明的目的,此处例如以流程图形式示出的一个或多个方法被示出并且描述为一系列动作,但是可以理解,各方法不受动作的次序的限制,因为根据本发明,某些动作可以按与此处所示并描述的不同的次序和/或与其他动作同时发生。例如,本领域的技术人员将明白并理解,方法可被替换地表示为一系列相互相关联的状态或事件,诸如以状态图的形式。此外,并非方法中所示出的所有动作都是新颖实现所必需的。
[0019]在一个实施例中,应用程序130可以调用图形驱动器140以呈现视频内容的帧155。在处理帧呈现之前,如果用于执行帧的时间小于定义的帧执行时间,则图形驱动器140可以将应用程序进程(例如,CPU线程)置于睡眠状态,其中定义的帧执行时间可以是最小帧执行时间。将应用程序进程置于睡眠状态达某一时间长度可以对可以执行的最大帧每秒(FPS)设上限(cap)。
[0020]上文所描述的实施例的伪代码可以如下所示:
[0021]
PrcscnlO
[0022]
【权利要求】
1.一种设备,包括: 处理器电路;以及 图形驱动器,所述图形驱动器在所述处理器电路上操作以执行应用程序,所述应用程序以与定义的帧速率执行时间相关联的定义的帧速率生成视频内容的帧,所述图形驱动器操作用以: 计算在前一帧和当前帧之间流逝的时间,以确定当前帧速率执行时间; 通过从所述定义的帧速率执行时间减去所述当前帧速率执行时间,来计算时间差;以及 当所述时间差大于O时,将与生成所述当前帧的所述应用程序相关联的处理器线程切换到睡眠状态。
2.如权利要求1所述的设备,其特征在于,所述图形驱动器可操作,以: 当所述时间差达到零(O)时,向显示器呈现所述当前帧。
3.如权利要求2所述的设备,其特征在于,包括: 与所述处理器电路通信地耦合的显示器,所述显示器操作用以呈现由所述图形驱动器呈现的所述当前帧。
4.如权利要求1所述的设备,其特征在于,包括耦合到所述处理器电路的电池,所述电池操作用以向所述处理器电路提供电能。
5.如权利要求1所述的设备,其特征在于,所述定义的帧速率是可由所述应用程序支持的最小帧速率。
6.—种设备,包括: 处理器电路;以及 图形驱动器,所述图形驱动器在所述处理器电路上操作以执行应用程序,所述应用程序以与定义的帧速率执行时间相关联的定义的帧速率生成视频内容的帧,所述图形驱动器操作用以: 计算在前一帧和当前帧之间流逝的时间,以确定当前帧速率执行时间; 选定在所述定义的帧速率执行时间和所述当前帧速率执行时间之间的缩短的帧速率执行时间; 通过从所述缩短的帧速率执行时间减去所述当前帧速率执行时间,来计算时间差;以及 当所述时间差大于零(O)时,将与生成所述当前帧的所述应用程序相关联的处理器线程切换到睡眠状态。
7.如权利要求6所述的设备,其特征在于,包括操作用以执行下列操作的所述图形驱动器: 当所述时间差达到零(O)时,向显示器呈现所述当前帧。
8.如权利要求7所述的设备,其特征在于,包括: 与所述图形驱动器通信地耦合的显示器,所述显示器操作用以呈现由所述图形驱动器呈现的所述当前帧。
9.如权利要求6所述的设备,其特征在于,包括操作用以给所述处理器电路提供电能的电池。
10.如权利要求6所述的设备,其特征在于,所述图形驱动器操作用以确定剩余电池电量的百分比水平。
11.如权利要求10所述的设备,其特征在于,所述图形驱动器操作用以当剩余电池电量的百分比水平低于阈值百分比水平时,将所述缩短的帧速率调节成更低。
12.如权利要求6所述的设备,其特征在于,所述定义的帧速率是可由所述应用程序支持的最小帧速率。
13.—种方法,包括: 在中央处理单元(CPU)上执行应用程序,所述应用程序操作用于以与定义的帧速率执行时间相关联的定义的帧速率生成视频内容的帧; 计算在前一帧和当前帧之间流逝的时间,以确定当前帧速率执行时间; 通 过从所述定义的帧速率执行时间减去所述当前帧速率执行时间,来计算时间差;以及 当所述时间差大于零(O)时,将与生成所述当前帧的所述应用程序相关联的CPU线程切换到睡眠状态。
14.如权利要求13所述的方法,其特征在于,包括: 只有当所述CPU正在以电池电源操作时,才将所述CPU线程切换到睡眠状态。
15.如权利要求13所述的方法,其特征在于,包括: 当所述时间差达到零(O)时,向显示器呈现所述当前帧。
16.如权利要求13所述的方法,其特征在于,所述定义的帧速率是可由所述应用程序支持的最小帧速率。
17.—种方法,包括: 在中央处理单元(CPU)上执行应用程序,所述应用程序操作用于以与定义的帧速率执行时间相关联的定义的帧速率生成视频内容的帧; 计算在前一帧和当前帧之间流逝的时间,以确定当前帧速率执行时间; 选定在所述定义的帧速率执行时间和所述当前帧速率执行时间之间的缩短的帧速率执行时间; 通过从所述缩短的帧速率执行时间减去所述当前帧速率执行时间,来计算时间差;以及 当所述时间差大于零(O)时,将与生成所述当前帧的所述应用程序相关联的CPU线程切换到睡眠状态。
18.如权利要求17所述的方法,其特征在于,包括: 只有当所述CPU正在以电池电源操作时,才将所述CPU线程切换到睡眠状态。
19.如权利要求17所述的方法,其特征在于,包括: 当所述时间差达到零(O)时,向显示器呈现所述当前帧。
20.如权利要求17所述的方法,其特征在于,包括: 当所述CPU正在以电池电源操作时,确定剩余电池电源的百分比水平。
21.如权利要求17所述的方法,其特征在于,包括: 当剩余电池电量的百分比水平低于阈值百分比水平时,将所述缩短的帧速率调节成更低。
22.如权利要求17所述的方法,其特征在于,所述定义的帧速率是可由所述应用程序支持的最小帧速率。
23.一种包括计算机可读存储介质的制品,所述计算机可读存储介质包含指令,当执行所述指令时,所述指令导致系统: 在处理器电路上执行应用程序,所述应用程序操作用于以与帧速率执行时间相关联的帧速率生成视频内容的帧; 确定当前帧速率执行时间; 确定所述当前帧速率执行时间和所述定义的帧速率执行时间之间的时间差;以及将与生成所述当前帧的所述应用程序相关联的CPU线程切换到睡眠状态达等于所述时间差的时段。
24.如权利要求23所述的制品,其特征在于,包含指令,所述指令在被执行时导致系统: 只有当所述处理器电路正在以电池电源操作时,才将所述CPU线程切换到睡眠状态。
25.如权利要求23所述的制品,其特征在于,包含指令,所述指令当执行时导致系统: 当所述时间差达到零(O)时,向显示器呈现所述当前帧。
26.如权利要求23 所述的制品,其特征在于,所述定义的帧速率是可由所述应用程序支持的最小帧速率。
27.一种包括计算机可读存储介质的制品,所述计算机可读存储介质包含指令,当执行所述指令时,所述指令导致系统: 在中央处理单元(CPU)上执行应用程序,所述应用程序操作用于以与定义的帧速率执行时间相关联的定义的帧速率生成视频内容的帧; 确定当前帧速率执行时间; 选定低于所述当前帧速率执行时间的缩短的帧速率执行时间; 确定所述当前帧速率执行时间和所述缩短的帧速率执行时间之间的时间差;以及将与生成所述当前帧的所述应用程序相关联的CPU线程切换到睡眠状态达等于所述时间差的时段。
28.如权利要求27所述的制品,其特征在于,包含指令,所述指令在被执行时导致系统: 只有当所述CPU正在以电池电源操作时,才将所述CPU线程切换到睡眠状态。
29.如权利要求27所述的制品,其特征在于,包含指令,所述指令在被执行时导致系统: 当所述时间差达到零(O)时,向显示器呈现所述当前帧。
30.如权利要求27所述的制品,其特征在于,包含指令,所述指令在被执行时导致系统: 当所述CPU正在以电池电源操作时,确定剩余电池电源的百分比水平。
31.如权利要求30所述的制品,其特征在于,包含指令,所述指令在被执行时导致系统: 当剩余电池电量的百分比水平低于阈值百分比水平时,将所述缩短的帧速率调节成更低。
32.如权 利要求27所述的制品,其特征在于,所述定义的帧速率是可由所述应用程序支持的最小帧速率。
【文档编号】G06F1/32GK103959197SQ201180075158
【公开日】2014年7月30日 申请日期:2011年11月30日 优先权日:2011年11月30日
【发明者】M·阿波达卡 申请人:英特尔公司