针对游戏工作负荷动态节流cpu频率的系统和方法_3

文档序号:9932599阅读:来源:国知局
帧。在另一示例中,帧的预定量可以大于或小于5帧。对于OpenGL ES工作负荷的5个连贯帧的滑动窗而言,游戏模式检测器412可跟踪要渲染的5个连贯帧中的每个帧的每GL绘制调用作出的平均GL调用量和要渲染的5个连贯帧中的每个帧的每GL绘制调用作出的平均纹理调用量。当SUH)大于或等于15并且BTPD大于I时,游戏模式检测器412可使计算设备410进入游戏模式(如果计算设备410并非已经在游戏模式中)。
[0059]游戏通常具有大于1.0的平均BTPD并且贯穿跟踪其工作负荷可具有大于2.0的最大值。相反,Ur倩形通常具有少于或等于1.0的平均BTPD。许多极为GHJ密集的重量级游戏(例如,Asphalt-7?和NFS-MW?)具有大于或等于25的SUI3D计数;而其他游戏(例如,Beach-Buggy? 和 Asphalt-8?) 具有 15-25 范围中的 SUPD 计数,这与某些 UI 使用情形类似。与 UI 使用情形不同(其通常仅具有单个纹理查找),这些游戏可能使其Β??)计数大于I。
[0060]如所讨论的,SlPD计数可以是可变的。对于需要重工作负荷的游戏而言,suro计数可能高达25。如果SlPD大于15,则工作负荷满足宽泛类别的游戏。如果SUro计数在15与25之间,则游戏模式检测器412可检查纹理更新(BTPD)以确定它们是否大于I。这两个条件可被结合以达成工作负荷是游戏工作负荷并使计算设备410进入游戏模式的高度可能性。换而言之,如果关于GL ES工作负荷的5个连贯帧的滑动窗满足以下条件,则游戏模式检测器412可使计算设备410进入游戏模式:如果(SUPD 2 25)或者如果(SUPD > 15且Β??)> 1.0)。
[0061 ] B.切换至游戏模式
[0062]如所描述的,游戏模式检测器412可使计算设备410进入游戏模式和/或非游戏模式。在一些实施例中,将计算设备410从非游戏模式切换至游戏模式包括通过降低CPU FMax来降低CPU 416的CPU频率。以此方式,功耗可被减少同时计算设备410的性能与在游戏工作负荷对GPU 418而言要密集处理时保持大致相同。因此,在CPU 416的CPU频率被降低以后,用户可能不注意任何性能损失,因为它不必处理任何重GPU工作负荷。CHJ 416通常可在2.15GHz的CPU FMax处运行。在一示例中,当游戏模式检测器412将计算设备410切换至游戏模式时,游戏模式检测器412将CPU FMax从2.15GHz降低为1.49GHz与1.72GHz之间的范围。
[0063]在另一示例中,CPU416的CPU FMax已经被增高。游戏模式检测器412可随后检测计算设备410不再具有对GPU 418而言要密集处理的游戏工作负荷。例如,CPU 416的CPU频率可随后通过移除CPU FMax的上限来增高。在另一示例中,当游戏模式检测器412将计算设备410切换至非游戏模式时,它将CPU FMax(例如,从1.49GHz与1.72GHz之间的范围)增高回默认的2.15GHz。
[0064]可使用各种技术来降低CPU频率最大值。在一示例中,操作系统414包括暴露文件系统节点(例如,Vsys/devices/system/cpu/cpuO/cpufreq/scaling_max_freq,,节点)的内核.操作系统414可以是,例如Linux?操作系统。在一些实施例中,游戏模式检测器412动态地将新的CPU Fmax写入文件系统节点中。当游戏模式检测器412将计算设备410从非游戏模式切换至游戏模式时,游戏模式检测器412将低于当前CPU FMax的新CPU Fmax写入该节点中。当游戏模式检测器412将计算设备410从游戏模式切换至非游戏模式时,游戏模式检测器412将高于当前CPU FMax的新CPU FMax写入该节点中。在一些实施例中,游戏模式检测器412被编程为修改CPU FMax自身并指令CPU 416不升至新CPU FMax以上。
[0065]如以上所讨论并在此进一步强调的,图1-2仅仅是示例,其不应当不恰当地限制权利要求的范围。
[0066]II 1.示例方法
[0067]图3是解说根据一些实施例的节流至少一个CPU的CPU频率的示例方法900的流程图。方法900并不旨在进行限制并且可以用于其他应用中。
[0068]在框905,跟踪每渲染帧每图形库绘制调用作出的平均图形库调用量。在一示例中,这是由游戏模式检测器412来执行的。在框910,基于所跟踪的每渲染帧每图形库绘制调用作出的平均图形库调用量来检测包括CPU的计算设备上的游戏工作负荷。在一示例中,游戏模式检测器412针对包括CPU 416的计算设备410上的游戏工作负荷来执行该检测。在框920,计算设备被切换至游戏模式,其中将计算设备切换至游戏模式包括降低在该计算设备上执行的CPU的CPU频率最大值。在一示例中,游戏模式检测器412执行该切换,这包括降低在计算设备410上执行的CPU 416的CPU频率最大值。
[0069]也要理解,附加的过程可以在以上所讨论的框905-920之前、期间或之后执行。也要理解,本文中所描述的方法900的一个或多个框可以被按期望省略、组合或以不同的次序执行。在一实施例中,框905-920可针对CPU 416的任何数目个CPU核来执行。
[0070]IV.示例计算系统
[0071]图4是适于实现本文公开的任何实施例的示例计算机系统1000的框图。在各种实现中,计算机系统1000可以是计算设备410。计算机系统1000可包括一个或多个处理器。计算机系统1000可附加地包括一个或多个存储设备,该一个或多个存储设备各自选自包括以下的组:软盘、柔性盘、硬盘、磁带、任何其它磁介质、⑶-ROM、任何其它光学介质、RAM、PROM、EPR0M、闪速EPR0M、任何其它存储器芯片或卡带、和/或处理器或计算机被适配成读取的任何其它介质。该一个或多个存储设备可包括对于使用计算机网络(未示出)耦合至客户端或服务器的一个或多个计算设备和/或计算机程序(例如,客户端)可用的所存储信息。计算机网络可以是任何类型的网络,包括LAN、WAN、内联网、因特网、云、和/或其能够互连系统中的计算设备和/或计算机程序的网络的任何组合。
[0072]计算机系统1000包括总线1002或者其他用于传达信息、数据、信号的通信机制、以及在计算机系统1000的各个组件之间的信息。组件包括用于处理用户动作(诸如,从按键板/键盘选择按键或者选择一个或多个按钮或链接等,以及向总线1002发送相应的信号)的输入/输出(I/O)组件1004。1/0组件1004还可包括输出组件(诸如显示器1011)和输入控件(诸如光标控件1013(诸如,键盘、按键板、鼠标等))。
[0073]还可包括音频I/O组件1005以允许用户使用语音用于通过将音频信号转换为信息信号来输入信息。音频I/O组件1005可允许用户听见音频。收发机或网络接口 1006经由至网络的通信链路1018在计算机系统1000与其他设备之间传送和接收信号。在一实施例中,该传输是无线的,尽管其他传输机制和方法也可以是适合的。处理器416(其可以是微控制器、数字信号处理器(DSP)、或其他处理组件)处理这些各种信号,诸如以供在计算机系统1000的显示器1011上显示或者经由通信链路1018传输至其他设备。游戏模式检测器412可在处理器416中执行。处理器416还可控制信息(诸如cookies或IP地址)至其他设备的传输。
[0074]计算机系统1000还包括GPU 418。处理器416可经由总线1002向GPU 418发送命令流,并跟踪每渲染帧每图形库绘制调用作出的平均图形库调用量和平均纹理调用量。
[0075]计算机系统1000的组件还包括系统存储器组件1014(例如,RAM)、静态存储组件1016(例如,R0M)、和/或计算机可读介质1017。计算机系统1000通过由处理器1012或其他组件执行在系统存储器组件1014中包含的一个或多个指令序列来执行特定操作。逻辑可被编码在计算机可读介质1017中,该计算机可读介质1017可以指代参与向处理器1012提供指令以供执行的任何介质。此类介质可采取许多种形式,包括但并不限定于非易失性介质、易失性介质、和传输介质。在各种实现中,非易失性介质包括光盘或磁盘、或固态驱动器,易失性介质包括动态存储器(诸如系统存储器组件1014),并且传输介质包括同轴电缆、铜线和光纤(包括包含总线1002的导线)。在一实施例中,逻辑被编码在非瞬态计算机可读介质中。计算机可读介质517可以是可包含、存储、传达、传播或传输由处理器512使用或与处理器512结合的任何装置。计算机可读介质517可以是电子、磁性、光学、电磁、红外、或半导体器件或传播介质,或任何其他存储器芯片或卡带,或计算机被适配成读取的任何其他介质。在一示例中,传输介质可以采用声波或光波的形式,诸如那些在无线电波、光和红外数据通信期间生成的波。
[0076]尽管总线1002被解说为是在处理器416与GPU 418之间递送数据的路径,但这并不旨在是限制性的,并且使用不同机制来在处理器416与GPU 418之间递送数据的其他实施例在本公开的范围内。
[0077]在本公开的各个实施例中,用于实践本公开的指令序列的执行可以由计算机系统1000执行。在本公开的各种其他实施例中,由通信
当前第3页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1