图形处理单元间基于策略的切换的制作方法

文档序号:6351967阅读:149来源:国知局
专利名称:图形处理单元间基于策略的切换的制作方法
技术领域
所公开的实施例涉及用于在计算机系统中的图形处理单元(GPU)之间切换的技术。更具体地,所公开的实施例涉及用于在计算机系统中的GPU之间基于策略的切换的技术。
背景技术
电源管理对于许多电子器件是至关重要的。例如,诸如膝上型计算机、移动电话和个人数字助理(PDA)之类的便携式电子器件需要节约电能以靠电池电能来运行任意时长。同时,这些便携式电子器件中许多都在开始并有高分辨率的、大功率的图形技术。该领域的快速发展在2D和3D图形技术方面带来了显著的进步,从而在从图形用户接口到逼真的游戏环境的领域内给用户提供了越来越复杂的视觉体验。作为这些改进中的许多改进的基础 的是专用图形渲染器件或图形处理单元(GPU)的开发。典型的GPU包括用于通过快速地执行一系列的原始(primitive)操作以及在图形显示器上显示所产生的图像来有效地操纵图形对象的高度并行的结构。不幸的是,存在着与这些提高的图形能力关联的成本。特别地,图形性能的提高典型地伴随着相应的功耗的增加。结果,许多计算机系统和便携式电子器件可能会将它们相当大量的电能专用于支持高性能的GPU,这会降低电池的寿命并且导致散热问题。该问题的一种解决方案是通过从提供较高性能的高功率GPU切换到具有较低性能的低功率GPU而在低活动量的时段内节省电能。计算机系统的设计者正开始开发支持此类系统的硬件结构。但是,它还有精确地确定何时在低功率和高功率的GPU之间切换的挑战性问题。因此,所需要的是用于帮助确定何时在具有多个GPU的系统中的GPU之间切换的方法和装置。

发明内容
所公开的实施例提供一种用于配置计算机系统以切换GPU的系统。在操作期间,该系统使用计算机系统中的第一图形处理单元(GPU)来驱动显示器。然后,该系统通过应用编程接口(API)或者与GPU相关的系统事件来检测计算机系统中与对第二 GPU的依赖性相关联的事件。响应于该检测,系统将启动从第一 GPU到作为用于驱动显示器的信号源的第二 GPU的切换。在某些实施例中,API与图形库、视频重放或窗口管理器关联。在某些实施例中,依赖性对应于下列项中的至少一项(i)计算机系统中的图形库的使用;( i i )可解码内容的视频重放;(iii)对从第一 GPU到第二 GPU的切换的请求;以及(iv)与计算机系统中的图形性能相关联的用户偏好。
在某些实施例中,请求是对窗口管理器或图形库作出的。在某些实施例中,系统的一些部分(例如,窗口管理器)能够控制GPU间的切换以补偿可能另外导致GPU间的切换的处理或事件。在某些实施例中,对图形库的使用包括下列项中的至少一项(i)链接至图形库;(ii)在应用执行期间装载图形库;以及(iii)对图形库的方法调用。在某些实施例中,事件是下列项中的至少一项 ( i )与对第二 GPU的依赖性关联的应用的初始化;(ii)对从第一 GPU切换到第二 GPU的请求的调用;(iii)图形库的使用;以及(iv)可解码内容的视频重放。在某些实施例中,系统在对第二 GPU的全部依赖性被去除之后还将信号源切换回到第一 GPU。在某些实施例中,第一 GPU是集成于系统芯片集中的低功率GPU,而第二 GPU是位于分立的GPU芯片上的高功率GPU。第一 GPU和第二 GPU能够具有基本上相同的电路和相似的能力,或者具有不同的电路和/或能力。在某些实施例中,第一GPU是运行图形代码的通用处理器,而第二GPU是专用GPU。在某些实施例中,当前并没有在驱动显示器的“离线的” GPU能够被用来执行其他的任务。例如,当应用异步地使用分立的GPU来执行工作时,在线的集成的GPU能够专用于窗口管理器的用户接口(UI)。


图I示出了根据一种实施例的能够在不同的图形源之间切换以驱动同一显示器的计算机系统。图2示出了根据一种实施例的图形多路复用器(multiplexer)的结构。图3示出了根据一种实施例的用于在计算机系统中的GPU之间切换的示例性策略。图4示出了用于例示根据一种实施例的配置计算机系统的处理的流程图。图5不出了用于例不根据一种实施例的GPU切换处理的另一流程图。在附图中,同样的附图标记指示相同的附图元件。
具体实施例方式下面的描述被给出以使本领域技术人员能够实现并使用实施例,并且下面的描述是在特定的应用及其要求的情况下提供的。对所公开的实施例的各种修改对本领域技术人员来说应当是显而易见的,并且本文所定义的一般原理在不脱离本公开内容的精神和范围的情况下可以应用于其他实施例和应用。因而,本发明并不限于所示出的实施例,而是应当符合与本文所公开的原理和特征一致的最广泛的范围。在具体实施方式
部分所描述的数据结构和代码通常存储于计算机可读存储介质上,该存储介质可以是能够存储由计算机系统使用的代码和/或数据的任意器件或介质。计算机可读存储介质包括,但不限于,易失性存储器、非易失性存储器、磁存储器件和光存储器件(例如,盘驱动器、磁带、CD (光盘)、DVD (数字通用盘或数字视频盘)或者现在已知的或以后开发的能够存储代码和/或数据的其他介质。在具体实施方式
部分所描述的方法和处理能够被实现为代码和/或数据,该代码和/或数据能够存储于以上所描述的计算机可读存储介质内。当计算机系统读取并执行存储于计算机可读存储介质上的代码和/或数据时,计算机系统执行被实现为数据结构和代码并被存储于计算机可读存储介质内的方法和处理。而且,本文所描述的方法和处理能够包含于硬件模块或装置内。这些模块或装置可以包括,但不限于,专用集成电路(ASIC)芯片、场可编程门阵列(FPGA)、在特定的时间执行特定的软件模块或一段代码的专用的或共用的处理器、和/或现在已知的或以后开发的其他可编程逻辑器件。当硬件模块或装置被激活时,它们执行包含于它们之内的方法和处
理。 所公开的实施例提供用于在计算机系统中的多个图形处理单元(GPU)之间切换的方法和系统。计算机系统可以对应于膝上型计算机、个人计算机、工作站和/或含有嵌入的GPU和分立的GPU的便携式电子器件。嵌入的GPU可以消耗比分立的GPU小的功率,而分立的GPU可以提供比嵌入的GPU更好的图形性能。结果,在计算机系统中对图形的渲染和显示可能涉及在性能和电能节省之间的权衡。更具体地,实施例提供用于在计算机系统中的多个GPU之间基于策略的切换的方法和系统。策略可以将计算机系统中的事件与对单独的GPU的依赖性相关联;与较高的图形性能要求关联的事件可以依赖更强大的GPU,而与较低的图形性能要求关联的事件可以依赖较不强大的GPU和/或取消对更强大的GPU的依赖性。(注意,事件一般可以包括计算机系统的硬件或软件操作状态的任意变化,然而依赖性是在事件与具体GPU的使用之间的关联。)例如,依赖分立的GPU的事件可以触发从嵌入的GPU到分立的GPU的切换以驱动计算机系统的显示器。对GPU的依赖性还可以基于与计算机系统中的图形性能相关联的用户偏好。例如,对较高性能的图形的用户偏好与对较低性能的图形的用户偏好相比可以产生对强大的GPU更大的依赖性。在切换至较高性能的GPU以驱动显示器之后,可以不切换回到较低性能的GPU,直到对较高性能的GPU的全部依赖性都去除了。例如,分立的GPU可以在要求视频重放、使用图形库、请求GTO支持和/或以其他方式而图形密集的应用的执行期间驱动显示器。一旦全部图形密集的应用和/或操作终止,计算机系统就可以切换到嵌入的GPU以节省电能。在计算机系统中的GPU之间基于策略的切换由此可以提高具有较高的图形处理负荷的应用的图形性能,而在此类应用不被执行时节省电能。如下面所讨论的,基于策略的切换另外还可以允许独立于安装在计算机系统上的应用而对计算机系统中的图形处理进行动态配置,以及通过在切换到某一 GPU之前触发该GPU在后台的配置的事件而在GPU之间无缝切换。图I示出了根据一种实施例的计算机系统100。计算机系统100可以对应于个人计算机、膝上型计算机、便携式电子器件、工作站和/或能够在两个图形源之间切换以驱动显示器的其他电子器件。参照图1,两个图形源包括各自都能够单独地驱动显示器114的
(I)分立的GPUllO和(2)嵌入的GPU 118。图形源驱动显示器114由用于在GPU 110和GPU118之间进行选择的GPU多路复用器(GMUX) 120来确定。因此,计算机系统100可以使用GMUX 120来基于当前的操作条件选择图形源。在操作期间,来自分立的GPU 110的显示流122和来自嵌入的GPU 118的显示流124两者都馈入GMUX 120的数据输入。源选择信号126馈入GMUX 120的选择输入,并确定该两个图形源中的哪一个将驱动显示器114。在所示出的实施例中,源选择信号126由桥接芯片104产生,该桥接芯片126包括用于生成源选择信号126的特定逻辑。(注意,源选择信号126还能够由与桥接芯片104不同的逻辑块产生。例如,源选择信号126能够由一个或多个处理单元102产生。)来自所选择的图形源的显示流然后馈入显示器114。在一种实施例中,分立的GPU 110和嵌入的GPU 118通过数据通路128来通信以使它们的显示流同步。注意,使显示流同步可以包括使各自的定时信号和各自的数据信号两者同步。

在一种实施例中,相对于嵌入的GPU 118 (其为消耗较少量的电能的较低性能的GPU),分立的GPU 110是消耗相当大量的电能的高性能GPU。在本实施例中,当图形处理负荷为轻时,系统从使用分立的GPU 110切换到使用嵌入的GPU 118来驱动显示器114,并且随后给分立的GPU 110断电,从而节省电能。另一方面,当图形处理负荷再次变得繁重时,系统将图形源从嵌入的GPU 118切换回到分立的GPU110。尽管我们已经描述了包括分立的GPU和嵌入的GPU的系统,但是所公开的技术一般可以在包括两个或更多个GPU的任何计算机系统中工作,其中这些GPU每个都可以单独地驱动显示器114。而且,在同一计算机系统中的GPU可以具有不同的操作特性和功耗水平。例如,计算机系统可以在一个或多个处理单元102当中的通用处理器(例如,中央处理单元(CPU))与专用GPU (例如,分立的GPU 110)之间切换,以驱动显示器114。因此,所公开的技术并不限于图I所示的具体实施例。同样地,注意,上述用于在图形源之间切换的处理不包括关闭或重新初始化计算机系统。结果,与要求重新初始化的情形相比,该切换处理能够花费显著少的时间。因此,所公开的技术便于在图形源之间快速和频繁地切换。在一种或多种实施例中,计算机系统100提供在分立的GPU 110和嵌入的GPU 118之间基于策略的切换以作为用于驱动显示器114的信号源。具体而言,计算机系统100可以基于与计算机系统100中的图形性能相关的策略,来选择分立的GPU 110或嵌入的GPU118以驱动显示器114。该策略可以将计算机系统中的事件与对单独的GPU的依赖性相关联;与较高的图形性能要求关联的事件可以与分立的GPU 110关联,而与较低的图形性能要求关联的事件可以与嵌入的GPU 118关联。计算机系统100可以从使用嵌入的GPU 118作为用于驱动显示器114的信号源开始,直到通过与图形库、视频重放和/或窗口管理器关联的应用编程接口(API)检测到与对分立的GPU 110的依赖性关联的事件。当应用通过一个或多个预定的API进行函数调用时,系统能够推断出该应用将需要更强大的还是较不强大的图形处理能力。响应于一个或多个函数调用,系统可以启动GPU切换。例如,依赖性可以对应于计算机系统中的OpenGL(OpenGL 是Silicon Graphics公司的注册商标)的使用(例如,链接、装载、方法调用等)和/或可解码的(例如,加密的、压缩的、编码的等)视频内容的QuickTime (QuickTime 是Apple公司的注册商标)重放。依赖性还可以由单独的应用和/或用户在与计算机系统中的图形性能关联的应用执行和/或用户偏好期间通过对从嵌入的GPU 118到分立的GPU 110的切换的显式请求(例如,通过图形库和/或窗口管理器)来触发。注意,GPU切换并不一定由显式的API调用来触发或者与显式的API调用关联。更具体地,GPU切换可以通过与下列项对应的事件来触发(I)与对第二 GPU的依赖性相关联的应用的启动;(2)与对GPU的依赖性相关联的应用的终止;(3)对从第一 GPU到第二 GPU的切换的请求的调用(例如,通过应用);(4)在应用内切换模式或功能;以及(5)图形库的使用和/或可解码的(例如,数字版权管理(DRM))内容的视频重放。与在GPU之间基于策略的切换关联的事件和/或依赖性将在下面参照图3更详细地讨论。响应于事件,计算机系统100可以从嵌入的GPU 118切换到分立的GPU 110以作
为用于驱动显示器114的信号源。在切换期间,依赖于分立的GPU 110的线程可以被阻止,直到分立的GPU 110完全驱动显示器114。可以在对分立的GPU 110的全部依赖性被去除之后切换回到嵌入的GPU 118以作为信号源。例如,计算机系统100可以在硬件可解码内容的视频重放、图形库的使用、和/或与分立的GPU 110关联的应用的执行完成之后恢复到嵌入的GPU 118作为信号源。因为在分立的GPU 110和嵌入的GPU 118之间的切换基于计算机系统100中与图形处理要求关联的事件,所以计算机系统100可以包括用于对应用和用户的图形性能要求的变化快速响应的功能,由此改善图形性能和电能节省。而且,在计算机系统100中通过一个或多个API检测此类事件可以允许独立于安装在计算机系统100上的应用而动态地配置计算机系统100中的图形的显示。最终,用于管理GPU间的切换的可适应的策略的使用可以允许与计算机系统100关联的个体应用和/或用户来调整嵌入的GPU 118和/或分立的GPU 110在驱动显示器114方面的使用。图2示出了根据一种实施例的(在上面参照图I描述的)图形多路复用器120的内部结构。参照图2,来自分立的GPU 110的显示流122和来自嵌入的GPU 118的显示流124分别馈入数据时钟捕捉块205和210。数据时钟捕捉块205和210使显示流122和124解串行化(de-serialize),并且还提取各自的数据时钟信号221和222。这些数据时钟信号221和222馈入时钟MUX 225,时钟MUX 225用于选择数据时钟信号221和222之一以将其转发到显示流汇集器(aSSembler)240。在一种实施例中,GMUX控制器235给时钟MUX225提供选择信号236。另选地,选择信号236可以由其他源(例如,在一个或多个处理单元102中的处理器或其他控制器)来提供。然后,具有分离的数据时钟的显示流122和124分别馈入数据缓冲器215和220。数据缓冲器215和220检查显示流122和124以确定消隐间隔何时出现,并且产生各自的消隐间隔信号233和234。数据缓冲器215和220还产生馈入数据MUX 230的输出数据流。消隐间隔信号233和234馈入GMUX控制器235,该GMUX控制器235比较消隐间隔233和234以确定在显示流122和124的消隐间隔之间存在多少交叠(若存在的话)。(注意,消隐间隔信号233和234可以指示垂直的或水平的消隐间隔。)如果GMUX控制器235确定消隐间隔233和234具有足够多的交叠量,则GMUX控制器235在消隐间隔开始交叠时断言(assert)选择信号236。这导致时钟MUX 225和数据MUX 230在显示流122和124的消隐间隔交叠的时段期间在显示流122和124之间切换。因为切换发生在消隐间隔期间,所以切换过程在显示器114上将是不可见的。
最后,数据MUX 230的输出和所选择的数据时钟223馈入显示流汇集器240,该显示流汇集器240在将数据流发送到显示器114之前使数据流重新串行化(re-serialize)。图3给出了用于例示根据一种实施例的在计算机系统中的GPU之间切换的示例性策略的图。如上所述,该策略可以被用来在作为用于驱动计算机系统中的显示器的信号源的两个不同的GPU (例如,分立的GPU和嵌入的GPU或者GPU和CPU)之间切换。而且,策略可以基于事件304来指定某一 GPU的使用,该事件304例如可以通过由计算机系统中的API来执行应用而生成。特别地,策略可以识别与对较高性能的GPU (例如,分立的GPU 110)的依赖性关联的事件,以及去除对较高性能的GPU的依赖性的事件。如图3所示,事件304可以与图形库306的使用、视频重放308和/或窗口管理器310的动作相关联。图形库306可以允许应用302在计算机系统上使用图形硬件加速。结果,图形库306的使用可以与较高的图形性能要求关联并且触发分立的GPU的使用320。例如,三维(3D)的计算机游戏可以使用OpenGL来渲染使用图形硬件加速的复杂的场景和人物。而且,3D计算机游戏可能需要分立的GPU的功能来实时地渲染和显示图形。特别地,如果应用没有隐式地支持两个GPU(意即离线渲染器在对图形库306的调用期间得不到支持312)和/或应用通过对图形库306中的函数的调用来作出对分立的GPU的显示请求314以使用分立的GPU 320,则可以触发分立的GPU的使用320。另一方面,如果应用支持离线的渲染,则策略可以不指示到分立的GPU的立即切换。作为代替,策略可以允许应用通过对图形库306的另外的方法调用来配置两个GPU的使用。而且,应用可以通过后续对使用嵌入的GPU的显式请求315来去除之前产生的对分立的GPU的依赖性322。如上所述,图形库306的使用可以对应于链接至图形库306、图形库306在应用执行期间的装载和/或由应用对图形库306的方法调用。结果,到分立的GPU的切换可以在 应用执行之前、在应用执行期间和/或在应用使用图形硬件加速期间触发。另外,诸如链接或装载之类的事件可以被用来配置分立的GPU,从而可以在应用最终通过图形库306使用图形硬件加速时无缝切换到分立的GPU。更多细节请参见例如关于图5的描述。如果包括可解码的内容和/或高分辨率/高比特率的重放316,则视频重放308可以与对分立的GPU的依赖性相关联。例如,如果视频内容使用允许由分立的GPU进行的解码、解密和/或解压缩的机制来编码、加密和/或压缩,则可以将分立的GPU用于重放320。使用分立的GPU320来解码视频内容可以进一步由正在播放的视频的分辨率和/或比特率确定。例如,策略可以指定由计算机系统的CPU为低分辨率的视频进行解码以及由分立的GPU 320为高分辨率/高比特率的视频进行解码。作为选择,分立的GPU可以用于离线的环境以解码之后由嵌入的GPU显示于计算机系统上的视频内容。一旦视频重放停止321,就可以去除322与视频重放308相关的依赖性。窗口管理器310的动作同样可以触发切换到分立的GPU 320,例如在所捕捉的显示、显式的请求和/或外部显示318的连接的情况下。更具体地,由应用进行的对显示的捕捉(其中该应用假定对呈现于显示屏(例如,“全屏”)上的内容的完全控制)可以改变计算机系统中的显示配置并且触发图形库306的使用,图形库的使用进而可以促进分立的GPU的使用320。类似地,应用可以提出使用分立的GPU的显式请求和/或通过窗口管理器310请求GPU支持,从而触发切换到分立的GPU320。外部显示与计算机系统的连接还可以提高计算机系统的图形性能需求并且使得使用分立的GPU 320。当这些触发条件由于例如所捕捉的显示的释放、GPU支持的停止、对使用嵌入的GPU的显式请求315和/或外部显示的断开而停止321时,该停止可以触发去除对分立的GPU的一种或多种依赖性322。最终,策略可以在对分立的GPU的全部依赖性都被去除328之后指定使用嵌入的GPU 330。换言之,对分立的GPU的单一依赖性可以触发到分立的GPU的切换,而当没有正在执行的应用依赖分立的GPU时使用嵌入的GPU。本领域技术人员应当意识到,用于在GPU之间切换的不同策略可以基于用户偏好、应用要求和/或与计算机系统关联的GPU特性来使用。例如,如果一个GPU的某些特征在计算机系统中的其他GPU上不可用,则可以存在与该GPU的特征的使用关联的依赖性。按照相同的方式,对较高性能的图形的用户偏好可以在策略中促进对分立的GPU的另外的依赖性的识别,然而对较低性能的图形的用户偏好可以在策略中减少对分立的GPU的依赖性的数量。

同样应当注意,应用的全部依赖性都能够在应用终止时去除。图4示出了用于例示根据一种实施例的配置计算机系统的处理的流程图。在一种或多种实施例中,可以省略、重复和/或按不同的顺序执行一个或多个步骤。因此,图4所示的步骤的具体安排不应被看作是对实施例的范围的限制。起初,显示器使用计算机系统中的第一 GPU来驱动(操作402)。第一 GPU可以对应于低功率的和/或低性能的GPU,例如,执行图形代码的通用处理器和/或集成的GPU。然后,通过API来检测与对计算机系统中第二 GPU的依赖性相关联的事件(操作404)。与第一GPU相比,第二 GPU可以与较高的性能和功耗相关联。例如,如果第一 GPU是集成的GPU,则第二 GPU可以对应于分立的GPU,或者如果第一 GPU是CPU,则第二 GPU可以对应于专用的GPU。API可以与图形库、视频重放和/或窗口管理器相关联。结果,通过API检测到的事件可以被用来评估计算机系统的图形性能要求以及触发第一 GPU和第二 GPU之间的切换。响应于该事件,从第一 GPU切换第二 GPU以作为用于驱动显示器的信号源(操作406)。如上所述,通过在切换之前配置第二 GPU可以有利于第一 GPU和第二 GPU之间的无缝切换。例如,对第二 GPU的配置可以在将图形库装载到应用的可执行文件中时开始,而到第二 GPU的切换可以不发生,直到该应用使用图形库来执行“绘制”操作时。第二 GPU可以继续用作信号源,直到对第二 GPU的所有依赖性被去除(操作408)。例如,第二GPU可以继续驱动显示器,直到全部图形密集的应用和/或由与计算机系统关联的策略指定的操作完成了执行。如果依赖性仍然存在,则第二 GPU继续用作信号源(操作410)。但是,如果对第二 GPU的依赖性不再存在,则信号源被切换回到第一 GPU (操作412)以在计算机系统中节省电能。图5给出了用于例不根据一种实施例的GPU切换处理的另一流程图。起初,显示器使用第一 GPU来驱动(操作502)。然后,响应于检测到初始事件或函数调用,系统配置第二 GPU以进行GPU切换(操作504)。在一种实施例中,到第二 GPU的切换立即发生,使得显示器由第二 GPU来驱动。在另一实施例中,切换响应于检测到后续的事件或函数调用而发生(操作506)。以上关于各种实施例的描述仅出于图示和描述的目的而给出。它们并非意指为穷尽的或者将本发明限于所公开的形式。因此,许多修改和变化对本领域技术人员而言将是显而易见的。另外,上述公开内容并非旨在限制本发明。
权利要求
1.一种用于配置计算机系统的方法,包括 使用所述计算机系统中的第一图形处理单元(GPU)来驱动显示器; 检测一个或多个事件,其中所述一个或多个事件与对所述计算机系统中的第二 GPU的一种或多种依赖性相关联;并且 响应于所述一个或多个事件,准备从所述第一 GPU切换至所述第二 GPU,作为用于驱动所述显示器的信号源。
2.根据权利要求I所述的方法,其中,所述一个或多个事件通过一个或多个应用编程接口(API)来检测。
3.根据权利要求I所述的方法,其中,在准备切换之后,所述方法还包括从所述第一GPU切换至所述第二 GPU。
4.根据权利要求I所述的方法,其中,所述方法还包括在检测到一个或多个后续的事件之后从所述第一 GPU切换至所述第二 GPU。
5.根据权利要求2所述的方法,其中,所述一个或多个API与图形库、视频重放或窗口管理器中的至少一项相关联。
6.根据权利要求5所述的方法,其中,所述一种或多种依赖性对应于下列项中的至少一项 对所述计算机系统中的所述图形库的使用; 对可解码内容的视频重放; 用以从所述第一 GPU切换到所述第二 GPU的请求; 与所述计算机系统中的图形性能相关联的用户偏好;以及 系统事件,例如,插入外设或显示器。
7.根据权利要求6所述的方法,其中,所述请求是对所述窗口管理器或所述图形库作出的。
8.根据权利要求6所述的方法,其中,对所述图形库的使用包括下列项中的至少一项 链接至所述图形库; 在应用执行期间装载所述图形库;以及 对所述图形库的方法调用。
9.根据权利要求8所述的方法,其中,所述一个或多个事件是下列项中的至少一项 与对所述第二 GPU的所述一种或多种依赖性相关联的应用的初始化; 对用以从所述第一 GPU切换到所述第二 GPU的请求的调用; 对所述图形库的使用; 对所述可解码内容的视频重放;以及 系统事件,例如,插入外设或显示器。
10.根据权利要求I所述的方法,还包括 在对所述第二 GPU的全部依赖性都被去除之后将所述信号源切换回到所述第一 GPU。
11.根据权利要求I所述的方法, 其中,所述第一 GPU是集成于系统芯片集内的低功率GPU,而所述第二 GPU是位于分立的GPU芯片上的高功率GPU,并且 其中,所述第一 GPU和所述第二 GPU具有基本上相同的电路和相似的能力。
12.根据权利要求I所述的方法,其中,所述第一GPU是运行图形代码的通用处理器,而所述第二 GPU是专用GPU。
13.一种用于从第一图形处理器切换至第二图形处理器以驱动显示器的计算机系统,包括 第一图形处理单元(GPU);以及 第二 GPU ; 其中,所述计算机系统被配置用于 检测与对所述计算机系统中的所述第二 GPU的依赖性相关联的一个或多个事件;并且响应于所述一个或多个事件,从所述第一 GPU切换至所述第二 GPU,作为用于驱动所述显示器的信号源。
14.根据权利要求13所述的计算机系统,其中,所述一个或多个事件通过一个或多个API来检测。
15.根据权利要求13所述的计算机系统,其中,在准备切换之后,所述计算机系统被配置用于从所述第一 GPU切换至所述第二 GPU。
16.根据权利要求13所述的计算机系统,其中,所述计算机系统被配置用于在检测到一个或多个后续的事件之后从所述第一 GPU切换至所述第二 GPU。
17.根据权利要求14所述的计算机系统,其中,所述一个或多个API与图形库、视频重放或窗口管理器中的至少一项相关联。
18.根据权利要求17所述的计算机系统,其中,所述一种或多种依赖性对应于下列项中的至少一项 对所述计算机系统中的所述图形库的使用; 对可解码内容的视频重放; 用以从所述第一 GPU切换到所述第二 GPU的请求; 与所述计算机系统中的图形性能相关联的用户偏好;以及 系统事件,例如,插入外设或显示器。
19.根据权利要求18所述的计算机系统,其中,所述请求是对所述窗口管理器或所述图形库作出的。
20.根据权利要求18所述的计算机系统,其中,对所述图形库的使用包括下列项中的至少一项 链接至所述图形库; 在应用执行期间装载所述图形库;以及 对所述图形库的方法调用。
21.根据权利要求20所述的计算机系统,其中,所述一个或多个事件包括下列项中的至少一项 与对所述第二 GPU的所述一种或多种依赖性相关联的应用的初始化; 对用以从所述第一 GPU切换到所述第二 GPU的请求的调用; 对所述图形库的使用; 对硬件可解码内容的视频重放;以及 系统事件,例如,插入外设或显示器。
22.根据权利要求13所述的计算机系统,其中,所述计算机系统还被配置用于 在对所述第二 GPU的全部依赖性都被去除之后将所述信号源切换回到所述第一 GPU。
23.一种用于存储指令的计算机可读存储介质,所述指令在由计算机执行时使得所述计算机执行用于配置计算机系统的方法,所述方法包括 使用所述计算机系统中的第一图形处理单元(GPU)来驱动显示器; 检测一个或多个事件,其中所述一个或多个事件与对所述计算机系统中的第二 GPU的一种或多种依赖性相关联;并且 响应于所述一个或多个事件,从所述第一 GPU切换至所述第二 GPU,作为用于驱动所述显示器的信号源。
24.根据权利要求23所述的计算机可读存储介质,其中,所述一个或多个事件通过一个或多个API来检测。
25.根据权利要求23所述的计算机可读存储介质,其中,在准备切换之后,所述方法还包括从所述第一 GPU切换至所述第二 GPU。
26.根据权利要求23所述的计算机可读存储介质,其中,所述方法还包括在检测到一个或多个后续的事件之后从所述第一 GPU切换至所述第二 GPU。
27.根据权利要求24所述的计算机可读存储介质,其中,所述一个或多个API与图形库、视频重放或窗口管理器中的至少一项相关联。
28.根据权利要求27所述的计算机可读存储介质,其中,所述一种或多种依赖性对应于下列项中的至少一项 对所述计算机系统中的所述图形库的使用; 对可解码内容的视频重放; 用以从所述第一 GPU切换到所述第二 GPU的请求; 与所述计算机系统中的图形性能相关联的用户偏好;以及 系统事件,例如,插入外设或显示器。
29.根据权利要求28所述的计算机可读存储介质,其中,所述请求是对所述窗口管理器或所述图形库作出的。
30.根据权利要求28所述的计算机可读存储介质,其中,对所述图形库的使用包括下列项中的至少一项 链接至所述图形库; 在应用执行期间装载所述图形库;以及 对所述图形库的方法调用。
31.根据权利要求30所述的计算机可读存储介质,其中,所述一个或多个事件是下列项中的至少一项 与对所述第二 GPU的所述一种或多种依赖性相关联的应用的初始化; 对用以从所述第一 GPU切换到所述第二 GPU的请求的调用; 对所述图形库的使用; 对所述可解码内容的视频重放;以及 系统事件,例如,插入外设或显示器。
32.根据权利要求23所述的计算机可读存储介质,还包括在对所述 第二 GPU的全部依赖性都被去除之后将所述信号源切换回到所述第一 GPU。
全文摘要
所公开的实施例提供了一种用于配置计算机系统以在图形处理单元(GPU)之间切换的系统。在一种实施例中,该系统使用计算机系统中的第一图形处理单元(GPU)来驱动显示器。然后,该系统检测与对计算机系统中的第二GPU的一种或多种依赖性相关联的一个或多个事件。最后,响应于该事件,系统准备从第一GPU切换到第二GPU,作为用于驱动显示器的信号源。
文档编号G06F9/445GK102763081SQ201080063785
公开日2012年10月31日 申请日期2010年12月22日 优先权日2010年1月6日
发明者C·C·尼德欧尔, G·G·斯达尔 申请人:苹果公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1