CN102213996A - 用于管理功率使用的技术 - Google Patents
用于管理功率使用的技术 Download PDFInfo
- Publication number
- CN102213996A CN102213996A CN2011100932055A CN201110093205A CN102213996A CN 102213996 A CN102213996 A CN 102213996A CN 2011100932055 A CN2011100932055 A CN 2011100932055A CN 201110093205 A CN201110093205 A CN 201110093205A CN 102213996 A CN102213996 A CN 102213996A
- Authority
- CN
- China
- Prior art keywords
- render requests
- hardware
- requests
- application program
- response
- 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
Images
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
-
- 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/3287—Power saving characterised by the action undertaken by switching off individual functional units in the computer system
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09G—ARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
- G09G5/00—Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
- G09G5/36—Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators characterised by the display of a graphic pattern, e.g. using an all-points-addressable [APA] memory
- G09G5/363—Graphics controllers
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09G—ARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
- G09G2330/00—Aspects of power supply; Aspects of display protection and defect management
- G09G2330/02—Details of power systems and of start or stop of display operation
- G09G2330/021—Power management, e.g. power saving
-
- 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)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- Computer Graphics (AREA)
- Power Sources (AREA)
- Controls And Circuits For Display Device (AREA)
- User Interface Of Digital Computer (AREA)
- Digital Computer Display Output (AREA)
Abstract
本发明涉及用于管理功率使用的技术。描述了可用于部分地基于是否能显示绘制请求和部分地基于系统中硬件的功耗状态来管理来自应用程序的绘制请求的技术。如果不能显示绘制请求,则可发生数个响应。例如,取代向硬件提供绘制请求,驱动器将零像素区提供给硬件。在一些情况下,驱动器保存如果绘制请求被执行而会产生的状态变化,并且该绘制请求被渲染到缓冲器而不是使硬件通电。本文描述了其它示例。
Description
技术领域
本文公开的主题一般涉及在请求显示图形时节省功耗。
相关领域
在智能电话和移动计算设备中,在特定时间段内没有用户活动时或在存在请求设备进入低功率状态的一些其它外部因素时,进行功率管理。功率管理技术监视设备使用,并尝试针对所支持的使用情况将平台子系统置于适当的低功率状态。为了积极地节省功率,图形驱动器(或显示驱动器)基于用户活动关闭显示器,而不管图形和视频硬件加速器引擎是否在使用中。此外,在平台上运行的前台应用程序和后台应用程序未必总是知道发生功率管理,且可能继续请求对视频和图形加速器的访问。应用程序可能不知道硬件的低功率状态,因为操作系统(OS)或图形系统不具有向应用程序通报低功率状态转变的能力,应用程序对被通知不感兴趣且它们不向平台功率管理器/操作系统进行登记,或者应用程序忽略所述功率管理通知。尽管显示器断电,但应用程序可请求使用图形和视频加速器,这会打开图形和视频加速器,并且因为被请求的输出(图像和视频)对于终端用户是不可见的,因此这会导致不必要的功耗,从而导致浪费工作。
附图说明
本发明的各实施例在附图中是作为示例而非作为限制而示出的,在附图中相同的附图标记指代相同的元素。
图1示出根据各实施例的系统架构。
图2示出图形驱动器、应用程序和功率管理器之间的交互。
图3描绘了在不显示绘制请求时驱动器导致目标区域为零像素大小的过程。
图4描绘了图形驱动器确定用于请求绘制的应用程序是否还依赖先前渲染的内容的过程。
图5描绘了可用于在使用图形硬件的应用程序和不使用图形硬件的应用程序之间进行区分并适当地处理对硬件的通电和至硬件的指令的示例过程。
图6描绘了一种系统,在该系统中功率管理器(PM)和应用程序参与有关平台中硬件的功率降低状态的通信。
图7描绘根据一实施例的系统。
具体实施方式
贯穿本说明书,对“一个实施例”或“一实施例”的引用意味着结合该实施例描述的特定特征、结构或特性被包括在本发明的至少一个实施例中。因此,在贯穿本说明书的各个地方,短语“在一个实施例中”或“在一实施例中”的出现不一定都指代同一实施例。此外,特定特征、结构或特性可被组合在一个或多个实施例中。
在各实施例中,当显示器断电或显示器被配置成不在应用程序请求显示内容的屏幕上显示内容时,图形驱动器或其它逻辑管理来自应用程序的请求,以降低对图形加速硬件的增加功率。驱动器捕获应用程序的状态变化但不调用图形或视频硬件引擎以渲染目标。相反,调用图形或视频硬件引擎以写出零像素。
在各实施例中,驱动器不通过使硬件通电或增加功率来处理绘制调用,且硬件不渲染绘制调用。驱动器以应用程序所请求的方式在其数据结构中更新状态变化。当系统增加功率时,功率管理器(PM)通知图形窗口管理器刷新其客户机窗口,且基于驱动器存储的状态恢复正确的状态。在一些情况下,功率管理器在系统回复期间通知窗口管理器以刷新应用程序的所有窗口,所以它们处于预期状态。一旦子系统醒来,则PM通知所有的应用程序刷新该被唤醒的子系统,使得驱动器此后不需要跟踪子系统的状态。
在各实施例中,如果应用程序访问由先前绘制调用得到的先前渲染的绘图,则驱动器请求存储先前被请求渲染的至少一个帧。应用程序将不可显示的内容渲染到缓冲器,以便过后,硬件能够保持断电(或处于较低功率状态)且缓冲的内容被传递到应用程序的缓冲器。此外,如果要使用的硬件能维持断电(或处于较低功率状态),驱动器就捕获应用程序的状态变化。
在各实施例中,驱动器区分两类应用,一类应用的请求能够在不使硬件通电的情况下执行,而另一类应用的请求则利用加速硬件来执行。对于能够在不使用加速硬件的情况下执行的请求,图形驱动器跟踪状态变化但不使加速硬件通电。对于低复杂度图像渲染可使用中央处理单元(CPU)来代替加速硬件。在一些情况下,加速硬件或CPU的使用取决于系统的性能以及被渲染的工作负载。在一些情况下,3D帧各帧间的工作负载具有非常小的δ。基于这种假设,一种方法是基于之前的工作负载推测“下一”工作负载的量。当预期的工作负载足够大时,可发生硬件引擎的使用。
在各实施例中,系统启用功率管理器和应用程序之间的双向通信。应用程序请求功率管理器向其通报加速硬件元件何时被降低功率(或处于较低功率状态)。功率管理器告知应用程序不要向降低功率的子系统或图形加速硬件发送绘制图像的命令。应用程序也向功率管理器通报应用程序不活动,使得即使在用户不活动定时器导致加速硬件功率降低之前功率管理器也能将平台转变成低功率状态。这能导致显著的省电。
在一些情况下,当屏幕保护程序正在显示器上运行时,硬件加速器的功率被降低。然而,在一些情况下,3D屏幕保护程序例如在利用硬件加速器渲染时消耗的功率比利用CPU执行的软件要少。因此,如果使用3D屏幕保护程序,则使用硬件加速器。
图1示出根据各实施例的系统架构。应用程序102是针对2-D、3-D图像和视频提出图形绘制请求的软件。应用程序102可以不知道显示器的功率被降低或将不会显示被请求显示的图像。应用程序102也可以不知道系统中的硬件是否被降低了功率或处于较低的功率状态。
图形(GFX)运行器(runtime)块104接收较高级的命令并将这些命令翻译成供GFX驱动器106使用的较低级命令。GFX运行器块104提供API,应用程序使用所述API进行绘图。GFX运行器块104减少应用程序为在多个0S上运行所需的移植努力。图形运行器块104可与Windows、Linux和其它操作系统一起使用。例如,图形运行器块104可实现为DirectX或OpenGL可兼容逻辑。
GFX驱动器块106是作为应用程序102、图形运行器104、功率管理器108和硬件(HW)加速设备之间接口的软件层。应用程序向GFX驱动器块106提出图形操作请求。在一些情况下,应用程序不知道硬件断电或者不知道所请求的绘图将不可见,诸如当被另一个对象覆盖时或正在运行屏幕保护程序时。GFX驱动器块106控制对图像和视频的渲染并控制用于驱动图像和视频显示的硬件。GFX驱动器块106将应用程序的运行时间请求(run time request)翻译成硬件命令。在一些情况下,GFX驱动器块106使硬件通电,以执行所述请求。在一些情况下,GFX驱动器块106与PM 108交互,以将平台硬件置于较低的功率状态。例如,以下提供了示例性的功率使用状态:
对于GFX HW或视频HW或显示HW,设备特定的低功率状态:
D1:子系统完全断电。
D0:子系统处于满载操作模式(运行)。
D0i1:在时钟选通情况下的子系统运行。
D0i3:在功率选通情况下的子系统运行。
系统级休眠状态(Sx或S0ix)且包括所有的平台子系统:
S0:平台运行且所有的子系统处于满载功率状态。
S0i1:活动待机/始终运行始终连接(AOAC)待机;在短空闲时段中使用(用户正在交互式地使用设备)。
S0i2:活动待机;在延长的空闲时段中使用(用户被动地使用设备)。
S0i3:休眠;用户不在使用设备。
S3:挂起。
S4:睡眠。
S5:完全断电。
功率管理器(PM)块108管理平台中的硬件功耗。例如,如果有一段时间不使用显示器或没有用户交互,则PM块108使显示硬件110、视频硬件112和图像(GFX)硬件114中的一个或多个硬件的功率降低。此外,PM块108可使显示器功率降低或请求显示屏幕保护程序。降低功率可包括根据前面描述的Dx、D0x、Sx或SiOx状态来降低硬件的功耗。
视频HW块112可包括基于适用的视频压缩和解压缩标准的视频编码和视频解码硬件引擎。例如,视频HW块112可根据MPEG-2、MPEG-4、H.263、H.264和新兴的H.265标准中的任一个提供压缩和解压缩。GFX HW块114可以是2D或3D图像加速器硬件。例如,GFX HW块114可以是用于DirectX或OpenGL图形流水线的2D或3D图像加速器硬件。显示硬件(HW)块110接收由视频HW块112或GFX HW块114生成的内容,并对内容格式化,以便在面板上显示。块110-114中的每一个都能够进入功率降低或功率减低的模式。
图2示出了GFX驱动器、应用程序和PM之间的交互。在检测到足够的用户不活动之后,PM通过发出挂起请求将显示、视频和GFX硬件中的一个或多个置于较低功率状态。PM向GFX驱动器发出挂起请求,以降低不在使用的每个岛(或孤立体,island)的功率。较低的功率状态可以是前面描述的Dx、D0x、Sx和SiOx状态中的任一种。例如,检测到的用户不活动可包括用户已有一段时间没有与系统进行交互,诸如没有与系统的触摸屏、键盘、鼠标或滚动设备进行交互。
GFX驱动器通过确定是否将不使用的GFX、视频或显示硬件断电,来对挂起请求作出响应。对于已请求挂起但一特定硬件设备(即,“岛”)仍在使用的情况,GFX驱动器为该硬件设备向PM返回“忙”指示符。如果PM接收“忙”指示符,则PM在稍后再次尝试挂起该特定硬件设备。如果在接收到挂起请求时所述特定硬件设备不在使用,则PM使该岛的功率降低至较低的功率使用状态。在一些情况下,即使其它HW加速器繁忙,GFX驱动器也会至少降低显示岛的功率,以减少功耗。
在该示例中,应用程序不知道平台状态,且即使当有机会关闭显示器或所述请求渲染了不可显示的图像时,应用程序仍生成针对GFX/视频硬件的命令。响应于从应用程序接收到图形硬件活动请求,图形运行器和图形驱动器生成针对硬件的命令。然而,PM已经降低了平台中至少一个硬件设备的功率。应用程序与GFX运行器和GFX驱动器进行交互,以生成至平台的命令。在当前的实现方式中,GFX驱动器使GFX/视频硬件通电以处理这些命令,当内容不可显示时这会导致不必要的功耗。
图3描绘了在不显示绘制请求时驱动器导致目标区域为零像素大小的过程。在302,应用程序请求在显示器上绘制像素。绘制调用可以是DrawRectangle(绘制矩形)、DrawWindow(绘制窗口),等等。图形运行器可将绘制调用翻译成具有适当顶点的三角形。在304,图形运行器生成针对硬件的命令,以执行来自应用程序的请求。在306,图形驱动器确定所请求的绘制是否是不可显示的。例如,显示器可处于较低的功率模式,或者绘图可被屏幕保护程序或其它图像或视频所覆盖。显示器可能已经被功率管理器或其它逻辑关闭。如果完全被另一个图像所覆盖,则该绘制请求可能是不可显示的。如果所请求的绘制是不可显示的,则在框308,GFX驱动器确定将要渲染被请求绘制的硬件是否已断电或处于较低的功率模式。
如果硬件断电或处于较低的功率模式,则使该硬件通电(框310)但将来自硬件的渲染目标设置成零像素(框312),使得没有像素从该硬件输出到显示器硬件(框314)。即使图像不可显示也使硬件通电的手段将有助于在显示器返回打开时使最新图像和状态信息得以维持并且是当前的。这可节省所述岛的功率使用量,因为即使对岛通电,它也不进行太多的工作。在一些情况下,可由中央处理单元执行的软件发出零像素渲染目标,以为客户机应用程序维持图形子系统的适当状态管理。
在一些实施例中,视频硬件引擎包括视频编码和解码硬件块。在一些实施例中,可对视频编码和解码硬件块进行功率管理。在一些情况下,可提供零像素目标作为对被增加功率的视频编码硬件块或解码硬件块的输入。在一些情况下,视频编码器和解码器使用先前帧作为参考来编码或解码下一帧。因此,零像素目标对于视频编码或解码操作是不适用的或不是功率有效的,因为视频编码或解码操作可能使用先前帧的内容。因此,如果零像素导致任何可见的伪像,则可不将零像素提供给视频编码器或解码器块。
在一些实施例中,取代零像素渲染目标,可渲染特定分辨率的四分之一或十六分之一来动态减少渲染的工作负载。分辨率可被减少其它数量的分数,诸如二分之一。
如果绘图是可显示的或者所请求的硬件被通电,则将命令提交给该硬件(块314)。
在一些情况下,对于特定的应用程序,用户可不考虑GFX驱动器设置。对于一些应用程序,不使用图3的过程而是使用图2的过程。
一些应用程序不能允许如图3所示过程那样渲染零像素。例如,一些应用程序读回被渲染的内容并利用该先前渲染的内容执行动作,不管是由同一应用程序还是另一个应用程序请求渲染该内容。例如,一些应用程序基于先前渲染的内容生成内容。图4描绘了作为图3过程的变型的过程。在图4的过程中,在框402,图形驱动器确定请求绘制的应用程序是否还依赖先前渲染的内容。更一般地,确定应用程序是否读取先前渲染的内容。先前渲染的内容可包括屏幕外的内容或由于被其它显示内容覆盖而不可显示的内容。例如,应用程序的过程标识符标识了读取先前渲染的内容的应用程序。例如,如果应用程序使用函数glReadPixels,则该应用程序试图读取先前渲染的内容。在一些情况下,驱动器检查应用程序或像素着色器(shader)是否已经访问先前帧中渲染的内容,以确定应用程序是否访问先前渲染的内容。
如果应用程序读取了先前渲染的内容,则在框404,GFX驱动器允许在其数据结构中发生该应用程序所请求的状态变化。例如,状态变化可包括帧的照明、纹理的照明、至硬件的下一命令或下一执行,以及其它状态。此外,在框406,GFX驱动器允许应用程序将屏幕外的内容渲染到缓冲器。例如,可缓冲0-N个帧,其中N是≥1的整数。应用程序可从缓冲器读回先前渲染的内容。
在一些情况下,可进行软件实现的图形处理,以将不可显示的内容渲染到缓冲器,且不使硬件通电。在一些情况下,当将要进行图形处理时使硬件通电,并且将所处理的项存储在缓冲器中。在将所渲染的绘制存储到缓冲器之后,将通电的硬件断电(框408)。这种折衷办法是软件实现的图形处理将使用CPU以代替图形处理单元(GPU),且可导致比通电的GPU硬件更多的功耗。
随后,应用程序可利用从所述缓冲器至该应用程序使用的存储器缓冲器的复制操作,来访问先前渲染的图像而不使图形硬件通电。
如果应用程序不读取先前渲染的内容,则在框410,GFX驱动器允许使硬件通电(或满载通电)。如果绘制请求是可显示的,则GFX驱动器允许硬件执行所请求的动作。如果绘制请求是不可显示的,则GFX驱动器如图3所示过程那样向通电的硬件发出零像素目标。在一些情况下,尽管未描绘,但如果绘制请求是不可显示的,则GFX驱动器利用CPU发出待渲染的零像素目标而不使硬件通电。
在一些情况下,对于特定的应用程序,用户可不考虑GFX驱动器设置。对于一些应用程序,不使用图4的过程而是使用图2的过程。
图5描绘了可用于在使用图形硬件的应用程序和不使用图形硬件的应用程序之间进行区分并适当地处理对硬件的通电和至硬件的指令的示例过程。
如果所请求的绘制是不可显示的(框306)且如果将处理被请求绘制的硬件断电(框502),则就是否能够在硬件断电或处于较低功率模式的情况下处理该请求作出判断(框504)。较低的功率模式可以是前面描述的Dx、D0x、Sx和SiOx状态中的任一种。例如,对于由软件执行的简单的复制操作或图形处理,硬件可维持断电或处于较低的功率模式。然而,在其它情况下,可使硬件通电。例如,为了执行绘制请求,从功耗的观点看,使硬件增加功率可能是更高效的。在一些情况下,绘制请求可利用硬件,致使硬件被增加功率。
如果可在硬件不通电的情况下处理该请求(框504),则将GFX驱动器的状态信息更新到在硬件不通电的情况下执行绘制请求所会发生的状态(框506)。
如果所请求的硬件已经通电(框502)或在硬件不通电的情况下不能处理该请求(框504),则将渲染目标设置为零乘零(0x0)像素(框508和510)。在一些情况下,可由CPU执行的软件发出零像素渲染目标而不使硬件通电。
如果绘图是可显示的,则将命令提交给硬件用于渲染(框510)。
在一些情况下,对于特定的应用程序,用户可不考虑GFX驱动器设置。对于一些应用程序,不使用图5的过程而是使用图2的过程。
图6描绘了一种系统,在该系统中功率管理器(PM)和应用程序参与有关平台中硬件的功率降低状态的通信。PM向感兴趣的知道功率的应用程序通报平台功率变化,以便彼此合作。当应用程序接收到来自PM的关于平台功率变化的通知时,应用程序可通过停止其绘制操作来进行合作。知道功率的应用程序向PM通报它们不活动,使得PM能够确定哪个硬件要降低功率。根据从应用程序接收到的通知,PM可映射由应用程序使用的HW加速器(例如,GFX或视频),并因此在没有其它应用程序/实体使用该HW时降低此HW的功率。
PM通过与GFX驱动器交互来请求降低硬件加速器的功率。响应于应用程序不活动的通知,PM甚至可在检测到用户不活动之前将硬件加速器转变为低功率。知道功率的图形运行器与PM合作,并减少对驱动器的硬件请求。GFX运行器可中止所有的应用程序请求。在一些情况下,GFX运行器通过作出“平台没有准备好处理请求”的响应来拒绝应用程序的请求。GFX运行器可告知应用程序不要进一步生成针对硬件加速器的命令。在增加功率期间,PM可请求窗口管理器执行刷新,使得应用程序可刷新至期望的状态。
图7描绘了根据一实施例的系统。系统700包括主机系统720和显示器722。计算机系统700可实现在手持式个人计算机、移动电话、机顶盒或任意计算设备中。主机系统702可包括芯片组705、处理器710、主机存储器712、存储器714、图形子系统715和无线电设备720。芯片组705可在处理器710、主机存储器712、存储器714、图形子系统715和无线电设备720之间提供相互通信。例如,芯片组705可包括能够提供与存储器714的相互通信的存储器适配器(未示出)。例如,存储器适配器能够依照以下协议中的任一种与存储器714通信:小型计算机系统接口(SCSI)、光纤通道(FC)和/或串行高级技术附件(S-ATA)。
在各实施例中,处理器710可根据本文描述的技术调节图形子系统中的组件的功耗。
处理器710可被实现为复杂指令集计算机(CISC)或精简指令集计算机(RISC)处理器、多核,或者任何其它微处理器或中央处理单元。
主机存储器712可被实现为易失性存储设备,诸如但不限于随机存取存储器(RAM)、动态随机存取存储器(DRAM)或静态RAM(SRAM)。存储器714可被实现为非易失性存储设备,诸如但不限于磁盘驱动器、光盘驱动器、带驱动器、内部存储设备、附连存储设备、闪存、电池备用SDRAM(同步DRAM)和/或网络可接入存储设备。
图形子系统715可处理诸如静止或视频等处理,以供显示。模拟或数字接口可用于使图形子系统715和显示器722通信耦合。例如,接口可以是高清多媒体接口(HDMI)、显示器端口、无线HDMI和/或无线HD适应技术中的任一种。图形子系统715可被集成至处理器710或芯片组705中。图形子系统715可以是与芯片组705通信耦合的独立卡。
无线电设备720可包括能够根据诸如但不限于IEEE 802.11和IEEE 802.16的任何版本等适用的无线标准来发射和接收信号的一个或多个无线电设备。
尽管未描绘,但系统700可包括对诸如触摸屏、鼠标和相机之类的输入设备的访问。
本文描述的图形和/或视频处理技术可在各种硬件架构中实现。例如,图形和/或视频功能可集成在芯片组内。或者,可使用分立的图形和/或视频处理器。作为又一个实施例,可由包括多核处理器的通用处理器来实现图形和/或视频功能。在另一个实施例中,可在消费者电子设备中实现所述功能。
本发明的各实施例可被实现为以下各项中的任一个或组合:使用主板互连的一个或多个微芯片或集成电路、硬连线逻辑、由存储设备存储并由微处理器执行的软件、固件、专用集成电路(ASIC)和/或现场可编程门阵列(FPGA)。术语“逻辑”可包括作为示例的软件或硬件和/或软件和硬件的组合。
本发明的各实施例可例如作为计算机程序产品来提供,该计算机程序产品可包括其上存储有机器可执行指令的一个或多个机器可读介质,这些指令在由诸如计算机、计算机网络或其他电子设备等一个或多个机器执行时可使得该一个或多个机器根据本发明的实施例来执行操作。机器可读介质可包括,但不限于,软盘、光盘、CD-ROM(紧致盘-只读存储器)、磁光盘、ROM(只读存储器)、RAM(随机存取存储器)、EPROM(可擦除可编程只读存储器)、EEPROM(电可擦除可编程只读存储器)、磁卡或光卡、闪存、或适于存储机器可执行指令的其它类型的介质/机器可读介质。
各附图和以上描述给出了本发明的各示例。尽管被描绘为多个不同的功能项,但本领域技术人员可以理解,这些元素中的一个或多个可被很好地组合成单个功能元素。或者,某些元件可被分成多个功能元素。来自一个实施例的元素可被添加到另一个实施例。例如,此处所描述的各过程的次序可被改变并且不限于此处所描述的方式。而且,任何流程图的动作都不必以所示次序来实现;也不一定需要执行所有动作。同样,不依赖于其他动作的那些动作可以与所述其他动作并行执行。然而,本发明的范围绝不由这些具体示例来限定。无论是否在本说明书中明示,诸如结构、尺寸和材料使用方面的区别之类的众多变型都是可能的。本发明的范围至少与以下权利要求书中所给出的一样宽泛。
Claims (22)
1.一种计算机实现的方法,包括:
接收绘制请求;
确定所述绘制请求是否不包括可显示的绘制请求;
响应于确定所述绘制请求不包括可显示的绘制请求,选择地修改所述绘制请求;以及
输出所述绘制请求。
2.如权利要求1所述的方法,其特征在于,选择地修改所述绘制请求包括选择地减少所述绘制请求的像素数。
3.如权利要求2所述的方法,其特征在于,选择地减少所述绘制请求的像素数包括将像素尺寸设置为零乘零,且所述方法还包括响应于所述请求来请求对绘制加速硬件通电。
4.如权利要求2所述的方法,其特征在于,选择地减少所述绘制请求的像素数包括将像素尺寸设置为所述绘制请求的像素尺寸的分数,其中所述分数小于1。
5.如权利要求1所述的方法,其特征在于,选择地修改所述绘制请求包括:
确定所述绘制请求的发出者是否读取了先前渲染的图形;
确定由执行所述绘制请求所得到的状态;以及
响应于确定所述发出者读取了先前渲染的图形,保存确定的状态而不执行所述绘制请求,并将经渲染的绘制请求存储到缓冲器。
6.如权利要求1所述的方法,其特征在于,还包括:
响应于包括可显示绘制请求的绘制请求,请求对绘制加速硬件通电,并向所述硬件提交命令,其中所述硬件包括显示硬件、视频硬件或图形硬件之一。
7.如权利要求1所述的方法,其特征在于,还包括:
确定在与所述绘制请求相关联的加速硬件保持较低功率模式的情况下是否能执行该绘制请求;以及
响应于确定在与所述绘制请求相关联的加速硬件保持较低功率模式的情况下能执行该绘制请求,保存所确定的状态而不执行所述绘制请求。
8.如权利要求7所述的方法,其特征在于,还包括:
响应于确定在与所述绘制请求相关联的加速硬件保持较低功率模式的情况下不能执行该绘制请求,请求对相关联的硬件增加功率并将所述绘制请求提交给增加功率的硬件。
9.如权利要求1所述的方法,其特征在于,还包括:
独立于对图形硬件或视频硬件增加功率,使用由中央处理单元执行的应用程序来为所述绘制请求进行较低复杂度绘制的渲染。
10.一种装置,包括:
图形驱动器,用于:
确定所接收的绘制请求是否不包括可显示的绘制请求;以及
响应于确定所述绘制请求不包括可显示的绘制请求,选择地修改所述绘制请求,以及
功率管理器(PM),用于响应于绘制请求,选择地请求使绘制加速硬件通电,并且响应于至少一个应用程序空闲了阈值时间段,选择地降低加速硬件的功耗。
11.如权利要求10所述的装置,其特征在于:
所述PM基于应用程序不活动的指示确定哪个硬件请求进入较低功率模式,
所述PM向至少一个应用程序通报硬件的较低功率状态,以及
响应于所述绘制请求是不可显示的,所述至少一个应用程序减少对处于较低功率状态的所述硬件的绘制请求。
12.如权利要求10所述的装置,其特征在于,还包括窗口管理器,并且所述PM通知所述窗口管理器,以在系统回复期间刷新最后帧。
13.如权利要求10所述的装置,其特征在于:
所述图形驱动器向PM通报硬件不活动;以及
所述图形驱动器请求使用中央处理单元来执行在所述绘制请求中的较低复杂度的图形处理。
14.如权利要求10所述的装置,其特征在于:
所述图形驱动器向所述PM通报硬件不活动;以及
所述PM将不活动硬件转变成较低功率状态。
15.如权利要求10所述的装置,其特征在于:
为了选择地修改所述绘制请求,所述图形驱动器将像素尺寸设置为所述绘制请求的像素尺寸的分数,其中所述分数小于1。
16.如权利要求10所述的装置,其特征在于,所述图形驱动器用于:
确定所述绘制请求的发出者是否读取了先前渲染的图形;
确定由执行所述绘制请求所得到的状态;以及
响应于确定所述发出者读取了先前渲染的图形,所述图形驱动器保存确定的状态而不执行所述绘制请求,并将经渲染的绘制请求存储到缓冲器。
17.如权利要求10所述的装置,其特征在于,所述图形驱动器用于:
独立于对图形或视频硬件增加功率,请求使用由中央处理单元执行的应用程序来为所述绘制请求进行较低复杂度绘制的渲染。
18.一种系统,包括:
无线接口;
显示设备;以及
与所述显示设备通信耦合的计算机系统,所述计算机系统被构造成用于:
接收绘制请求;
确定所述绘制请求是否不包括可显示的绘制请求;以及
响应于确定所述绘制请求不包括可显示的绘制请求,选择地修改所述绘制请求。
19.如权利要求18所述的系统,其特征在于,为了选择地减少所述绘制请求的像素数,所述计算机系统将像素尺寸设置为所述绘制请求的像素尺寸的分数,其中所述分数小于1。
20.如权利要求18所述的系统,其特征在于,为了选择地修改所述绘制请求,所述计算机系统用于:
确定所述绘制请求的发出者是否读取了先前渲染的图形;
确定由执行所述绘制请求所得到的状态;以及
响应于确定所述发出者读取了先前渲染的图形,保存确定的状态而不执行所述绘制请求,并将经渲染的绘制请求存储到缓冲器。
21.如权利要求18所述的系统,其特征在于,所述计算机系统还被构造成用于:
确定在硬件处于较低功率模式的情况下是否能执行所述绘制请求;以及
响应于确定在与所述绘制请求相关联的硬件保持较低功率模式的情况下能执行该绘制请求,保存所确定的状态而不执行所述绘制请求。
22.如权利要求18所述的系统,其特征在于,所述计算机系统还被构造成成用于:
独立于对图形或视频硬件增加功率,请求使用由中央处理单元执行的应用程序来为所述绘制请求进行较低复杂度绘制的渲染。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US12/756,327 US20110249022A1 (en) | 2010-04-08 | 2010-04-08 | Techniques for managing power use |
US12/756,327 | 2010-04-08 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102213996A true CN102213996A (zh) | 2011-10-12 |
CN102213996B CN102213996B (zh) | 2016-05-11 |
Family
ID=44072154
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201110093205.5A Expired - Fee Related CN102213996B (zh) | 2010-04-08 | 2011-04-08 | 用于管理功率使用的技术 |
Country Status (6)
Country | Link |
---|---|
US (1) | US20110249022A1 (zh) |
CN (1) | CN102213996B (zh) |
DE (1) | DE102011016051A1 (zh) |
GB (1) | GB2479633B (zh) |
RU (1) | RU2481615C2 (zh) |
TW (1) | TWI544322B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103959200A (zh) * | 2011-12-09 | 2014-07-30 | 英特尔公司 | 自适应图像子系统功率和性能管理 |
CN116233989A (zh) * | 2023-05-10 | 2023-06-06 | 荣耀终端有限公司 | 网络连接的控制方法和设备 |
Families Citing this family (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8407504B2 (en) | 2010-06-30 | 2013-03-26 | Intel Corporation | Systems and methods for implementing reduced power states |
EP2437161A1 (en) * | 2010-10-01 | 2012-04-04 | Intel Mobile Communications Technology Dresden GmbH | Hardware accelerator module and method for setting up same |
KR101861742B1 (ko) * | 2011-08-30 | 2018-05-30 | 삼성전자주식회사 | 이종의 가속기들 사이에서 스위칭할 수 있는 데이터 처리 시스템과 그 방법 |
US20140157026A1 (en) * | 2012-12-05 | 2014-06-05 | Advanced Micro Devices, Inc. | Methods and apparatus for dynamically adjusting a power level of an electronic device |
KR102071550B1 (ko) | 2013-03-06 | 2020-01-31 | 삼성전자주식회사 | 전력 절감을 위한 이동용 전자 장치 및 그 방법 |
CN105683860B (zh) | 2013-06-20 | 2019-02-15 | 惠普发展公司,有限责任合伙企业 | 计算设备功率状态 |
KR102057504B1 (ko) | 2013-07-24 | 2020-01-22 | 삼성전자주식회사 | 어플리케이션 프로세서, 이를 구비하는 모바일 디바이스 및 전력 관리 방법 |
US20150042641A1 (en) * | 2013-08-12 | 2015-02-12 | Travis T. Schluessler | Techniques to automatically adjust 3d graphics application settings |
KR102201733B1 (ko) * | 2013-09-30 | 2021-01-12 | 엘지전자 주식회사 | 디스플레이 디바이스 및 그 제어 방법 |
US8972760B1 (en) * | 2013-12-20 | 2015-03-03 | Futurewei Technologies, Inc. | Method and apparatus for reducing power consumption in a mobile electronic device using a second launcher |
KR102222341B1 (ko) * | 2014-08-08 | 2021-03-04 | 삼성전자주식회사 | 영상 표시 장치 |
CN105183132A (zh) * | 2015-08-18 | 2015-12-23 | 小米科技有限责任公司 | 节能模式启动方法和装置 |
KR20240009975A (ko) * | 2021-05-17 | 2024-01-23 | 스냅 인코포레이티드 | 아이웨어 디바이스 동적 전력 구성 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007206896A (ja) * | 2006-01-31 | 2007-08-16 | Toshiba Corp | 情報処理装置及び情報処理装置にて適用される描画制御方法 |
US20080042923A1 (en) * | 2006-08-16 | 2008-02-21 | Rick De Laet | Systems, methods, and apparatus for recording of graphical display |
CN101589423A (zh) * | 2007-01-24 | 2009-11-25 | 高通股份有限公司 | 通过内容自适应显示来减少装置中的功耗的系统和方法 |
CN101604454A (zh) * | 2008-06-04 | 2009-12-16 | Arm有限公司 | 图形处理系统 |
CN101692694A (zh) * | 2008-10-20 | 2010-04-07 | 索尼株式会社 | 图像显示控制装置、用于控制该装置的方法及程序 |
Family Cites Families (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0626633B1 (en) * | 1993-05-28 | 2001-03-14 | Sun Microsystems, Inc. | Touch screen power control in a computer system |
DE69516199T2 (de) * | 1994-02-23 | 2000-09-21 | Sun Microsystems Inc | Verfahren und Anordnung zur Leistungseinsparung in einem Computersystem unter Benutzung eines Leistungssteuerungs-Pseudogeräte-Treibers |
US5860016A (en) * | 1996-09-30 | 1999-01-12 | Cirrus Logic, Inc. | Arrangement, system, and method for automatic remapping of frame buffers when switching operating modes |
US7392275B2 (en) * | 1998-03-31 | 2008-06-24 | Intel Corporation | Method and apparatus for performing efficient transformations with horizontal addition and subtraction |
US6438668B1 (en) * | 1999-09-30 | 2002-08-20 | Apple Computer, Inc. | Method and apparatus for reducing power consumption in a digital processing system |
JP2001273518A (ja) * | 2000-03-28 | 2001-10-05 | Toshiba Corp | レンダリング装置 |
US6825844B2 (en) * | 2001-01-16 | 2004-11-30 | Microsoft Corp | System and method for optimizing a graphics intensive software program for the user's graphics hardware |
US6947609B2 (en) * | 2002-03-04 | 2005-09-20 | Xerox Corporation | System with motion triggered processing |
US7564810B2 (en) * | 2002-05-08 | 2009-07-21 | Microsoft Corporation | Method and system for managing power consumption of a network interface module in a wireless computing device |
US7538762B2 (en) * | 2003-09-30 | 2009-05-26 | Intel Corporation | Switching display update properties upon detecting a power management event |
JP4570025B2 (ja) * | 2004-02-06 | 2010-10-27 | ルネサスエレクトロニクス株式会社 | コントローラドライバ及び表示パネル駆動方法 |
US7389432B2 (en) * | 2004-11-10 | 2008-06-17 | Microsoft Corporation | Advanced power management for computer displays |
US7466620B2 (en) * | 2006-01-04 | 2008-12-16 | Baker Mohammad | System and method for low power wordline logic for a memory |
JP2007232846A (ja) * | 2006-02-28 | 2007-09-13 | Toshiba Corp | 情報処理装置および制御方法 |
US7973803B1 (en) * | 2007-05-17 | 2011-07-05 | Adobe Systems Incorporated | Simultaneous occluding transparency graphics processing |
RU69691U1 (ru) * | 2007-06-22 | 2007-12-27 | Федеральное государственное унитарное предприятие "Российский научно-исследовательский институт космического приборостроения" | Мобильное устройство связи |
US8600457B2 (en) * | 2007-11-30 | 2013-12-03 | Microsoft Corporation | Sleep mode for mobile communication device |
US8510577B2 (en) * | 2008-07-28 | 2013-08-13 | Microsoft Corporation | Reducing power consumption by offloading applications |
-
2010
- 2010-04-08 US US12/756,327 patent/US20110249022A1/en not_active Abandoned
-
2011
- 2011-04-04 DE DE102011016051A patent/DE102011016051A1/de not_active Withdrawn
- 2011-04-06 TW TW100111807A patent/TWI544322B/zh not_active IP Right Cessation
- 2011-04-07 GB GB1105959.9A patent/GB2479633B/en not_active Expired - Fee Related
- 2011-04-07 RU RU2011113545/08A patent/RU2481615C2/ru not_active IP Right Cessation
- 2011-04-08 CN CN201110093205.5A patent/CN102213996B/zh not_active Expired - Fee Related
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007206896A (ja) * | 2006-01-31 | 2007-08-16 | Toshiba Corp | 情報処理装置及び情報処理装置にて適用される描画制御方法 |
US20080042923A1 (en) * | 2006-08-16 | 2008-02-21 | Rick De Laet | Systems, methods, and apparatus for recording of graphical display |
CN101589423A (zh) * | 2007-01-24 | 2009-11-25 | 高通股份有限公司 | 通过内容自适应显示来减少装置中的功耗的系统和方法 |
CN101604454A (zh) * | 2008-06-04 | 2009-12-16 | Arm有限公司 | 图形处理系统 |
CN101692694A (zh) * | 2008-10-20 | 2010-04-07 | 索尼株式会社 | 图像显示控制装置、用于控制该装置的方法及程序 |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103959200A (zh) * | 2011-12-09 | 2014-07-30 | 英特尔公司 | 自适应图像子系统功率和性能管理 |
US9891681B2 (en) | 2011-12-09 | 2018-02-13 | Intel Corporation | Adaptive graphics subsystem power and performance management |
US10809782B2 (en) | 2011-12-09 | 2020-10-20 | Intel Corporation | Adaptive graphics subsystem power and performance management |
CN116233989A (zh) * | 2023-05-10 | 2023-06-06 | 荣耀终端有限公司 | 网络连接的控制方法和设备 |
CN116233989B (zh) * | 2023-05-10 | 2023-09-22 | 荣耀终端有限公司 | 网络连接的控制方法和设备 |
Also Published As
Publication number | Publication date |
---|---|
RU2481615C2 (ru) | 2013-05-10 |
US20110249022A1 (en) | 2011-10-13 |
GB2479633A (en) | 2011-10-19 |
TWI544322B (zh) | 2016-08-01 |
GB201105959D0 (en) | 2011-05-18 |
RU2011113545A (ru) | 2012-10-20 |
CN102213996B (zh) | 2016-05-11 |
GB2479633B (en) | 2012-12-12 |
DE102011016051A1 (de) | 2011-10-13 |
TW201211754A (en) | 2012-03-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102213996A (zh) | 用于管理功率使用的技术 | |
US11874715B2 (en) | Dynamic power budget allocation in multi-processor system | |
US10572214B2 (en) | Method and system for identifying drawing primitives for selective transmission to a remote display | |
He et al. | Optimizing smartphone power consumption through dynamic resolution scaling | |
US9082196B2 (en) | Application-transparent resolution control by way of command stream interception | |
CN112614202B (zh) | Gui渲染显示的方法、终端、服务器、电子设备及存储介质 | |
US9817431B2 (en) | Frame based clock rate adjustment for processing unit | |
Akenine-Moller et al. | Graphics processing units for handhelds | |
US20150194137A1 (en) | Method and apparatus for optimizing display updates on an interactive display device | |
US11533683B2 (en) | Advanced graphics power state management | |
CN105427366B (zh) | 一种图像渲染方法和图像渲染系统 | |
CN104915200B (zh) | 移动操作系统中的视频帧处理的渲染方法 | |
US20080192063A1 (en) | Managing Multiple Contexts in a Decentralized Graphics Processing Unit | |
CN103946789A (zh) | 图形处理单元中的再现模式选择 | |
US20150177822A1 (en) | Application-transparent resolution control by way of command stream interception | |
US10672362B2 (en) | Systems and methods for digital content creation and rendering | |
CA2697143A1 (en) | Method and system for copying a framebuffer for transmission to a remote display | |
KR102631245B1 (ko) | 감소된 전력 렌더링을 갖는 혼합 현실 시스템 | |
US20170199558A1 (en) | Flexible and scalable energy model for estimating energy consumption | |
US11317098B2 (en) | System and method for rendered scene change detection with remotely hosted graphics applications | |
EP4034999B1 (en) | Rendering images using declarative graphics server | |
US20160358303A1 (en) | Low-power state with a variable refresh rate display | |
US20210280156A1 (en) | Dynamic refresh rate adjustment | |
CN105719229B (zh) | 一种基于指令流截取的应用程序透明化的分辨率控制 | |
CN115562604A (zh) | 系统间切换的图像显示方法、智能穿戴设备和存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20160511 Termination date: 20190408 |