首页 / 专利库 / 物理 / 频率 / 帧内实时频率控制

内实时频率控制

阅读:1037发布:2020-06-30

专利汇可以提供内实时频率控制专利检索,专利查询,专利分析的服务。并且GPU的推荐操作 频率 由 操作系统 确定。时序信息被用于估计完成当前 帧 的 渲染 的时间。如果完成当前帧的渲染的时间的估计大于 截止时间 之前所剩余的时间,则GPU的操作频率在帧中迅速增加。新的操作频率被选择以使得当前帧的渲染可有望在截止时间到来之前被完成。因此,当渲染工作负载对于某一帧而言较低时,以较低频率操作GPU从而节省功率。当工作负载对于某一帧而言较高时(即使工作负载对于前一帧而言较低),以较高频率操作GPU从而确保高 质量 的用户体验。,下面是内实时频率控制专利的具体信息内容。

1.一种集成电路,包括:
图形处理单元(GPU),用于在旨在输出到显示设备的缓冲器中周期性地渲染帧图像;
以及,
频率管理单元,用于基于对当前帧的处理时间的逐帧估计以及对用于完成所述当前帧的渲染的目标时间到达之前的剩余时间的指示,在逐帧的基础上周期性地控制所述GPU的处理频率。
2.如权利要求1所述的集成电路,其特征在于,所述频率管理单元将基于由操作系统组件控制的指示符来设置最小处理频率。
3.如权利要求1所述的集成电路,其特征在于,完成所述当前帧的渲染的所述目标时间基于对垂直同步信号出现之前的剩余时间的指示。
4.如权利要求1所述的集成电路,其特征在于,对所述当前帧的所述处理时间的估计基于与相应的多个先前渲染的帧相关联的多个处理时间的测量到的指示。
5.如权利要求1所述的集成电路,其特征在于,对所述当前帧的所述处理时间的估计基于与最近渲染的帧相关联的多个处理时间的平均值。
6.一种操作图形处理单元(GPU)以帧速率周期性地渲染旨在输出到显示设备的帧缓冲器中的帧图像的方法,所述方法包括:
以第一处理频率操作所述GPU;
对于每一帧并且至少以所述帧速率发生,在当前帧正在被渲染时,估计完成所述当前帧的渲染的剩余时间;
对于每一帧并且至少以所述帧速率发生,接收对用于完成所述当前帧的所述渲染的截止时间之前的剩余时间的指示;以及,
在所述当前帧正在被渲染时,并基于完成所述当前帧的所述渲染的所述估计剩余时间,在完成所述当前帧的所述渲染的所述截止时间到达之前以第二操作频率操作所述GPU达至少一部分所述剩余时间。
7.如权利要求6所述的方法,其特征在于,基于完成所述当前帧的所述渲染的所述估计剩余时间超过用于完成所述当前帧的所述渲染的所述截止时间之前的所述剩余时间,以所述第二操作频率操作所述GPU。
8.如权利要求6所述的方法,其特征在于,基于在以所述第一操作频率操作时完成所述当前帧的所述渲染的所述截止日期之前的所述剩余时间超过完成所述当前帧的所述渲染的所述估计剩余时间,以所述第二操作频率操作所述GPU。
9.如权利要求6所述的方法,其特征在于,所述第一处理频率由操作系统确定。
10.如权利要求6所述的方法,其特征在于,完成所述当前帧的所述渲染的所述剩余时间是基于渲染紧邻的先前帧所花费的多个渲染时间的。
11.一种操作图形处理单元(GPU)以帧速率周期性地渲染旨在输出到显示设备的帧缓冲器中的帧图像的方法,所述方法包括,针对每个帧:
在接收到开始渲染当前帧的命令之前,以第一处理频率操作所述GPU;
在接收到开始渲染所述当前帧的第一命令之前,估计完全渲染所述当前帧的第一剩余时间;
接收对用于完成所述当前帧的所述渲染的第一截止时间之前的第一剩余时间的指示;
以及,
在接收到开始渲染所述当前帧的所述命令之前,并基于完全渲染所述当前帧的所述估计剩余时间,在完全渲染所述当前帧的所述第一截止时间到达之前以第二操作频率操作所述GPU达至少一部分所述剩余时间。
12.如权利要求11所述的方法,其特征在于,基于完全渲染所述当前帧的所述估计剩余时间超过用于完成所述当前帧的所述渲染的所述第一截止时间之前的所述剩余时间,以所述第二操作频率操作所述GPU。
13.如权利要求11所述的方法,其特征在于,基于完成所述当前帧的所述渲染的所述第一截止时间之前的所述剩余时间超过完全渲染所述当前帧的所述估计剩余时间,以所述第二操作频率操作所述GPU。
14.如权利要求11所述的方法,其特征在于,所述第一处理频率由操作系统确定。
15.如权利要求11所述的方法,其特征在于,进一步包括:
在接收到开始渲染所述当前帧的所述第一命令之后,并且在接收到开始渲染连续帧的第二命令之前,以所述第二处理频率操作所述GPU;
在接收到开始渲染所述连续帧的所述命令之前,估计完成所述连续帧的渲染的第二剩余时间;
接收到对用于完成所述连续帧的所述渲染的第二截止时间之前的第二剩余时间的指示;以及,
在接收到开始渲染所述连续帧的所述命令之前,并基于完成所述连续帧的所述渲染的所述估计剩余时间,在完成所述连续帧的所述渲染的所述第二截止时间到来之前,以所述第一操作频率操作所述GPU达至少一部分所述剩余时间。

说明书全文

内实时频率控制

[0001] 背景
[0002] 集成电路和片上系统(SoC)可能包括读取并执行指令的多个独立处理单元(也称为“核”)。这些多核处理芯片通常协作以实施多处理。这些处理核可能具有与它们可能执行的任务有关的专用途。例如,专用处理器可能具有旨在在渲染图形图像时为其赋予高性能的额外的电路系统或其他处理能——这种类型的设备可被称为例如图形处理单元(GPU)。
[0003] 概述
[0004] 本文讨论的示例涉及一种集成电路,该集成电路包括图形处理单元(GPU)以在帧缓冲器中周期性地渲染帧图像。这些图像旨在输出到显示设备。还包括频率管理单元以逐帧控制GPU的处理频率。GPU的选定处理频率所基于的是对当前帧的处理时间的估计以及对用于完成当前帧的渲染的目标时间到达之前的剩余时间的指示。
[0005] 在另一示例中,一种操作图形处理单元(GPU)以周期性地渲染旨在输出到显示设备的帧缓冲器中的帧图像的方法包括:以第一处理频率操作GPU,并且在渲染当前帧时,估计完成当前帧的渲染的剩余时间。接收到对用于完成当前帧的渲染的截止时间之前的剩余时间的指示。在渲染当前帧时,并基于完成当前帧的渲染的估计剩余时间,在完成当前帧的渲染的截止时间到达之前以第二操作频率操作GPU达至少一部分该剩余时间。
[0006] 在另一示例中,一种操作图形处理单元(GPU)以周期性地渲染旨在输出到显示设备的帧缓冲器中的帧图像的方法,该方法包括:在接收到开始渲染帧的命令之前,以第一处理频率操作GPU;在接收到开始渲染帧的命令之前,估计完成帧的渲染的剩余时间;接收对用于完成帧的渲染的截止时间之前的剩余时间的指示;以及在接收到开始渲染帧的命令之前,并基于完成帧的渲染的估计剩余时间,在完成帧的渲染的截止时间到达之前以第二操作频率操作GPU达至少一部分该剩余时间。
[0007] 提供本概述以便以简化的形式介绍以下在详细描述中进一步描述的概念的选集。本概述并不旨在标识所要求保护的主题的关键特征或必要特征,亦非旨在用于限制所要求保护的主题的范围。此外,所要求保护的主题不限于解决在本公开的任一部分中提及的任何或所有缺点的实现。
[0008] 附图简述
[0009] 为了描述可以获得以上所列举的及其他优点和特征的方式,提出了更具体的描述并且将通过参考在附图中解说的其具体示例来呈现。可以理解这些附图只描绘了典型的示例,并因此不应被视为是对其范围的限制,将通过使用附图以附加的特征和细节来描述和解释各实现。
[0010] 图1是例示计算系统的框图
[0011] 图2是例示动态时钟和电压缩放(DCVS)的方法的流程图
[0012] 图3例示了每帧发生的事件和间隔的示例时序。
[0013] 图4例示了操作频率改变的示例图形处理单元。
[0014] 图5是例示操作图形处理单元以周期性地渲染帧图像的方法的流程图。
[0015] 图6是例示周期性地渲染帧图像的方法的流程图。
[0016] 图7是例示调整图形处理单元的处理频率的方法的流程图。
[0017] 实施例的详细描述
[0018] 下面详细讨论各示例。尽管讨论了具体实现,但应当理解,这仅仅是出于解说目的而完成的。相关领域的技术人员将认识到,可以在不偏离本公开的主题的精神和范围的情况下使用其他组件和配置。各实现可以是机器实现的方法、计算设备或集成电路。
[0019] 虚拟现实(VR)、增强现实(AR)和混合现实(MR)是典型的具有帧渲染截止时间的应用。如果错过了这些截止时间,则用户看到的所得显示可能是不可接受和/或不愉快的。例如,在VR、AR和/或MR应用中,运动到显示的延迟、低帧速率、丢失帧等可能会破坏对“现实”的幻想。这些问题也可能导致用户头晕或其他不想要的感觉。
[0020] 在一个实施例中,GPU的推荐操作频率由操作系统(例如,OS或图形驱动程序)确定。与时间相关的信息是在帧的渲染之前或帧的渲染期间被接收到的。此时序信息的一部分被用于估计完成当前帧的渲染的时间。此信息的另一部分被用于确定在待渲染的当前帧的截止时间到达之前还剩余多少时间。如果完成当前帧的渲染的时间(加上可选的保护间隔)的估计大于截止时间之前所剩余的时间,则GPU的操作频率在帧中迅速(例如,在不到1ms的时间内)增加。新的操作频率被选择以使得当前帧的渲染可有望在截止时间到来之前被完成。对每个帧重复此过程,使得随着渲染工作负载在帧到帧之间变化,GPU的操作频率也会变化。因此,当渲染工作负载对于某一帧而言较低时,以较低频率操作GPU从而节省功率。当工作负载对于某一帧而言较高时(即使工作负载对于先前帧而言较低),以较高频率操作GPU从而确保高质量的用户体验。
[0021] 图1是例示计算系统的框图。系统100和/或其组件包括实现或被用来实现附图中所解说的方法、系统和/或设备、附图的对应讨论、和/或本文中被以其他方式教导的电路、软件、和/或数据。系统100和/或其组件可以是和/或可包括一个或多个集成电路(例如,GPU 180可以是集成电路)。
[0022] 系统100包括通信接口120、通用处理系统130、存储系统140、显示器160和图形处理单元(GPU)180。通用处理系统130可操作地耦合到存储系统140。存储系统140储存软件150和数据170。软件150可包括操作系统(OS)151以及动态时钟和电压缩放软件152。通用处理系统130可操作地耦合到通信接口120和GPU 180。
[0023] 通用处理系统130可包括一个或多个通用微处理器。通用处理系统130可包括可编程或专用电路系统,诸如浮点处理器和网络处理器。通用处理系统130可被分布在多个设备、处理器、存储和/或接口之间。
[0024] GPU 180是一种专用处理器,其被设计用于在称为帧缓冲器的存储器中快速创建图像。一旦图像的表示被创建在帧缓冲器中,其就通常被输出到显示设备160。GPU可被用于例如游戏控制台、个人计算机、个人计算机和移动电话中。GPU通常被配置成在创建和处理计算机图形和图像方面高效。GPU的高度并行结构通常使它们在创建和处理图像方面比通用处理器更高效。在一个实施例中,GPU 180包括频率管理器181和帧时序185。频率管理器181包括实时动态时钟和电压缩放(RT DCVS)182。RT DCVS 182可例如被实现在由GPU180执行的硬件(例如,有限状态机)和/或软件/固件中。
[0025] 通信接口120可以包括网络接口、调制解调器、端口、总线、链路、收发器、或其他通信设备。通信接口120可以分布在多个通信设备之间。显示器160可包括图形显示器触摸屏、或其他类型的显示组件或设备。存储系统140可以包括磁盘、磁带、集成电路、RAM、ROM、EEPROM、闪存存储器、网络存储、服务器、或其他存储器功能。存储系统140可以包括计算机可读介质。存储系统140可以分布在多个存储器设备之间。
[0026] 通用处理系统130从存储系统140检索并执行软件150。通用处理系统可检索并执行包括操作系统(OS)151的软件150。操作系统151可包括DCVS软件152,该DCVS软件152计算默认情况下将被应用于GPU 180的一个或多个操作参数(例如,操作频率和操作电压)。通用处理系统130可以检索和储存数据170。通用处理系统130还可以经由通信接口120检索并储存数据。通用处理系统150可创建或修改软件150或数据170以取得有形结果。通用处理系统可(经由GPU 180)控制通信接口120或显示器160以取得有形结果。通用处理系统130可经由通信接口120检索并执行远程储存的软件。
[0027] 软件150和远程储存的软件可包括操作系统151、实用程序、驱动程序(例如,DCVS 152)、联网软件,以及通常由计算机系统执行的其他软件。软件150可以包括应用程序、小应用程序(applet)、固件,或者通常由计算机系统执行的其他形式的机器可读处理指令。软件
150可包括一个或多个VR、AR和/或MR应用程序、小应用程序、固件、或其他形式的机器可读指令以在经由显示器160进行查看时创建VR、AR和/或MR体验。当由处理系统130执行时,软件150或远程储存的软件可指示系统100如本文中所描述地进行操作。
[0028] 在一个实施例中,频率管理器181使用来自帧时序185的信息来监视帧内时序和活动以控制每帧GPU 180的操作频率。因为频率管理器181、帧时序185和RT DCVS 182是GPU 180的一部分,所以频率管理器181能够快速地(相对于帧速率而言)改变GPU 180的操作频率。例如,如果GPU 180每20ms(即,以50Hz的刷新率)渲染一帧,则频率管理器181可能能够在1ms内改变GPU180的操作频率。在比帧速率小得多(例如,÷20)的间隔上周期性地改变(即,增加或减少)GPU 180的操作频率的能力,允许频率管理器181使这些操作频率在帧中改变。在帧中改变GPU 180的操作频率的能力允许频率管理器181在帧正在被渲染时改变用于渲染该帧的操作频率,并使新的操作频率影响GPU180渲染该帧所花费的时间量(与仅影响后续帧的渲染时间和/或仅能在N>1的情况下每N帧改变一次渲染时间相反)。
[0029] 频率管理器181从OS 150和/或DCVS 152接收对推荐的(例如,默认的)操作频率的指示。频率管理器181还从帧时序185接收时序信息。此时序信息可包括例如对应于当前时间的时序器值、指示GPU 180开始渲染的时间(即,绘制调用提交时间)、上一帧截止时间的时间和当前帧截止时间的预测时间。在一个示例中,帧截止时间对应于由GPU 180发送到显示器160的垂直同步信号Vsync的时序。
[0030] 为了在逐帧的基础上选择操作频率,对于每一帧,频率管理器181可使用来自帧时序185的信息从中接收到和/或计算出以下值:(1)TVsync:各渲染截止时间之间的总时间(例如,Vsync脉冲);(2)Telapsed:从上一渲染截止时间到当前时间的经过时间;(3)Tc:当前帧渲染时间的开始(即上一截止时间)和由处理器130控制的GPU 180开始渲染的时间之间的时间(即从当前帧的开始到GPU 180开始渲染当前帧的时间的时间);(4)TR:GPU 180将花费以渲染当前帧的预测(或估计)时间;(5)TV:GPU 180渲染连续帧所花费的时间变化的估计;以及,(6)TG:增加冗余以确保GPU 180在下一截止时间之前完成渲染当前帧的保护时间。
[0031] 可基于最近渲染的帧的渲染时间的平均值来计算TR。例如,可基于最后几个(例如1、2、3等)帧的渲染时间的移动平均值来计算TR。在另一示例中,可基于在先前帧上的渲染时间的加权移动平均值(例如,指数窗口)来计算TR。可根据帧时序185的相似信息(例如,TR的变化)来计算Tv。
[0032] 在一个实施例中,当GPU 180接收到开始渲染每个帧的命令时,频率管理器181将估计的工作负载(即,估计的渲染时间)与下一渲染截止时间之前的剩余时间(例如,Vsync)进行比较。此比较检测绘制调用是早了和/或晚了,并使频率管理器181相应地调整GPU 180的操作频率。如果预测的剩余渲染时间大于到下一渲染截止时间的剩余时间,则频率管理器181计算并应用新的频率电平(例如,高于当前电平的频率),以避免错过渲染截止时间。如果预测的剩余渲染时间小于到下一渲染截止时间的剩余时间,则频率管理器181计算并应用新的频率电平(例如,低于当前电平的频率),以在不错过渲染截止时间的情况下降低功耗。为了计算新的频率,频率管理器181可被用于以下各项:(i)用于渲染当前帧的预测剩余时间(TRR=TC+TR-Telapsed);(ii)到渲染截止时间为止的剩余时间(Trmng=TVsync-Telapsed);
以及包括保护时间的到渲染截止时间为止的剩余时间(TGrmng=TVsync-Telapsed-TG);并且Fnew=Fold×(TC+TR-Telapsed)/(TVsync-Telapsed),其中Fold是GPU 180的当前操作频率而Fnew是新频率。但是,如果此计算出的Fnew小于从OS 150和/或DCVS 152接收到的值,则Fnew被设置成从OS 150和/或DCVS 152接收到的值。
[0033] 在一个实施例中,为了在逐帧的基础上选择操作频率,对于每一帧,在当前帧的渲染开始之后,频率管理器181比较估计的工作负载(即,估计的总渲染时间)和到目前为止在当前帧中已经过去的渲染时间。此比较检测渲染工作负载中的快速改变,并使频率管理器181相应地调整GPU 180的操作频率。如果到目前为止的渲染时间是比预测的总工作负载(渲染时间)大的阈值(或公式)量,则频率管理器181可将GPU 180的操作频率增加预定比例以避免错过渲染截止时间。为了计算新的频率,频率管理器181可使用以下各项:(a)GPU 
180到目前为止已在渲染当前帧上花费的时间(Telapsed-TC);(b)用于渲染当前帧的经修改的预测剩余时间(TrevRR=TC+W x TR-Telapsed);(c)以及Fnew=Fold×(TC+TR-Telapsed)/(TVsync-Telapsed)。但是,如果此计算出的Fnew小于从OS 150和/或DCVS 152接收到的值,则Fnew被设置成从OS 150和/或DCVS 152接收到的值。在上文中,其中Fold是GPU 180的当前操作频率;Fnew是新频率;且W是预定常数(例如,最坏情况下的帧间工作负载增加/改变的度量或估计值——通常W≈1.1,这意味着假定连续帧之间的工作负载约10%的改变为最坏的情况)。
[0034] 因此,应当理解,系统100(尤其是频率管理器181)可监视每帧渲染工作负载(以渲染时间表示)和每帧渲染截止时间(Vsync时序)以便覆盖由OS 150和/或DCVS 152设置的默认GPU 180操作频率。这可以对每个帧周期性地进行。因此,频率管理器181可基于GPU 180何时开始渲染每个帧以及距离渲染该帧的截止时间的剩余时间,就在帧的渲染之前或期间,确定用于渲染该帧的GPU180操作频率。通常,此操作频率可以大于由OS 150和/或DCVS 152设置的下限(默认)频率。
[0035] 在一个实施例中,GPU 180将在旨在输出到显示设备160的帧缓冲器中周期性地渲染帧图像。频率管理器181基于对当前帧的处理时间的估计(TRR)以及对用于完成当前帧的渲染的目标时间到达之前的剩余时间的指示,在逐帧的基础上周期性地(例如,以帧速率或高于帧速率)控制GPU 180的处理频率。尽管如此,频率管理器181仍基于由操作系统151和/或操作系统组件(例如,DCVS 152)控制的指示来设置最小处理频率。
[0036] 完成当前帧的渲染的目标时间可以基于对垂直同步信号(例如,Vsync)出现之前的剩余时间的指示。对当前帧的处理时间的估计可例如基于与相应的多个先前渲染的帧相关联的多个处理时间的测量到的指示。对当前帧的处理时间的估计可例如基于与最近渲染的帧相关联的多个处理时间的平均值(并且在一些示例中为加权平均值)。频率管理器181可在GPU 180已经开始渲染当前帧之后改变GPU 180的处理频率。频率管理器181可在GPU 180已经开始渲染当前帧之前改变GPU 180的处理频率。
[0037] 在一个实施例中,GPU 180被配置成在旨在输出到显示设备160的帧缓冲器中以帧速率周期性地渲染帧图像。GPU 180首先被配置成以第一处理频率(例如,渲染上一帧时使用的操作频率和/或由OS 151确定的“默认”频率)操作。对于每一帧,在当前帧正在被GPU 180渲染时,频率管理器181估计完成当前帧的渲染的剩余时间。完成当前帧的渲染的剩余时间可基于一个或多个紧邻的先前帧的先前渲染时间。
[0038] 对于每一帧,频率管理器181接收对用于完成当前帧的渲染的截止时间之前的剩余时间的指示。在当前帧正在被GPU 180渲染时,并基于完成当前帧的渲染的估计剩余时间,在完成当前帧的渲染的截止时间到达之前频率管理器181使GPU 180以第二操作频率操作达至少一部分该剩余时间。
[0039] 基于完成当前帧的渲染的估计剩余时间超过完成当前帧的渲染的截止时间之前的剩余时间,频率管理器181可以以第二操作频率操作GPU 180。基于完成当前帧的渲染的截止时间之前的剩余时间超过完成当前帧的渲染的估计剩余时间,频率管理器181可以以第二操作频率操作GPU 180。
[0040] 当连续帧正在被渲染时,频率管理器181可估计用于完成所述连续帧的渲染的第二剩余时间。频率管理器181可接收对用于完成连续帧的渲染的第二截止时间之前仍然剩余的第二时间的第二指示。在连续帧正在被渲染时,并基于完成该连续帧的渲染的第二估计剩余时间,频率管理器181可在完成连续帧的渲染的截止时间到来之前以第一操作频率操作GPU 180达至少第二部分的该第二剩余时间。
[0041] 在一个实施例中,GPU 180在旨在输出到显示器160的帧缓冲器中周期性地(例如,每帧地)渲染帧图像。在接收到开始渲染当前帧的命令之前,频率管理器181以第一处理频率操作GPU 180。频率管理器181(例如,从帧时序185)接收对用于完成当前帧的渲染的截止时间之前的剩余时间的指示。在接收到开始渲染当前帧的命令之前,并基于完全渲染帧的估计剩余时间,频率管理器181在完成连续帧的渲染的截止时间到来之前以第二操作频率(高于或低于第一操作频率)操作GPU 180达至少一部分剩余时间。
[0042] 第一处理频率可以是由操作系统151和/或DCVS 152确定的默认或“下限”频率。可基于完成当前帧的渲染的估计剩余时间超过完成当前帧的渲染的第一截止时间之前的剩余时间来以第二操作频率操作GPU 180。可基于在完成已经开始的当前帧的渲染的第一截止时间之前的剩余时间超过完成当前帧的渲染的估计剩余时间来以第二操作频率操作GPU 180。
[0043] 在接收到开始渲染当前帧的第一命令之后,并且在接收到开始渲染连续帧的第二命令之前,频率管理器181可以以第二处理频率来操作GPU 180。频率管理器181可在接收到开始渲染连续帧的命令之前估计完全渲染连续帧的第二剩余时间。频率管理器181可接收对用于完成连续帧的渲染的第二截止时间之前的第二剩余时间的指示。在接收到开始渲染连续帧的命令之前,并且基于完成连续帧的渲染的估计剩余时间,频率管理器181可在完成连续帧的渲染的第二截止时间到来之前以第一操作频率操作GPU 180达至少一部分剩余时间。
[0044] 图2是例示动态时钟和电压缩放(DCVS)的方法的流程图。图2中例示的步骤可例如由系统100和/或其组件的一个或多个元件来执行。应用被启动(202)。例如,存储在存储器140中并由通用处理系统130处理的应用可被启动。已经确定了应用的用户体验取决于帧时序(204)。例如,系统100(和通用处理系统130,特别是在软件150的控制下)可确定经启动的应用将向用户提供VR、AR或MR体验。因此,如果GPU 180错过了帧时序截止时间,则用户看到的显示器160上的所得图像可能是不可接受和/或不愉快的。
[0045] GPU DCVS频率被选择作为操作系统选择的DCVS频率和实时选择的DCVS频率的最大值(206)。例如,频率管理器181可监视每帧渲染工作负载和每帧渲染截止时间,以便覆盖由OS 150和/或DCVS 152设置的默认GPU 180操作频率。作出使GPU操作频率变为所选择的GPU DCVS频率的帧内改变(208)。例如,频率管理器181可在由OS 150和/或DCVS 152设置的操作频率与频率管理器181基于来自帧时序185的时序信息计算出的操作频率之间进行选择。频率管理器181可然后将GPU 180的操作频率改变为所选择的频率。
[0046] 图3例示了每帧发生的事件和间隔的示例时序。图3中例示的事件和间隔的时序包括频率管理器181正在决定是否改变GPU 180的操作频率的时间(现在)、TVsync、Telapsed、Tc、TR、Tv和TG。
[0047] 图4例示了操作频率改变的示例图形处理单元。在图4中,针对帧1-6例示了经估计的每帧工作负载。针对帧1-3例示了较小的工作负载。针对帧4-6例示了较大的工作负载。如可在图4中看出,在每一帧期间作出周期性的每帧频率决策。此频率决策基于每帧工作负载。在图4中,与帧4相关联的每帧频率决策确定在渲染帧4期间GPU 180的操作频率发生增加。在图4中,此频率改变确定由箭头402例示,而操作频率的所得增加由箭头404指出。
[0048] 图5是例示操作图形处理单元以帧速率周期性地渲染帧图像的方法的流程图。图5中例示的步骤可例如由系统100和/或其组件的一个或多个元件来执行。例如,图5中例示的各步骤可周期性地重复。可以以至少为帧速率的速率来周期性地重复图5中例示的各步骤,使得GPU 180的操作频率可被控制以每帧至少改变一次。以第一处理频率操作图形处理单元(502)。例如,可以由操作系统151和/或DCVS 152确定的“默认”或“下限”频率操作GPU 180。在另一示例中,可以由频率管理器181和/或实时DCVS 182确定的频率操作GPU 180。频率管理器181和/或实时DCVS 182可基于从帧时序185接收到的时序信息为GPU 180选择每帧操作频率。频率管理器181和/或实时DCVS 182可基于与渲染一个或多个先前帧相关联的工作负载信息(例如,完全渲染所需的时间)为GPU 180选择每帧操作频率。
[0049] 对于每一帧,在当前帧被渲染时,完成当前帧的渲染的剩余时间被估计(504)。例如,基于来自帧时序185的时序信息,频率管理器181和/或OS 151可估计其完成渲染GPU 180当前正在渲染的帧将花费的时间量。此估计可基于渲染紧邻的先前帧的时间和GPU 180已在渲染当前帧上花费的时间量。例如,此步骤可周期性地重复。可以以至少为帧速率的速率来周期性地重复此步骤,使得GPU 180的操作频率可被控制以每帧至少改变一次。
[0050] 对于每一帧,接收到对用于完成当前帧的渲染的截止时间之前的剩余时间的指示(506)。例如,帧时序185可向频率管理器181提供与当前帧有关的时序信息。此时间信息可包括与完成当前帧的渲染的截止时间(诸如直到下一Vsync发生的剩余时间或者自上一Vsync发生以来经过的时间)相关联的指示。在另一示例中,频率管理器181可基于来自帧时序185的信息来计算下一渲染截止时间之前的剩余时间。
[0051] 在渲染当前帧时,并基于完成当前帧的渲染的估计剩余时间,在完成当前帧的渲染的截止时间到达之前以第二操作频率操作GPU达至少一部分该剩余时间(508)。例如,当GPU 180正在渲染帧时,频率管理器181可基于对将需要多少时间来完成当前帧的渲染的估计来控制实时DCVS 182来改变GPU180的操作频率。频率管理器181可进一步基于在截止时间之前剩余多少时间来对GPU 180的操作频率作出这种改变。
[0052] 在另一示例中,基于完成当前帧的渲染的估计剩余时间超过完成当前帧的渲染的截止时间之前的剩余时间,以第二操作频率操作GPU 180。在此情况下,由频率管理器181选择的第二操作频率应大于第一操作频率。在另一示例中,基于在以第一操作频率操作GPU 180时完成当前帧的渲染的截止日期之前的剩余时间超过完成当前帧的渲染的估计剩余时间,则以第二操作频率操作GPU180。由频率管理器181选择的第二操作频率应大于第一操作频率。
[0053] 应当理解,当帧渲染工作负载减少时,GPU 180的操作频率可被降低。例如,在频率管理器181已经增加到GPU 180的操作频率之后,频率管理器181可在连续帧被渲染时估计完成该连续帧的渲染的第二剩余时间。在完成连续帧的渲染的截止时间之前对第二剩余时间的第二指示可(例如,从帧时序185)被接收。然后,在连续帧正在被渲染时,并基于完成该连续帧的渲染的第二估计剩余时间,频率管理器181可在完成连续帧的渲染的截止时间到来之前将GPU 180的操作频率降低到第一操作频率达至少第二部分的该第二剩余时间。
[0054] 图6是例示周期性地渲染帧图像的方法的流程图。图6中例示的步骤可例如由系统100和/或其组件的一个或多个元件来执行。例如,图6中例示的各步骤可周期性地重复。可以至少为帧速率的速率来周期性地重复图6中例示的各步骤,使得GPU 180的操作频率可被控制以每帧至少改变一次。在接收到开始渲染帧的命令之前,以第一操作频率操作图形处理单元(602)。例如,可以由操作系统151和/或DCVS 152确定的“默认”或“下限”频率操作GPU 180。在另一示例中,可以由频率管理器181和/或实时DCVS 182确定的频率操作GPU180。频率管理器181和/或实时DCVS 182可基于从帧时序185接收到的时序信息为GPU 
180选择每帧操作频率。频率管理器181和/或实时DCVS 182可基于与渲染一个或多个先前帧相关联的工作负载信息(例如,完全渲染所需的时间)为GPU 180选择每帧操作频率。
[0055] 在接收到开始渲染帧的命令之前,估计完全渲染帧的剩余时间(604)。例如,基于来自帧时序185的时序信息,频率管理器181和/或OS 151可估计其完全渲染GPU 180将要开始渲染的帧将花费的时间量。此估计可基于渲染一个或多个先前帧的时间。
[0056] 接收到对用于完成当前帧的渲染的截止时间之前的剩余时间的指示(606)。例如,帧时序185可向频率管理器181提供与当前帧有关的时序信息。此时间信息可包括与完成当前帧的渲染的截止时间(诸如直到下一Vsync发生的剩余时间或者自上一Vsync发生以来经过的时间)相关联的指示。在另一示例中,频率管理器181可基于来自帧时序185的信息来计算下一渲染截止时间之前的剩余时间。
[0057] 在接收到开始渲染帧的命令之前,并基于完全渲染帧的估计时间,在完成帧的渲染的截止时间到达之前以第二操作频率操作GPU达至少一部分该剩余时间(608)。例如,在GPU 180开始渲染帧之前,频率管理器181可基于对将需要多少时间来完成渲染当前帧的估计来控制实时DCVS 182来改变GPU180的操作频率。频率管理器181可进一步基于在截止时间之前剩余多少时间来对GPU 180的操作频率作出这种改变。
[0058] 图7是例示调整图形处理单元的处理频率的方法的流程图。图7中例示的步骤可例如由系统100和/或其组件的一个或多个元件来执行。例如,图7中例示的各步骤可周期性地重复。可以至少为帧速率的速率来周期性地重复图7中例示的各步骤,使得GPU 180的操作频率可被控制以每帧至少改变一次。在接收到开始渲染帧的命令之后,以第一处理频率操作CPU(702)。例如,在渲染帧的第一部分期间,可以由操作系统151和/或DCVS 152确定的“默认”或“下限”频率操作GPU 180。在另一示例中,在渲染帧的第一部分期间,可以由频率管理器181和/或实时DCVS 182确定的频率操作GPU 180。频率管理器181和/或实时DCVS 182可基于从帧时序185接收到的时序信息为GPU 180选择启动操作频率。频率管理器181和/或实时DCVS 182可基于与渲染一个或多个先前帧相关联的工作负载信息(例如,完全渲染所需的时间)为GPU 180选择启动操作频率。
[0059] 在接收到开始渲染帧的命令之后,估计完成帧的渲染的剩余时间(704)。例如,在GPU 180在以第一频率操作时部分渲染了帧之后,并基于来自帧时序185的时序信息,频率管理器181和/或OS 151可估计其完成渲染GPU 180当前正在渲染的帧将花费的时间量。此估计可基于渲染紧邻的先前帧的时间和GPU 180已在渲染当前帧上花费的时间量以及GPU 180的当前操作频率。
[0060] 接收到对用于完成帧的渲染的截止时间之前的剩余时间的指示(706)。例如,帧时序185可向频率管理器181提供与当前帧有关的时序信息。此时间信息可包括与完成当前帧的渲染的截止时间(诸如直到下一Vsync发生的剩余时间或者自上一Vsync发生以来经过的时间)相关联的指示。在另一示例中,频率管理器181可基于来自帧时序185的信息来计算下一渲染截止时间之前的剩余时间。
[0061] 在接收到开始渲染帧的命令之后,并基于完成帧的渲染的估计剩余时间,在完成帧的渲染的截止时间到达之前以第二操作频率操作GPU达至少一部分该剩余时间(708)。例如,当GPU 180正在渲染帧时,频率管理器181可基于对将需要多少时间来完成当前帧的渲染的估计来控制实时DCVS 182来改变GPU 180的操作频率。频率管理器181可进一步基于在截止时间之前剩余多少时间来对GPU 180的操作频率作出这种改变。
[0062] 本文中所讨论的诸实现包括但不限于以下示例:
[0063] 示例1:一种集成电路,包括:图形处理单元(GPU),用于在旨在输出到显示设备的帧缓冲器中周期性地渲染帧图像;以及,频率管理单元,用于基于对当前帧的处理时间的逐帧估计以及对用于完成当前帧的渲染的目标时间到达之前的剩余时间的指示,在逐帧的基础上周期性地控制GPU的处理频率。
[0064] 示例2:如示例1的集成电路,其中频率管理单元将基于由操作系统组件控制的指示符来设置最小处理频率。
[0065] 示例3:如示例1的集成电路,其中完成当前帧的渲染的目标时间基于对垂直同步信号出现之前的剩余时间的指示。
[0066] 示例4:如示例1的集成电路,其中对当前帧的处理时间的估计基于与相应的多个先前渲染的帧相关联的多个处理时间的测量到的指示。
[0067] 示例5:如示例1的集成电路,其中对当前帧的处理时间的估计基于与最近渲染的帧相关联的多个处理时间的平均值。
[0068] 示例6:如示例1的集成电路,其中频率管理单元将在GPU已经开始渲染当前帧之后改变GPU的处理频率。
[0069] 示例7:如示例1的集成电路,其中频率管理单元将在GPU已经开始渲染当前帧之前改变GPU的处理频率。
[0070] 示例8:一种操作图形处理单元(GPU)以帧速率周期性地渲染旨在输出到显示设备的帧缓冲器中的帧图像的方法,该方法包括:以第一处理频率操作GPU;对于每一帧并且至少以帧速率发生,在当前帧正在被渲染时,估计完成当前帧的渲染的剩余时间;对于每一帧并且至少以帧速率发生,接收对用于完成当前帧的渲染的截止时间之前的剩余时间的指示;以及,在当前帧正在被渲染时,并基于完成当前帧的渲染的估计剩余时间,在完成当前帧的渲染的截止时间到达之前以第二操作频率操作GPU达至少一部分剩余时间。
[0071] 示例9:如示例8的方法,其中基于完成当前帧的渲染的估计剩余时间超过用于完成当前帧的渲染的截止时间之前的剩余时间,以第二操作频率操作GPU。
[0072] 示例10:如示例8的方法,其中基于在以第一操作频率操作时完成当前帧的渲染的截止日期之前的剩余时间超过完成当前帧的渲染的估计剩余时间,以第二操作频率操作GPU。
[0073] 示例11:如示例8的方法,其中第一处理频率由操作系统确定。
[0074] 示例12:如示例8的方法,其中完成当前帧的渲染的截止时间是基于垂直同步信号的。
[0075] 示例13:如示例8的方法,其中完成当前帧的渲染的剩余时间是基于渲染紧邻的先前帧所花费的多个渲染时间的。
[0076] 示例14:如示例12的方法,进一步包括:当连续帧正在被渲染时,估计用于完成连续帧的渲染的第二剩余时间;接收对在用于完成连续帧的渲染的第二截止时间之前的第二剩余时间的第二指示;以及,在连续帧正在被渲染时,并基于完成连续帧的渲染的第二估计剩余时间,在用于完成连续帧的渲染的截止时间到来之前,以第一操作频率操作GPU达至少第二部分第二剩余时间。
[0077] 示例15:一种操作图形处理单元(GPU)以帧速率周期性地渲染旨在输出到显示设备的帧缓冲器中的帧图像的方法,方法包括,针对每个帧:在接收到开始渲染当前帧的命令之前,以第一处理频率操作GPU;在接收到开始渲染当前帧的第一命令之前,估计完全渲染当前帧的第一剩余时间;接收对用于完成当前帧的渲染的第一截止时间之前的第一剩余时间的指示;以及,在接收到开始渲染当前帧的命令之前,并基于完全渲染当前帧的估计剩余时间,在完全渲染当前帧的第一截止时间到达之前以第二操作频率操作GPU达至少一部分剩余时间。
[0078] 示例16:如示例15的方法,其中基于完全渲染当前帧的估计剩余时间超过用于完成当前帧的渲染的第一截止时间之前的剩余时间,以第二操作频率操作GPU。
[0079] 示例17:如示例15的方法,其中基于完成当前帧的渲染的第一截止时间之前的剩余时间超过完全渲染当前帧的估计剩余时间,以第二操作频率操作GPU。
[0080] 示例18:如示例15的方法,其中第一处理频率由操作系统确定。
[0081] 示例19:如示例15的方法,其中完全渲染第一帧的剩余时间是基于渲染紧邻的先前帧所花费的多个渲染时间的。
[0082] 示例20:如示例15的方法,进一步包括:在接收到开始渲染当前帧的第一命令之后,并且在接收到开始渲染连续帧的第二命令之前,以第二处理频率操作GPU;在接收到开始渲染连续帧的命令之前,估计完成连续帧的渲染的第二剩余时间;接收到对用于完成连续帧的渲染的第二截止时间之前的第二剩余时间的指示;以及,在接收到开始渲染连续帧的命令之前,并基于完成连续帧的渲染的估计剩余时间,在完成连续帧的渲染的第二截止时间到来之前,以第一操作频率操作GPU达至少一部分剩余时间。
[0083] 已出于解说和描述的目的呈现了对所公开的实施例的前述描述。它们不旨在穷举所要求保护的主题或将所要求保护的主题限于所公开的(诸)精确形式,并且鉴于上述教导其他修改和变型都是可能的。选择和描述实施例是为了最好地解释所公开的实施例的原理及其实际应用,从而使得本领域的其他技术人员能够最好地利用适合于预期的特定用途的各种实施例和各种修改。所附示例旨在被解释为包括除受现有技术所限的范围以外的其他替换实施例。
相关专利内容
标题 发布/更新时间 阅读量
频率合成器 2020-05-11 646
频率合成器 2020-05-12 886
频率合成器 2020-05-12 663
频率转换器 2020-05-12 514
频率计 2020-05-11 557
频率合成器 2020-05-13 869
频率转换器 2020-05-13 748
频率合成器 2020-05-13 215
频率转换器 2020-05-12 653
压电石英晶体频率片自动控温腐蚀机 2020-05-11 798
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈