CN116348949A - 动态帧率优化 - Google Patents

动态帧率优化 Download PDF

Info

Publication number
CN116348949A
CN116348949A CN202080106324.7A CN202080106324A CN116348949A CN 116348949 A CN116348949 A CN 116348949A CN 202080106324 A CN202080106324 A CN 202080106324A CN 116348949 A CN116348949 A CN 116348949A
Authority
CN
China
Prior art keywords
frame
display
frame rate
rate
adjusted
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.)
Pending
Application number
CN202080106324.7A
Other languages
English (en)
Inventor
张楠
杨新超
徐勇军
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Qualcomm Inc
Original Assignee
Qualcomm Inc
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Qualcomm Inc filed Critical Qualcomm Inc
Publication of CN116348949A publication Critical patent/CN116348949A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G5/00Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
    • G09G5/18Timing circuits for raster scan displays
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G5/00Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
    • G09G5/003Details of a display terminal, the details relating to the control arrangement of the display terminal and to the interfaces thereto
    • G09G5/005Adapting incoming signals to the display format of the display terminal
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2340/00Aspects of display data processing
    • G09G2340/04Changes in size, position or resolution of an image
    • G09G2340/0407Resolution change, inclusive of the use of different resolutions for different screen areas
    • G09G2340/0435Change or adaptation of the frame rate of the video stream
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2360/00Aspects of the architecture of display systems
    • G09G2360/02Graphics controller able to handle multiple formats, e.g. input or output formats
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2360/00Aspects of the architecture of display systems
    • G09G2360/08Power processing, i.e. workload management for processors involved in display operations, such as CPUs or GPUs
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2360/00Aspects of the architecture of display systems
    • G09G2360/12Frame memory handling
    • G09G2360/121Frame memory handling using a cache memory
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/04Synchronising

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Controls And Circuits For Display Device (AREA)
  • Control Of Indicators Other Than Cathode Ray Tubes (AREA)

Abstract

提供了用于在不改变显示刷新率的情况下动态切换帧率的系统、方法和非暂时性介质。一种示例方法可以包括:从与计算设备相关联的显示设备接收一组控制信号,该组控制信号指示由所述显示设备实现的显示刷新率;调整与来自在所述计算设备上执行的一个或多个应用的应用数据相关联的帧率;基于所述一组控制信号,使经调整的帧率与两个或更多个显示刷新周期同步,每个显示刷新周期基于所述显示刷新率;以所述经调整的帧率向所述显示设备提供第一帧,所述第一帧是基于所述应用数据生成的;以及在实现所述显示刷新率的所述显示设备处显示所述第一帧。

Description

动态帧率优化
技术领域
概括地说,本公开内容涉及对用于显示视觉内容的动态帧率变化进行优化。
背景技术
电子显示器通常集成到各种电子设备中,例如相机、手机、智能可穿戴设备、个人计算机、电视机、扩展现实(例如,增强现实、虚拟现实、混合现实)设备以及许多其他设备。显示器允许电子设备呈现由电子设备生成和/或获得的视觉内容,例如文本、视频和图像。显示器可以通过以特定时间间隔刷新视觉内容来呈现不同的视觉内容。在一些情况下,显示器可以支持不同的刷新率,这允许显示器增加或减少显示器每秒更新其呈现的视觉内容的次数。例如,显示器可以使显示刷新率适应于被电子设备传送到显示器的帧率。电子设备的帧率可以描述电子设备每秒向显示器发送新的或经更新的视觉内容以进行呈现的次数。
发明内容
本文公开了用于对显示视觉内容的动态帧率变化进行优化的系统、方法和计算机可读介质。根据至少一个示例,提供了一种用于对帧率的动态切换进行优化的方法。所述方法可以包括:从与计算设备相关联的显示设备接收一组控制信号,该组控制信号指示由所述显示设备实现的显示刷新率;调整与来自在所述计算设备上执行的一个或多个应用的应用数据相关联的帧率;基于所述一组控制信号,使经调整的帧率与两个或更多个显示刷新周期同步,每个显示刷新周期基于所述显示刷新率;以所述经调整的帧率向所述显示设备提供第一帧,所述第一帧是基于所述应用数据而生成的;以及在实现所述显示刷新率的所述显示设备处显示所述第一帧。
根据至少一个示例,提供了一种用于对帧率的动态切换进行优化的非暂时性计算机可读介质。所述非暂时性计算机可读介质可以包括存储在其中的指令,所述指令在由一个或多个处理器执行时,使所述一个或多个处理器用于:从与计算设备相关联的显示设备接收一组控制信号,该组控制信号指示由所述显示设备实现的显示刷新率;调整与来自在所述计算设备上执行的一个或多个应用的应用数据相关联的帧率;基于所述一组控制信号,使经调整的帧率与两个或更多个显示刷新周期同步,每个显示刷新周期基于所述显示刷新率;以所述经调整的帧率向所述显示设备提供第一帧,所述第一帧是基于所述应用数据生成的;以及在实现所述显示刷新率的所述显示设备处显示所述第一帧。
根据至少一个示例,提供了一种用于对帧率的动态切换进行优化的装置。所述装置可以包括存储器;以及一个或多个处理器,所述一个或多个处理器被配置为:从显示设备接收一组控制信号,该组控制信号指示由所述显示设备实现的显示刷新率;调整与来自在所述装置上执行的一个或多个应用的应用数据相关联的帧率;基于所述一组控制信号,使经调整的帧率与两个或更多个显示刷新周期同步,每个显示刷新周期基于所述显示刷新率;以所述经调整的帧率向所述显示设备提供第一帧,所述第一帧是基于所述应用数据生成的;以及在实现所述显示刷新率的所述显示设备处显示所述第一帧。
根据至少一个示例,提供了用于对帧率的动态切换进行优化的另一装置。所述装置可以包括用于进行以下操作的单元:从显示设备接收一组控制信号,该组控制信号指示由所述显示设备实现的显示刷新率;调整与来自在所述装置上执行的一个或多个应用的应用数据相关联的帧率;基于所述一组控制信号,使经调整的帧率与两个或更多个显示刷新周期同步,每个显示刷新周期基于所述显示刷新率;以所述经调整的帧率向所述显示设备提供第一帧,所述第一帧是基于所述应用数据生成的;以及在实现所述显示刷新率的所述显示设备处显示所述第一帧。
在一些方面,上述方法、计算机可读介质和装置可以包括:以所述经调整的帧率向所述显示设备提供多个帧,所述多个帧是基于与所述一个或多个应用相关联的附加应用数据生成的;以及在不修改所述显示设备处的所述显示刷新率的情况下在所述显示设备处显示所述多个帧。在一些示例中,以所述经调整的帧率提供所述多个帧可以包括:每两个或更多个显示刷新周期,向所述显示设备发送来自所述多个帧中的不同帧。
在一些示例中,所述帧率是在所述一个或多个应用的运行时期间调整的,并且在不改变由所述显示设备实现的所述显示刷新率的情况下调整所述帧率并显示所述第一帧。
在一些示例中,与所述经调整的帧率相关联的第一时间间隔不同于与所述显示刷新率相关联的第二时间间隔。
在一些情况下,以所述经调整的帧率提供所述第一帧可以包括:以所述经调整的帧率渲染所述应用数据,以所述经调整的帧率合成所述第一帧,和/或以所述经调整的帧率向所述显示设备发送所述第一帧。
在一些情况下,以所述经调整的帧率提供所述第一帧可以包括:以所述经调整的帧率生成并且发送所述第一帧。在一些情况下,以所述经调整的帧率提供所述第一帧可以包括:以与所述两个或更多个显示刷新周期相对应的时间间隔向所述显示设备发送所述第一帧。
在一些示例中,使所述经调整的帧率与所述两个或更多个显示刷新周期同步可以包括:以与所述两个或更多个显示刷新周期相对应的时间间隔触发向所述显示设备提供所述第一帧。
在一些方面,上述方法、计算机可读介质和装置可以包括:从所述经调整的帧率切换到不同的帧率,所述不同的帧率等于所述显示刷新率;基于从所述显示设备接收到的一个或多个附加控制信号,使所述不同的帧率与同所述显示刷新率相关联的显示刷新周期同步;以所述不同的帧率向所述显示设备提供第二帧;以及在不修改所述显示设备处的所述显示刷新率的情况下在所述显示设备处显示所述第二帧。在一些示例中,所述第二帧是基于与所述一个或多个应用相关联的附加应用数据生成的,并且从经调整的帧率到所述不同帧率的切换是在运行时执行的。在一些情况下,提供所述第二帧可以包括:以所述不同的帧率渲染、合成以及发送所述第二帧。
在一些示例中,所述帧率是基于所述一组控制信号、所述计算设备处的功耗和/或所述应用数据的一个或多个特性来调整的。
在一些方面,上述装置可以包括一个或多个传感器。在一些示例中,上述装置可以包括移动电话、可穿戴设备、显示设备、移动计算机、头戴式设备和/或相机。
本发明内容并不旨在识别要求保护的发明主题的关键或重要特征,也不旨在单独用于确定要求保护的发明主题的范围。应当通过参考本专利的整个说明书的适当部分、任何或所有附图以及每项权利要求来理解发明主题。
通过参考以下说明书、权利要求书和附图,前述以及其他特征和实施例将变得更加显而易见。
附图说明
参考下列附图在下文中对本申请的说明性实施例进行了详细的描述,其中:
图1是示出根据本公开内容的一些示例的示例内容显示系统的简化框图;
图2是示出根据本公开内容的一些示例的用于控制内容显示系统的帧率的示例系统的简化框图;
图3是示出根据本公开内容的一些示例的用于随时间生成、发送和显示帧的示例显示刷新率和示例帧率的示意图;
图4是示出根据本公开内容的一些示例的显示刷新率和与显示刷新率不同的帧率的示意图;
图5A是示出根据本公开内容的一些示例的、以与显示刷新率不同的帧率生成和显示的帧的示例时序图;
图5B是示出根据本公开内容的一些示例的、与多个显示刷新周期同步的示例帧率的图;
图6是示出根据本公开内容的一些示例的、用于动态切换电子设备的帧率而不改变与电子设备相关联的显示器的刷新率的示例方法的流程图。
图7示出了根据本公开内容的一些示例的示例计算设备架构。
具体实施方式
下面提供了本公开内容的某些方面和实施例。对于本领域技术人员来说将显而易见的是,这些方面和实施例中的一些可以独立地应用,并且它们中的一些也可以组合地应用。在下文的描述中,出于解释的目的,阐述了具体细节以便提供对本申请的实施例的透彻理解。然而,将显而易见的是,可以在不使用这些具体细节的情况下来实施各种实施例。附图和描述不意图是限制性的。
随后的描述仅提供示例实施例,而无意于限制本公开内容的范围、适用性或配置。相反,对示例性实施例的随后描述将向本领域技术人员提供能够实现示例性实施例的描述。应该理解的是,在不脱离所附权利要求书所阐述的本申请的精神和范围的前提下,可以对元素的功能和布置进行各种改变。
如前所述,电子显示器可以与电子设备集成以使电子设备能够呈现由电子设备生成和/或获得的视觉内容(例如,图形、文本、视频、图像或帧等)。电子设备可以包括和/或接合各种类型的电子显示器,例如发光二极管(LED)显示器、量子LED(QLED)显示器、有机发光二极管(OLED)显示器、液晶显示器(LCD),等等。电子显示器可以通过以特定时间间隔刷新视觉内容来呈现不同的视觉内容。在一些情况下,电子显示器可以支持不同的刷新率,这允许电子显示器增加或减少显示器每秒更新其呈现的视觉内容的次数。例如,电子显示器可以根据电子设备向显示器传送的帧率(例如,每秒的帧数)来适配(例如,匹配)电子显示器的刷新率。电子设备的帧率可以描述电子设备发送给显示器以进行呈现的每秒帧数(FPS)。
在一些示例中,可以通过对电子显示器上的像素(或像素电路)和/或LED充电来改变和/或控制电子显示器的刷新率。然而,像素和/或LED的充电和放电可能难以控制,并且可能导致电子显示器呈现的视觉内容的质量和电子显示器的性能方面的不良副作用。此外,改变电子显示器的刷新率会影响电子显示器的光学和颜色。例如,将电子显示器的刷新率从较高的FPS(例如,120赫兹(Hz))切换到较低的FPS(例如,60Hz)会导致强烈的色移以及亮度、颜色、温度和/或色域的变化。在某些情况下,在运行时切换电子显示器的刷新率可能会导致不必要的副作用,例如视觉闪烁,这会对显示器的性能和用户体验产生负面影响。
电子设备可以改变用于将帧传送到显示器的帧率和显示器的刷新率以降低功耗,使显示器的刷新率与电子设备的帧率相匹配,适应由电子设备上的应用生成和/或提供的视觉内容的变化(例如,运动变化、场景变化、颜色和/或光学变化等),减少显示视觉内容更新的响应或滞后时间,以及其他原因。然而,切换电子显示器的刷新率也会产生负面结果,例如视觉闪烁和/或其他不希望的视觉副作用。在一些示例中,所公开的技术通过可变帧率和刷新率解决了这些和其他挑战。在一些情况下,所公开的技术可以动态切换电子设备的帧率,同时保持显示器的刷新率不变。例如,所公开的技术可以在软件中动态切换电子设备的帧率,同时保持物理显示器的刷新率。这样,电子设备就可以在运行时动态改变帧率,而无需更改显示器的刷新率,并避免因更改显示器的刷新率而导致的视觉闪烁等问题。
将在以下公开内容中更详细地描述本技术。讨论开始于对用于显示视觉内容和控制用于生成和/或显示内容的帧率的示例系统和技术的描述,如图1至图5B所示。随后将描述图6所示的用于动态切换帧率的示例方法。讨论以示例计算设备架构的描述结束,该示例计算设备架构包括适合于显示视觉内容和控制帧率的示例硬件组件,如图7所示。本公开内容现在转向图1。
图1是示出根据本公开内容的一些示例的示例显示系统100的图。显示系统100可以生成、接收和显示视觉内容,例如图像(或帧)、视频、图形内容和/或任何其他类型的视觉内容和/或视觉内容的组合。在该说明性示例中,显示系统100可以包括显示器102、存储104和应用处理器110。
显示系统100可以是电子设备或多个电子设备的一部分或由其实现。在一些示例中,显示系统100可以是电子设备(或一些设备)的一部分,例如相机系统(例如,数码相机、IP相机、摄像机、安全摄像头等)、电话系统(例如,智能手机、蜂窝电话、会议系统等)、膝上型计算机或笔记本电脑、平板电脑、电视机、游戏系统、头戴式显示器(HMD)、扩展现实(XR)设备、智能可穿戴设备或者任何其他合适的电子设备。在一些实施方式中,显示器102、存储104、计算组件106和应用处理器110可以是同一计算设备的一部分。例如,在一些情况下,显示器102、存储104和应用处理器110可以集成到相机系统、智能手机、膝上型计算机、平板电脑、智能可穿戴设备、HMD、XR设备、电视机、游戏系统和/或任何其他计算设备。
在其他实施方式中,显示器102、存储104、计算组件106和/或应用处理器110中的一个或多个可以是两个或更多个单独计算设备的一部分或由其实现。例如,在一些情况下,存储104和/或应用处理器110可以由一个或多个电子设备来实现,并且显示器102可以是单独的电子设备或者可以由其来实现。
显示器102可以包括用于显示视觉内容(例如图像(或帧)、视频、图形、文本和/或任何其他类型视觉内容或视觉内容的组合)的电子显示器。在一些示例中,显示器102可以包括用于显示视觉内容的电子屏幕或显示面板。在一些情况下,显示器102可以包括其他电子电路或硬件、计算机软件、固件或者它们的任意组合,例如处理器、存储器、缓冲器、显示接口和/或任何其他软件、固件、硬件或电路。显示器102的非限制性示例可以包括发光二极管(LED)显示器、量子LED(QLED)显示器、有机发光二极管(OLED)显示器、液晶显示器(LCD)等。
显示器102可以从应用处理器110接收诸如帧的视觉内容并且显示视觉内容。在一些示例中,当显示视觉内容时,显示器102可以对显示器102上的一个或多个像素(或像素电路)和/或LED充电以点亮像素和/或LED,改变显示的视觉内容的亮度和/或颜色等。在一些情况下,显示器102可以通过以一种或多种速率发射电荷或发射脉冲来照亮像素和/或LED。一种或多种速率可以表示和/或对应于显示器102的一种或多种刷新率,以用于显示每秒的帧数(例如,FPS)。
在一些示例中,显示器102可以以一种或多种刷新率(例如,每秒一个或多个帧)呈现视觉内容。如本文进一步描述的,在一些示例中,显示器102可以保持一定的刷新率(例如,一定的FPS),并且显示系统100可以通过动态改变由应用处理器110实现的帧率(例如,FPS)来控制和/或调整由显示器102呈现和/或更新的每秒帧数。例如,显示系统100可以控制和改变(例如,通过应用处理器110)发送到显示器102以供呈现的每秒帧数。显示器102可以保持一定的刷新率并且以与应用处理器110相关联的帧率呈现从应用处理器110接收的帧。
在一些示例中,显示系统100可以改变(例如,经由应用处理器110)用于将帧传送到显示器102的帧率,以便降低功耗、适应将由显示器102呈现的视觉内容的变化(例如,运动的变化、场景的变化、颜色和/或光学的变化等),等等其他原因。为了避免诸如视觉闪烁之类的不希望的副作用,显示系统100可以在不改变显示器102的刷新率的情况下调整帧率。作为非限制性说明性示例,显示系统100可以将帧率从120Hz改变为60Hz,同时将显示器102的刷新率保持在120Hz。显示系统100随后可以将帧率从60Hz改变为不同的FPS率,例如120Hz,同时再次将显示器102的刷新率保持在120Hz。
存储104可以是或包括用于存储任何类型数据的任何存储设备。存储104可以存储来自显示系统100的任何组件的数据。例如,存储104可以存储来自计算组件106和/或应用处理器110的数据(例如,帧、参数、输出、计算、偏好、文件等)。
应用处理器110可以包括例如但不限于CPU 112、GPU 114、DSP 116和/或ISP 118。应用处理器110可以使用CPU 112、GPU 114、DSP 116和/或ISP 118来执行各种计算操作,例如图像/视频处理、图形渲染、图像(或帧)合成、同步(例如,帧率同步、信号同步、内容同步、垂直同步、定时同步、缓冲器同步、输出同步等)、机器学习、数据处理、计算和/或任何其他操作。在一些示例中,应用处理器110可以使用CPU 112、GPU 114、DSP 116和/或ISP 118来呈现内容(例如,生成像素值)、合成内容以供呈现(例如,将呈现的内容合成为帧以供呈现)、将帧发送到显示器102以供呈现、控制(例如,调整、维持、管理等)帧率以生成帧和/或将帧传送到显示器102,同步显示内容和/或操作,和/或执行本文进一步描述的其他操作。
在一些情况下,应用处理器110可以包括存储器122(例如,随机存取存储器(RAM)、动态RAM等)和一个或多个缓冲器120。存储器122可以包括一个或多个存储器设备,并且可以包括任何类型的存储器,例如易失性存储器(例如,RAM、DRAM、SDRAM、DDR、静态RAM等)、闪存、基于闪存的存储器(例如,固态驱动器)等。存储器122可用于存储数据,例如图像数据(例如,帧)、信令数据、处理参数、元数据、事件数据、偏好和/或任何类型的数据。在一些示例中,存储器122可用于存储来自显示器102、存储104、其他计算组件106和/或应用处理器110的数据和/或由其使用的数据。
一个或多个缓冲器120可包括存储数据以供未来访问的一个或多个硬件和/或软件组件。在一些示例中,一个或多个缓冲器120可以提供比存储器122或存储104更快的数据访问。例如,一个或多个缓冲器120可以包括任何类型的高速缓存或缓冲器,例如环形缓冲器、系统高速缓存、L2高速缓存等。在一些情况下,一个或多个缓冲器120可以比存储器122和存储104更快和/或更具成本效益。在一些情况下,一个或多个缓冲器120可用于存储/缓冲以及快速提供某些类型的数据,这些类型的数据预计在未来由显示系统100的一个或多个组件(例如,应用处理器110)处理和/或请求,例如帧。帧可以包括视频序列或静止图像的视频帧。帧可以包括表示场景的像素阵列。例如,帧可以是每个像素具有红色、绿色和蓝色分量的红-绿-蓝(RGB)帧;每个像素具有亮度分量和两个色度(颜色)分量(色度红和色度蓝)的亮度、色度红、色度蓝(YCbCr)帧;或任何其他合适类型的彩色或单色图片。
在一些情况下,显示器102、应用处理器110和/或显示系统100可以包括其他电子电路或硬件、计算机软件、固件或其任意组合,以执行本文描述的各种操作中的任何一种。虽然显示系统100被示为包括某些组件,但普通技术人员将理解的是,显示系统100可以包括比图1中所示的(相同和/或其他组件的)更多或更少的组件。例如,显示系统100在一些实例中还可以包括一个或多个其他存储器设备(例如RAM、ROM、高速缓存等)、一个或多个网络接口(例如,有线和/或无线通信接口等)、一个或多个输入设备和/或图1中未示出的其他硬件或处理设备。下文针对图7描述了可以用显示系统100实现的计算设备和硬件组件的说明性示例。
图2是示出用于控制和改变显示系统100的帧率的示例系统的简化框图。在一些情况下,系统可以控制和/或维持显示器102的刷新率。该系统还可以控制和/或改变传送到显示器102的帧率。在该说明性示例中,显示器102可以包括显示驱动器202(和/或显示驱动器集成电路和/或控制器)、显示接口204、定时控制器206、一个或多个缓冲器208以及显示面板210。
显示器102可以从应用处理器110接收数据222(例如,一个或多个帧、控制或同步信号等)并使用数据222来生成(例如,绘制)并在显示面板210上显示视觉内容。在一些情况下,显示器102可以接收数据222并将数据222(或其一部分)存储在一个或多个缓冲器208中供以后使用(例如,处理和/或显示)。显示面板210可以包括用于呈现视觉内容的电子屏幕或显示单元。在一些示例中,显示面板210可以包括LED显示器、QLED显示器、OLED显示器、LCD或任何其他电子屏幕或显示单元。
在一些示例中,显示驱动器202可以使用来自应用处理器110的数据222来为显示器102生成视频数据输出(例如,视频信号)。显示驱动器202可将视频数据输出提供给显示面板210以供呈现。在一些情况下,显示驱动器202可以将控制信号220从定时控制器206发送到应用处理器110。控制信号220可以包括例如一个或多个心跳、定时信号、撕裂效应(TE)信号等。控制信号220可以使应用处理器110和显示器102的时序同步。在一些示例中,控制信号220可以指示(和/或通知应用处理器110):应用处理器110可以或被允许向显示器102发送数据(例如,帧)以在显示器102处呈现,和/或显示器102准备好从应用处理器110接收数据。
在一些情况下,控制信号220可以取决于显示器102的刷新率。例如,显示驱动器202可以以与显示器102的刷新率相对应的特定间隔将控制信号220发送到应用处理器110(例如,在新的刷新周期开始时或在新的刷新周期之前)。在另一示例中,显示驱动器202可以在新的刷新周期开始时或在新的刷新周期之前将控制信号220发送到应用处理器110,并且控制信号220可以控制、触发或指示应用处理器110何时可以向显示器102发送数据(例如,帧)用于呈现和/或显示器已经完成绘制视觉内容以用于在显示面板210处呈现。
在一些示例中,控制信号220可以包括防止屏幕撕裂的TE信号。显示驱动器202可以向显示器102和/或显示面板210提供TE信号以用于垂直同步(vsync)。在一些情况下,TE信号可以触发显示面板210呈现的视觉内容的重绘和/或可以控制(例如,启动)显示器102的刷新周期。显示驱动器202还可以将TE信号馈送到应用处理器110以触发和/或控制由应用处理器110对数据的提供。
显示器102(和/或显示驱动器202)可以使用显示接口204来与应用处理器110通信(例如,以发送和/或接收数据)。显示接口204可以包括用于在显示器102和应用处理器110之间传输数据的连接、总线、信道或路径。在一些情况下,显示接口204可以包括用于在显示器102和应用处理器110之间传输数据的通信协议。通信协议可以定义数据如何在显示器102和应用处理器110之间传输和/或用于在显示器102和应用处理器110之间传输数据的指令。在一些示例中,显示接口204可以包括移动行业处理器接口(MIPI)显示串行接口(DSI)。
在图2的示例中,应用处理器110可以包括显示接口230、一个或多个缓冲器120、CPU 112以及GPU 114。如前所述,在其他示例中,应用处理器110可以包括其他组件,例如不同的处理器、存储器等。GPU 114可用于产生接口230(例如渲染、生成等)、修改、存储和/或发送视频信号(例如帧),如本文所述。
GPU 114可以渲染(例如,使用渲染引擎)来自一个或多个应用的视觉内容,例如视频游戏、媒体播放器、XR应用、视窗系统、操作系统、生产力应用和/或任何其他应用。例如,GPU 114可以为来自一个或多个应用的应用内容生成像素值。在一些情况下,GPU 114可以将经渲染的内容(例如,经生成的像素值)存储在一个或多个缓冲器120中和/或使用经渲染的内容来合成(例如,使用合成器引擎)用于显示器102的帧内容。
GPU 114可以基于经渲染的内容生成帧。GPU 114可以为一个或多个应用生成帧。在一些示例中,GPU 114可以为单个应用生成帧。在其他示例中,GPU 114可以为多个应用生成复合帧。
应用处理器110可以使用显示接口230来将GPU 114生成的帧(例如,数据222)发送到显示器102以在显示面板210处呈现。在一些情况下,应用处理器110还可以使用显示接口230以从显示器102接收数据(例如,控制信号220)。显示接口230可以包括用于在显示器102和应用处理器110之间传输数据的连接、总线、信道或路径。在一些情况下,显示接口230可以包括用于在显示器102和应用处理器110之间传输数据的通信协议。在一些示例中,显示接口230可以包括MIPI DSI。
应用处理器110可以以某个帧率(例如,某个FPS)渲染(例如,经由GPU 114)、合成(例如,经由GPU 114)以及发送(例如,经由显示接口230)帧(例如,数据222)到显示器102。在一些情况下,可以以相同的帧率执行对帧的渲染、合成和发送。在其他情况下,可以以不同的帧率执行对帧的渲染、合成和/或发送。
应用处理器110可以使用来自显示器102的控制信号220来同步、触发和/或控制对帧的渲染、合成和发送。例如,应用处理器110可以使用控制信号220来同步对帧的渲染、合成和发送(和/或用于渲染、合成和发送帧的帧率)。在一些示例中,应用处理器可以相对于显示器102的刷新率和/或周期来同步对帧(和/或关联的帧率)的渲染、合成和发送。
应用处理器110可以使用控制信号220来动态地改变用于对帧进行渲染、合成和发送的帧率。在一些示例中,应用处理器110可以相对于显示器102的刷新率和/或周期来设置和/或改变帧率。例如,应用处理器110可以通过每当它从显示器102接收到控制信号(例如,控制信号220)时触发对帧的渲染、合成和发送来将用于渲染、合成和发送帧的帧率与显示器102的刷新率相匹配。如前所述,可以基于显示器102的刷新周期或对应于显示器102的刷新周期以一定间隔发送控制信号。应用处理器110因此可以使用来自显示器102的控制信号来使应用处理器110使用的帧率与显示器102的刷新率同步。
为了相对于显示器102的刷新率动态地降低帧率,应用处理器110可以在从显示器102接收到一定数量的控制信号之后触发对帧的渲染、合成和发送,其中控制信号的数量大于一。例如,应用处理器110当从显示器102接收到两个或更多个控制信号时可以触发对帧的渲染、合成和发送,而不是每次它从显示器102接收到控制信号时触发对帧的渲染、合成和发送。为了说明,如果显示器102实现120Hz刷新率,则应用处理器110可以以与显示器102的120Hz刷新率相关联的间隔从显示器102接收控制信号。为了在运行时动态地将帧率从120Hz切换到60Hz,应用处理器110可以在它从显示器102接收到两个控制信号时,而不是每次它从显示器102接收到控制信号时触发对帧的渲染、合成和发送。为了切换回120Hz帧率,应用处理器110可以在每次从显示器102接收到控制信号时动态切换到触发对帧的渲染、合成和发送。
如前所述,应用处理器110可以在不改变显示器102的刷新率的情况下动态地(例如,在运行时)切换或改变用于对帧进行渲染、合成和/或发送的帧率。这样,应用处理器110可以在运行时动态切换帧率以优化功耗、适配或调整正在显示的应用内容等,而不会导致在动态改变显示器102的刷新率时经常经历的视觉闪烁。
应用处理器110可以在不改变显示器102的显示刷新率的情况下从当前帧率切换到不同的帧率。在一些示例中,帧率的切换可以由一个或多个控制信号、显示系统100处的功耗和/或用于生成用于在显示器102处显示的帧的应用数据的一个或多个特性来触发。例如,切换帧率可以由功耗阈值和/或显示系统100处的当前功耗触发。在一些示例中,可以触发切换帧率以改变显示系统100处的功耗(例如,以降低功耗)。
在另一示例中,切换帧率可以由用于生成用于在显示器102处显示的帧的应用数据的一个或多个特性来触发。应用数据可以与在显示系统100处执行的一个或多个应用相关联。在一些情况下,应用数据的所述一个或多个特性可以包括应用数据相对于来自一个或多个应用的先前应用数据的变化量,和/或反映在应用数据中的相对于先前应用数据的运动量。
图3是示出用于随时间生成、发送和显示帧的示例显示刷新率和示例帧率的示意图。显示器102可以以与显示刷新率302相对应的时间间隔t生成控制信号220A到220F。在示例显示刷新率302中,显示刷新周期310对应于控制信号220A到220F之间的时间间隔t。例如,每个显示刷新周期310可以在两个控制信号之间的时间间隔t内开始和结束。在每个刷新周期,显示器102可以刷新或更新在显示面板210处呈现的视觉内容。
渲染帧率304、合成帧率306和发送帧率308也对应于控制信号220A到220F之间的时间间隔t。例如,每个渲染动作312的渲染帧率304可以在两个控制信号之间的时间间隔t内开始和结束。应用处理器110可以在两个控制信号之间的时间间隔t内开始和完成每个渲染动作312。
每个合成动作314的合成帧率306也可以在两个控制信号之间的时间间隔t内开始和结束。应用处理器110可以在两个控制信号之间的时间间隔t内开始和完成每个合成动作314。每个发送动作316的发送帧率308可以类似地在两个控制信号之间的时间间隔t内开始和结束。应用处理器110可以在两个控制信号之间的时间间隔t内(例如,在开始、结束处等)将帧发送到显示器102。
在图3所示的示例中,渲染帧率304、合成帧率306和发送帧率308相同并且也匹配显示刷新率302。然而,在其他示例中,渲染帧率304、合成帧率306和/或发送帧率308可以有一次或多次不同。此外,在其他示例中,渲染帧率304、合成帧率306和/或发送帧率308可以不同于显示刷新率302和/或可以从匹配显示刷新率302的帧率动态地切换到不同的帧率,反之亦然。
图4是示出显示刷新率和与显示刷新率不同的帧率的示意图。应用处理器110可以动态地切换到渲染帧率402、合成帧率404和发送帧率406,而显示器102可以保持显示刷新率302。在该示例中,渲染帧率402、合成帧率404和发送帧率406不同于图3中所示的显示刷新率302以及渲染帧率304、合成帧率306和发送帧率308。
渲染帧率402、合成帧率404和发送帧率406各自对应于控制信号220A到220F之间的多个时间间隔t。每个渲染动作410的渲染帧率402可以在三个控制信号之间的两个时间间隔(2t)内开始和结束。例如,第一渲染动作410可以在从控制信号220A到控制信号220C的时间间隔内开始和结束,第二渲染动作410可以在从控制信号220C到控制信号220E的时间间隔内开始和结束,并且第三渲染动作410可以在从控制信号220C到控制信号220E的时间间隔内开始和结束。如图所示,该示例中每个渲染动作410的渲染帧率402跨越两个显示刷新周期。应用处理器110可以在两个显示刷新周期内开始并完成每个渲染动作410。
每个合成动作412的合成帧率404可以类似地在三个控制信号之间的两个时间间隔(2t)内开始和结束。例如,第一合成动作412可以在从控制信号220A到控制信号220C的时间间隔内开始和结束,第二合成动作412可以在从控制信号220C到控制信号220E的时间间隔内开始和结束,并且第三合成动作412可以在从控制信号220E到控制信号220G的时间间隔内开始和结束。如图所示,该示例中每个合成动作412的合成帧率404跨越两个显示刷新周期。应用处理器110可以在两个显示刷新周期内开始并完成每个合成动作412。
每个发送动作414的发送帧率406也可以在三个控制信号之间的两个时间间隔(2t)内开始和结束。例如,第一发送动作414可以在从控制信号220A到控制信号220C的时间间隔内开始和结束,第二发送动作414可以在从控制信号220C到控制信号220E的时间间隔内开始和结束,并且第三发送动作414可以在从控制信号220E到控制信号220G的时间间隔内开始和结束。如图所示,该示例中每个发送动作414的发送帧率406跨越两个显示刷新周期。应用处理器110可以在两个显示刷新周期内开始并完成每个发送动作414。
如前所述,应用处理器110可以在不改变显示器102的显示刷新率的情况下动态地改变渲染帧率、合成帧率和/或发送帧率。在一些示例中,渲染帧率、合成帧率和/或发送帧率的动态变化可以由一个或多个控制信号、显示系统100处的功耗和/或用于生成用于在显示器102处显示的帧的应用数据的一个或多个特性来触发。在另一示例中,对渲染帧率、合成帧率和/或发送帧率的动态变化可以由功耗阈值和/或显示系统100处的当前功耗触发。在一些示例中,对渲染帧率、合成帧率和/或发送帧率的动态变化可以被触发以改变显示系统100处的功耗(例如,以降低功耗)。
在另一示例中,对渲染帧率、合成帧率和/或发送帧率的动态变化可以由用于生成帧以在显示器102处显示的应用数据的一个或多个特性触发。应用数据可以与在显示系统100处执行的一个或多个应用相关联。在一些情况下,应用数据的一个或多个特性可以包括应用数据相对于来自一个或多个应用的先前应用数据的变化量,和/或反映在应用数据中的相对于先前应用数据的运动量。
图5A是示出以与显示刷新率不同的帧率生成和显示的帧的示例时序图。在该示例中,应用处理器110将其用于产生(例如,使用GPU 114渲染、合成和发送)在显示器102处显示的帧的帧率与显示器102使用来刷新在显示面板210处呈现的内容的多个显示刷新周期进行同步。
如图所示,显示器102可以在每个显示刷新周期520刷新在显示面板210处呈现的内容。例如,显示器102可以用下列刷新周期来刷新显示面板210:与从控制信号220A到控制信号220B的时间间隔相对应的第一显示刷新周期520,与从控制信号220B到控制信号220C的时间间隔相对应的第二显示刷新周期520,与从控制信号220C到控制信号220D的时间间隔相对应的第三显示刷新周期520,与从控制信号220D到控制信号220E的时间间隔相对应的第四显示刷新周期520,以及与从控制信号220E到控制信号220F的时间间隔相对应的第五显示刷新周期520。
应用处理器110可以在不改变显示器102处的显示刷新率的情况下动态地改变帧率,它实现该帧率以产生(例如,渲染、合成和发送)用于在显示器102处显示的帧。例如,应用处理器110可以以与从控制信号220A到控制信号220C的时间间隔相对应的帧率产生510(例如,渲染、合成和发送)第一帧502。应用处理器110可以以与从控制信号220C到控制信号220E的时间间隔相对应的帧率产生512(例如,渲染、合成和发送)第二帧504,该帧率与用于产生510第一帧502的帧率相同的帧率。用于产生510、512第一帧502和第二帧504的每个帧率包括两个显示刷新周期520。用于产生510第一帧502的帧率与两个显示刷新周期520同步,而用于产生512第二帧504的帧率类似地与两个显示刷新周期520同步。
在该示例中,应用处理器110可以动态地切换用于产生514(例如,渲染、合成和发送)第三帧506的帧率。如图所示,应用处理器110可以以与从控制信号220E到控制信号220F的时间间隔相对应的不同帧率产生514第三帧506。用于产生514第三帧506的不同帧率与和显示刷新周期520相关联的刷新率相同(和/或同步),但不同于用于产生510、512第一帧502和第二帧504的帧率。
图5B是示出与多个显示刷新周期552同步的示例帧率550的图。应用处理器110可以使用帧率550来渲染、合成帧并将帧发送到显示器102以在显示器102处呈现。显示器102可以使用每个显示刷新周期552来刷新在显示器102处呈现的内容。帧率550可如本文所述被动地态调整并与显示器102实现的一个或多个显示刷新周期552同步。
为了说明的目的,图5B示出了60Hz的帧率550和120Hz的显示刷新周期。然而,本领域的普通技术人员将认识到其他示例可以包括不同的帧率和/或显示刷新率。在该示例中,在时间T1,应用处理器110向显示器102发送560帧以在显示器102处呈现。在T3,应用处理器110向显示器102发送562新帧以在显示器102处呈现。此处,基于帧率550,应用处理器110在T2不发送新帧,因为它直到T3才生成并且发送新帧。
另一方面,基于显示刷新周期552,显示器102在T1、T2和T3处刷新564呈现在显示器102处的内容。该示例中的帧率550与两个显示刷新周期552同步。显示器102可以针对其从应用处理器110接收到的每一帧刷新内容两次。在T2,显示器102尚未从应用处理器110接收到新帧以在显示器102处呈现新帧内容。在T1之后,显示器110可以不呈现新帧内容,直到它在T3从应用处理器110接收到新帧。
已经公开了示例系统、架构和技术,本公开内容现在转向用于在不改变显示刷新率的情况下动态切换帧率的示例方法600,如图6所示。本文概述的步骤是出于说明目的而提供的非限制性示例,并且可以以其任何组合来实施,包括排除、添加或修改某些步骤的组合。
在框602处,方法600可以包括:从与计算设备(例如,显示系统100)相关联的显示设备(例如,显示器102)接收一组控制信号(例如,控制信号220A、220B、220C、220D、220E、220F、220G),该组控制信号指示由显示设备实现的显示刷新率(例如,显示刷新率302)。在一些示例中,该一组控制信号可以由计算设备处的应用处理器(例如,应用处理器110)接收。
该一组控制信号可以包括例如TE信号、定时信号、vsync信号、心跳信号等。在一些示例中,该一组控制信号中的每个控制信号可以指示显示刷新周期(例如,显示刷新周期520)之间的转变和/或显示刷新周期的开始或结束。在一些情况下,该一组控制信号中的每个控制信号可以指示显示设备准备好接收新帧,准备好刷新(例如,更新、绘制等)在显示设备处显示的视觉内容,和/或已经完成刷新在显示设备上显示的视觉内容。
在框604处,方法600可以包括:调整与来自在计算设备上执行的一个或多个应用的应用数据相关联的帧率。可以在运行时动态地调整帧率。在一些示例中,应用数据可以包括来自一个或多个应用的图像数据、视觉内容数据和/或图形数据。在一些情况下,调整帧率可以包括:在一个或多个应用的运行时期间动态地从当前帧率切换到不同的帧率。
在一些情况下,经调整的帧率可以包括或表示渲染帧率(例如,渲染帧率304或402)、合成帧率(例如,合成帧率306或404)和/或发送帧率(例如,发送帧率308或406)。
在一些示例中,与经调整的帧率相关联的第一时间间隔不同于与显示刷新率相关联的第二时间间隔。换言之,经调整的帧率可以不同于显示刷新率(例如,可以表示和/或定义不同的频率或速率)。
在一些情况下,可以基于下列各项来调整帧率和/或调整帧率可由下列各项触发:一组控制信号、计算设备处的功耗和/或应用数据的一个或多个特性。例如,可以调整帧率以跨越与从显示设备接收多个控制信号相对应的间隔。作为另一示例,可以基于功耗阈值、当前功耗来调整帧率(和/或帧率调整可以由其触发)和/或改变计算设备处的功耗(例如,以降低功耗)。
作为另一示例,可以基于应用数据的一个或多个特性来调整帧率(和/或帧率调整可以由其触发)。在一些情况下,应用数据的一个或多个特性可以包括应用数据相对于来自一个或多个应用的先前应用数据的变化量,和/或反映在应用数据中的相对于先前应用数据的运动量。
在框606处,方法600可以包括:基于一组控制信号将经调整的帧率与两个或更多个显示刷新周期(例如,两个或更多个显示刷新周期520)同步。在一些示例中,每个显示刷新周期可以基于显示刷新率。例如,显示刷新周期可以跨越与显示刷新率相对应的时间间隔。在一些情况下,将经调整的帧率与两个或更多个显示刷新周期同步可以包括:将一个或多个帧的生成(例如,渲染、合成)和传输与两个或更多个显示刷新周期(例如,与两个或更多个显示刷新周期的开始和/或结束)对齐。
在框608处,方法600可以包括:以经调整的帧率向显示设备提供第一帧(例如,第一帧502)。第一帧可以基于应用数据生成。例如,可以通过渲染应用数据(例如,生成应用数据的像素值)和基于应用数据的渲染(例如,基于生成的像素值)来合成第一帧来生成第一帧。
在一些情况下,以经调整的帧率提供第一帧可以包括:以经调整的帧率(或在其之内)渲染应用数据、以经调整的帧率(或在其之内)合成第一帧,和/或以经调整的帧率(或在其之内)向显示设备发送第一帧。
在一些情况下,以经调整的帧率提供第一帧可以包括:以经调整的帧率生成并且发送第一帧。在一些示例中,以经调整的帧率提供第一帧可以包括:以与两个或更多个显示刷新周期相对应的时间间隔向显示设备发送第一帧。
在框610处,方法600可以包括:在实现显示刷新率的显示设备处显示第一帧。显示设备可以在实现显示刷新率的同时显示第一帧(例如,不修改显示刷新率)。
在一些示例中,使经调整的帧率与两个或更多个显示刷新周期同步可以包括:以与两个或更多个显示刷新周期相对应的时间间隔触发向显示设备提供第一帧。
在一些示例中,在一个或多个应用的运行时期间调整帧率。在一些情况下,在不改变由显示设备实现的显示刷新率的情况下调整帧率并且显示第一帧。
在一些方面,方法600可以包括:以经调整的帧率向显示设备提供多个帧,以及在不修改显示设备处的显示刷新率的情况下在显示设备处显示多个帧。在一些示例中,可以基于与一个或多个应用相关联的附加应用数据来生成多个帧。
在一些情况下,以经调整的帧率提供多个帧可以包括:每两个或更多个显示刷新周期,向显示设备发送来自多个帧中的不同帧。
在一些方面,方法600可以包括:从经调整的帧率切换到不同的帧率;基于从显示设备接收到的一个或多个附加控制信号,使不同的帧率与同显示刷新率相关联的显示刷新周期同步;以不同的帧率向显示设备提供第二帧;以及在不修改显示设备处的显示刷新率的情况下在显示设备处显示第二帧。在一些示例中,不同的帧率可以等于(例如,可以匹配、可以相同、可以包括相同的时间间隔等)显示刷新率。
在一些情况下,第二帧可以是基于与一个或多个应用相关联的附加应用数据生成的,并且从经调整的帧率到不同帧率的切换可以是在运行时执行的。在一些示例中,提供第二帧可以包括:以不同的帧率渲染、合成以及发送第二帧。
在一些示例中,方法600可以由一个或多个计算设备或装置执行。在一个说明性示例中,方法600可以由图1所示的显示系统100和/或具有图7所示的计算设备架构700的一个或多个计算设备来执行。在一些情况下,此类计算设备或装置可以包括处理器、微处理器、微型计算机或者被配置为执行方法600的步骤的设备的其他组件。在一些示例中,此类计算设备或装置可以包括用于呈现视觉内容的显示面板。例如,计算设备可以包括智能手机、头戴式显示器、移动设备、个人计算机或其他合适的设备。在一些示例中,此类计算设备或装置可以包括被配置为捕获一个或多个图像或视频的相机。在一些情况下,此类计算设备可以包括一个或多个用于捕获传感器数据的传感器。在一些示例中,一个或多个传感器和/或照相机与计算设备分离,在这种情况下计算设备接收感测数据。此类计算设备还可以包括被配置为传送数据的网络接口。
计算设备的组件可以在电路中实现。例如,组件可以包括电子电路或其他电子硬件和/或可以使用其来实现,所述电子电路或其他电子硬件可以包括一个或多个可编程电子电路(例如,微处理器、图形处理单元(GPU)、数字信号处理器(DSP)、中央处理单元(CPU)和/或其他合适的电子电路),和/或可以包括计算机软件、固件或其任何组合和/或使用其来实现,以执行本文所述的各种操作。计算设备还可以包括显示器(作为输出设备的示例或除了输出设备之外)、被配置为传送和/或接收数据的网络接口、它们的任何组合、和/或其他组件。网络接口可以被配置为传送和/或接收基于互联网协议(IP)的数据或其他类型的数据。
方法600被示为逻辑流程图,其操作表示可以用硬件、计算机指令或其组合来实现的一系列操作。在计算机指令的上下文中,操作表示存储在一个或多个计算机可读存储介质上的计算机可执行指令,所述计算机可执行指令在由一个或多个处理器执行时,执行所阐述的操作。通常,计算机可执行指令包括执行特定功能或实现特定数据类型的例程、程序、对象、组件、数据结构等。对操作进行描述的顺序不旨在被解释为限制,并且可以以任何顺序和/或并行地对任何数量的所描述的操作进行组合以实现过程。
另外,方法600可以在被配置有可执行指令的一个或多个计算机系统的控制下执行,并且可以被实现为通过硬件或其组合在一个或多个处理器上共同执行的代码(例如,可执行指令、一个或多个计算机程序或者一个或多个应用)。如上所述,代码可以例如以包括可由一个或多个处理器执行的多个指令的计算机程序的形式存储在计算机可读或机器可读存储介质上。计算机可读或机器可读存储介质可以是非暂时性的。
图7示出了可以实现本文描述的各种技术的示例计算设备的示例计算设备架构700。例如,计算设备架构700可以实现图1所示的显示系统100的至少一些部分,并且执行本文所述的动态帧率切换操作。计算设备架构700的组件被示为使用连接705(例如总线)彼此电通信。示例计算设备架构700包括处理单元(CPU或处理器)710和计算设备连接705,其将各种计算设备组件(包括计算设备存储器715,例如只读存储器(ROM)720和随机存取存储器(RAM))725)耦合至处理器710。
计算设备架构700可以包括与处理器710直接连接、紧邻或集成为处理器710的一部分的高速存储器的高速缓存。计算设备架构700可以将数据从存储器715和/或存储设备730复制到高速缓存712以供处理器710快速访问。以此方式,高速缓存可提供避免处理器710在等待数据时延迟的性能提升。这些和其他模块可以控制或被配置为控制处理器710执行各种动作。其他计算设备存储器715也可用于使用。存储器715可以包括具有不同性能特征的多种不同类型的存储器。
处理器710可以包括任何通用处理器以及存储在存储设备730中,被配置为控制处理器710的硬件或软件服务(例如,服务1 732、服务2 734和服务3 736)以及专用处理器,其中软件指令被合并到处理器设计中。处理器710可以是自包含系统,包含多个核或处理器、总线、存储器控制器、高速缓存等。多核处理器可以是对称的或非对称的。
为了实现与计算设备架构700的用户交互,输入设备745可以代表任何数量的输入机制,例如用于语音的麦克风、用于手势或图形输入的触敏屏幕、键盘、鼠标、运动输入、语音,等等。输出设备735也可以是本领域技术人员已知的多种输出机制中的一种或多种,例如显示器、投影仪、电视、扬声器设备。在一些实例中,多模式计算设备可以使用户能够提供多种类型的输入以与计算设备架构700进行通信。通信接口740通常可以支配和管理用户输入和计算设备输出。对在任何特定硬件布置上的操作没有限制,并且因此这里的基本特征可以很容易地替换为改进的硬件或固件布置(当它们在开发中)。
存储设备730是非易失性存储器并且可以是硬盘或可以存储计算机可访问的数据的其他类型的计算机可读介质,例如磁带、闪存卡、固态存储设备、数字通用盘、盒式磁带、随机存取存储器(RAM)175、只读存储器(ROM)720及其混合。也考虑了其他硬件或软件模块。存储设备730可以连接到计算设备连接705。一方面,执行特定功能的硬件模块可以包括存储在计算机可读介质中的与必要的硬件组件(例如处理器710、连接705、输出设备735等)连接的软件组件,以执行该功能。
术语“计算机可读介质”包括但不限于便携式或非便携式存储设备、光学存储设备以及能够存储、包含或携带指令和/或数据的各种其他介质。计算机可读介质可以包括其中可以存储数据的非暂时性介质,并且该非暂时性介质不包括无线地或通过有线连接传播的载波和/或暂时性电子信号。非暂时性介质的示例可以包括但不限于磁盘或磁带、诸如光盘(CD)或数字通用光盘(DVD)的光学存储介质、闪存器、存储器或存储设备。计算机可读介质上可以存储有代码和/或机器可执行指令,其可以表示过程、功能、子程序、程序、例程、子例程、模块、软件包、类、或者指令、数据结构或程序语句的任意组合。代码段可以通过传递和/或接收信息、数据、自变量、参数或存储器内容来耦合到另一个代码段或硬件电路。信息、自变量、参数、数据等可经由包括存储器共享、消息传递、令牌传递、网络传输等的任何合适的手段来传递、转发或发送。
在一些实施例中,计算机可读存储设备、介质和存储器可以包括包含比特流等的电缆或无线信号。然而,当提及时,非暂时性计算机可读存储介质明确地排除诸如能量、载波信号、电磁波和信号本身之类的介质。
在上文的说明中提供了具体细节来提供对本文中提供的实施例和示例的透彻理解。然而,本领域技术的普通技术人员将理解的是,可以在不使用这些具体细节的情况下来实施这些实施例。为了解释清楚起见,在一些情况下,本技术可以被呈现为包括单独的功能块,这些功能块包括设备、设备组件、以软件体现的方法中的步骤或例程,或者硬件和软件的组合。除了图中所示和/或本文所述的组件外,还可以使用其他组件。例如,可以将电路、系统、网络、过程和其他组件以框图形式示为组件,以免在不必要的细节上模糊实施例。在其他实例中,可以在没有非必要细节的情况下示出公知的电路、过程、算法、结构和技术以避免模糊实施例。
各个实施例可以作为过程或方法来描述,过程或方法被描绘成了流程图、流图、数据流图、结构图或框图。虽然流程图可以将操作描述为顺序过程,但操作中的许多操作可以并行或并发地执行。此外,可以对这些操作的顺序进行重新布置。过程在其操作完成后会终止,但是过程可以具有图中不包括的其他步骤。过程可以对应于方法、函数、过程、子例程,子程序等。当过程对应于函数时,其终止可以对应于该函数返回到调用函数或主函数。
可以使用存储在计算机可读介质中或从计算机可读介质中可获得的计算机可执行指令来实现根据上述示例的过程和方法。例如,这样的指令可以包括使通用计算机、专用计算机或处理设备或以其他方式配置通用计算机、专用计算机或处理设备执行某个功能或功能组的指令和数据。可以通过网络访问所使用的计算机资源的一些部分。计算机可执行指令可以是例如二进制文件、如汇编语言的中间格式指令、固件、源代码等。可用于存储指令、所用信息和/或在根据所述示例的方法期间创建的信息的计算机可读介质的示例包括磁盘或光盘、闪存、配备有非易失性存储器的USB设备、网络存储设备等等。
实现根据这些公开内容的过程和方法的设备可以包括硬件、软件、固件、中间件、微代码、硬件描述语言或其任意组合,并且可以采用多种外形尺寸中的任意一种。当以软件、固件、中间件,或微代码来实现时,用于执行必要任务的程序代码或代码段(例如,计算机程序产品)可以存储在计算机可读或机器可读介质中。处理器可以执行必要的任务。外形尺寸的典型示例包括膝上型计算机、智能电话、移动电话、平板电脑设备或其他外形小巧的个人计算机、个人数字助理、机架安装设备、独立设备等等。本文描述的功能也可以体现在外围设备或附加卡中。作为进一步的示例,这种功能还可以在单个设备中执行的不同芯片或不同过程之间的电路板上实现。
指令、用于传达这些指令的介质、用于执行它们的计算资源以及用于支持这样的计算资源的其他结构是用于提供本公开内容中描述的功能的示例单元。
在前文的描述中,参考本申请的特定实施例描述了本申请的各个方面,但是本领域技术人员将认识到,本申请不限于此。因此,尽管在本文中已经详细描述了本申请的说明性实施例,但是应当理解,这些发明构思可以用其他方式被不同地体现和采用,并且所附权利要求旨在被解释为包括这样的变型,除了现有技术所限制的以外。可以单独或联合使用上述申请的各种特征和方面。此外,在不脱离本说明书的更广泛的精神和范围的情况下,实施例可以在本文所述之外的任何数量的环境和应用中使用。因此,应该认为本说明和附图是说明性而非限制性的。为了说明的目的,以特定顺序描述了方法。应当认识到的是,在替代实施例中,可以用与所描述的顺序不同的顺序来执行这些方法。
普通技术人员将理解,本文中使用的小于(“<”)和大于(“>”)符号或术语可以在不脱离本说明书的范围的情况下替换为小于或等于(“≤”)和大于或等于(“≥”)符号。
在将组件描述为“被配置为”执行某些操作的情况下,可以例如通过设计电子电路或其他硬件以执行该操作,通过对可编程电子电路(例如微处理器或其他合适的电子电路)进行编程以执行该操作或其任意组合来实现这种配置。
短语“耦合到”是指直接或间接物理连接到另一个组件的任何组件,和/或直接或间接与另一个组件进行通信的任何组件(例如,通过有线或无线连接和/或其他合适的通信接口连接到另一个组件)。
引用集合中的“至少一个”和/或集合中的“一个或多个”的权利要求语言或其他语言表示该集合中的一个成员或该集合中的多个成员(以任何组合)满足权利要求。例如,引用“A和B中的至少一个”或“A或B中的至少一个”的声明语言意指A、B或A和B。在另一个示例中,引用“A、B和C中的至少一个”或“A、B或C中的至少一个”的权利要求语言是指A,B,C或A和B,或A和C,或B和C,或A和B和C。语言集合中的“至少一个”和/或集合中的“一个或多个”不将集合限制为该集合中列出的项目。例如,引用“A和B中的至少一个”或“A或B中的至少一个”的声明语言可以意指A,B或A和B,并且可以另外包括未在A和B的集合中列出的项目。
结合本文公开的示例描述的各个说明性的逻辑框、模块、电路和算法步骤均可以实现成电子硬件、计算机软件、固件或它们的组合。为了清楚地表示硬件和软件之间的该可交换性,上文对各个说明性的组件、框、模块、电路和步骤均围绕其功能进行了总体描述。至于这种功能是实现为硬件还是实现成软件,取决于特定的应用和对整个系统所施加的设计约束。本领域技术人员可以针对每个特定应用,以变通的方式实现所描述的功能,但是这种实现决策不应解释为造成对本申请的范围的背离。
本文描述的技术还可以以电子硬件、计算机软件、固件或其任何组合来实现。可以在诸如通用计算机、无线通信手持设备或具有包括在无线通信手持设备和其他设备中的应用的多种用途的集成电路设备等各种设备中的任何一种设备中实现这种技术。描述为模块或组件的任何特征可以一起实现在集成逻辑器件中,或者单独实现为分立但可互操作的逻辑器件。如果以软件实现,则可以至少部分通过包括程序代码的计算可读数据存储介质来实现这些技术,程序代码包括指令,当被执行时,所述指令执行上述方法、算法和/或操作中的一项或多项。计算机可读数据存储介质可以形成计算机程序产品的一部分,计算机程序产品可以包括封装材料。计算机可读介质可以包括存储器或数据存储介质,例如随机存取存储器(RAM)(如同步动态随机存取存储器(SDRAM))、只读存储器(ROM)、非易失性随机存取存储器(NVRAM)、电可擦除可编程只读存储器(EEPROM)、FLASH存储器、磁或光数据存储介质等。附加地或替代地,这些技术可以至少部分由计算可机读通信介质实现,所述通信介质承载或传送指令或数据结构形式的程序代码并且可以由计算机访问、读取和/或执行,例如传播信号或波形。
程序代码可由处理器执行,处理器可以包括诸如一个或多个数字信号处理器(DSP)、通用微处理器、专用集成电路(ASIC)、现场可编程逻辑阵列(FPGA)或其他等效集成或离散逻辑电路的一个或多个处理器。这样的处理器可以被配置为执行本公开内容中描述的任何技术。通用处理器可以是微处理器,或者,处理器可以是任何常规的处理器、控制器、微控制器或者状态机。处理器也可以实现为计算设备的组合,例如,DSP和微处理器的组合、多个微处理器、一个或多个微处理器与DSP核心的结合、或者任何其他这种配置。因此,本文中所使用的术语“处理器”可以指代任意前述结构,或者前述结构的任意组合,或者适于本文中描述的技术的实现的任何其他结构或装置。
本公开内容的说明性示例包括:
示例1:一种装置,包括:存储器;以及耦合至所述存储器的一个或多个处理器,所述一个或多个处理器被配置为:从显示设备接收一组控制信号,该组控制信号指示由所述显示设备实现的显示刷新率;调整与来自在所述装置上执行的一个或多个应用的应用数据相关联的帧率;基于所述一组控制信号,使经调整的帧率与两个或更多个显示刷新周期同步,每个显示刷新周期基于所述显示刷新率;以所述经调整的帧率向所述显示设备提供第一帧,所述第一帧是基于所述应用数据而生成的;以及在实现所述显示刷新率的所述显示设备处显示所述第一帧。
示例2:根据示例1所述的装置,其中,所述帧率是在所述一个或多个应用的运行时期间调整的,并且其中,在不改变由所述显示设备实现的所述显示刷新率的情况下调整所述帧率并显示所述第一帧。
示例3:根据示例1或2所述的装置,其中,与所述经调整的帧率相关联的第一时间间隔不同于与所述显示刷新率相关联的第二时间间隔。
示例4:根据示例1至3中的任意示例所述的装置,其中,以所述经调整的帧率提供所述第一帧包括以下各项中的至少一项:以所述经调整的帧率渲染所述应用数据、以所述经调整的帧率合成所述第一帧,以及以所述经调整的帧率向所述显示设备发送所述第一帧。
示例5:根据示例1至4中的任意示例所述的装置,其中,以所述经调整的帧率提供所述第一帧包括:以所述经调整的帧率生成并且发送所述第一帧。
示例6:根据示例1至5中的任意示例所述的装置,其中,以所述经调整的帧率提供所述第一帧包括:以与所述两个或更多个显示刷新周期相对应的时间间隔向所述显示设备发送所述第一帧。
示例7:根据示例1至6中的任意示例所述的装置,其中,使所述经调整的帧率与所述两个或更多个显示刷新周期同步包括:以与所述两个或更多个显示刷新周期相对应的时间间隔触发向所述显示设备提供所述第一帧。
示例8:根据示例1至7中的任意示例所述的装置,其中,所述一个或多个处理器被配置为:以所述经调整的帧率向所述显示设备提供多个帧,所述多个帧是基于与所述一个或多个应用相关联的附加应用数据生成的;以及在不修改所述显示设备处的所述显示刷新率的情况下在所述显示设备处显示所述多个帧。
示例9:根据示例8所述的装置,其中,以所述经调整的帧率提供所述多个帧包括:每两个或更多个显示刷新周期,向所述显示设备发送来自所述多个帧中的不同帧。
示例10:根据示例1至9中的任意示例所述的装置,其中,所述一个或多个处理器被配置为:从所述经调整的帧率切换到不同的帧率,所述不同的帧率等于所述显示刷新率;基于从所述显示设备接收到的一个或多个附加控制信号,使所述不同的帧率与同所述显示刷新率相关联的显示刷新周期同步;以所述不同的帧率向所述显示设备提供第二帧;以及在不修改所述显示设备处的所述显示刷新率的情况下在所述显示设备处显示所述第二帧。
示例11:根据示例10所述的装置,其中,所述第二帧是基于与所述一个或多个应用相关联的附加应用数据生成的,并且其中,所述从经调整的帧率到所述不同帧率的切换是在运行时执行的。
示例12:根据示例10或11中的任意示例所述的装置,其中,提供所述第二帧包括:以所述不同的帧率渲染、合成以及发送所述第二帧。
示例13:根据示例1至12中的任意示例所述的装置,其中,所述帧率是基于以下各项中的至少一项来调整的:所述一组控制信号、所述计算设备处的功耗以及所述应用数据的一个或多个特性。
示例14:根据示例1至13中的任意示例所述的装置,其中,所述帧率是基于所述应用数据的一个或多个特性而调整的,其中,所述应用数据的所述一个或多个特性包括以下各项中的至少一项:所述应用数据相对于来自所述一个或多个应用的先前应用数据的变化量,以及反映在所述应用数据中的相对于所述先前应用数据的运动量。
示例15:根据示例1至14中的任意示例所述的装置,其中,所述装置是移动计算设备。
示例16:根据示例1至15中的任意示例所述的装置,其中,所述装置包括所述显示设备。
示例17:一种方法,包括:从与计算设备相关联的显示设备接收一组控制信号,该组控制信号指示由所述显示设备实现的显示刷新率;调整与来自在所述计算设备上执行的一个或多个应用的应用数据相关联的帧率;基于所述一组控制信号,使经调整的帧率与两个或更多个显示刷新周期同步,每个显示刷新周期基于所述显示刷新率;以所述经调整的帧率向所述显示设备提供第一帧,所述第一帧是基于所述应用数据生成的;以及在实现所述显示刷新率的所述显示设备处显示所述第一帧。
示例18:根据示例17所述的方法,其中,所述帧率是在所述一个或多个应用的运行时期间调整的,并且其中,在不改变由所述显示设备实现的所述显示刷新率的情况下调整所述帧率并显示所述第一帧。
示例19:根据示例17或18所述的方法,其中,与所述经调整的帧率相关联的第一时间间隔不同于与所述显示刷新率相关联的第二时间间隔。
示例20:根据示例17至19中的任意示例所述的方法,其中,以所述经调整的帧率提供所述第一帧包括以下各项中的至少一项:以所述经调整的帧率渲染所述应用数据、以所述经调整的帧率合成所述第一帧,以及以所述经调整的帧率向所述显示设备发送所述第一帧。
示例21:根据示例17至20中的任意示例所述的方法,其中,以所述经调整的帧率提供所述第一帧包括:以所述经调整的帧率生成并且发送所述第一帧。
示例22:根据示例17至21中的任意示例所述的方法,其中,以所述经调整的帧率提供所述第一帧包括:以与所述两个或更多个显示刷新周期相对应的时间间隔向所述显示设备发送所述第一帧。
示例23:根据示例17至22中的任意示例所述的方法,其中,使所述经调整的帧率与所述两个或更多个显示刷新周期同步包括:以与所述两个或更多个显示刷新周期相对应的时间间隔触发向所述显示设备提供所述第一帧。
示例24:根据示例17至23中的任意示例所述的方法,还包括:以所述经调整的帧率向所述显示设备提供多个帧,所述多个帧是基于与所述一个或多个应用相关联的附加应用数据生成的;以及在不修改所述显示设备处的所述显示刷新率的情况下在所述显示设备处显示所述多个帧。
示例25:根据示例24所述的方法,其中,以所述经调整的帧率提供所述多个帧包括:每两个或更多个显示刷新周期,向所述显示设备发送来自所述多个帧中的不同帧。
示例26:根据示例17至25中的任意示例所述的方法,还包括:从所述经调整的帧率切换到不同的帧率,所述不同的帧率等于所述显示刷新率;基于从所述显示设备接收到的一个或多个附加控制信号,使所述不同的帧率与同所述显示刷新率相关联的显示刷新周期同步;以所述不同的帧率向所述显示设备提供第二帧;以及在不修改所述显示设备处的所述显示刷新率的情况下在所述显示设备处显示所述第二帧。
示例27:根据示例26所述的方法,其中,所述第二帧是基于与所述一个或多个应用相关联的附加应用数据生成的,并且其中,所述从经调整的帧率到所述不同帧率的切换是在运行时执行的。
示例28:根据示例26或27所述的方法,其中,提供所述第二帧包括:以所述不同的帧率渲染、合成以及发送所述第二帧。
示例29:根据示例17至28中的任意示例所述的方法,其中,所述帧率是基于以下各项中的至少一项来调整的:所述一组控制信号、所述计算设备处的功耗以及所述应用数据的一个或多个特性。
示例30:根据示例17至29中的任意示例所述的方法,其中,所述帧率是基于所述应用数据的一个或多个特性而调整的,其中,所述应用数据的所述一个或多个特性包括以下各项中的至少一项:所述应用数据相对于来自所述一个或多个应用的先前应用数据的变化量,以及反映在所述应用数据中的相对于所述先前应用数据的运动量。
一种非暂时性计算机可读介质,具有存储在其上的指令,当由一个或多个处理器执行时,所述指令使所述一个或多个处理器执行根据示例17至30中的任意示例所述的方法。
一种装置,包括用于执行根据示例17至30中的任意示例所述的方法的单元。

Claims (30)

1.一种装置,包括:
存储器;以及
耦合至所述存储器的一个或多个处理器,所述一个或多个处理器被配置为:
从显示设备接收一组控制信号,所述一组控制信号指示由所述显示设备实现的显示刷新率;
调整与来自在所述装置上执行的一个或多个应用的应用数据相关联的帧率;
基于所述一组控制信号,使经调整的帧率与两个或更多个显示刷新周期同步,每个显示刷新周期基于所述显示刷新率;
以所述经调整的帧率向所述显示设备提供第一帧,所述第一帧是基于所述应用数据生成的;以及
在实现所述显示刷新率的所述显示设备处显示所述第一帧。
2.根据权利要求1所述的装置,其中,所述帧率是在所述一个或多个应用的运行时期间调整的,并且其中,在不改变由所述显示设备实现的所述显示刷新率的情况下调整所述帧率并且显示所述第一帧。
3.根据权利要求1所述的装置,其中,与所述经调整的帧率相关联的第一时间间隔不同于与所述显示刷新率相关联的第二时间间隔。
4.根据权利要求1所述的装置,其中,以所述经调整的帧率提供所述第一帧包括以下各项中的至少一项:以所述经调整的帧率渲染所述应用数据、以所述经调整的帧率合成所述第一帧,以及以所述经调整的帧率向所述显示设备发送所述第一帧。
5.根据权利要求1所述的装置,其中,以所述经调整的帧率提供所述第一帧包括:以所述经调整的帧率生成并且发送所述第一帧。
6.根据权利要求1所述的装置,其中,以所述经调整的帧率提供所述第一帧包括:以与所述两个或更多个显示刷新周期相对应的时间间隔向所述显示设备发送所述第一帧。
7.根据权利要求1所述的装置,其中,使所述经调整的帧率与两个或更多个显示刷新周期同步包括:以与所述两个或更多个显示刷新周期相对应的时间间隔触发向所述显示设备提供所述第一帧。
8.根据权利要求1所述的装置,其中,所述一个或多个处理器被配置为:
以所述经调整的帧率向所述显示设备提供多个帧,所述多个帧是基于与所述一个或多个应用相关联的附加应用数据生成的;以及
在不修改所述显示设备处的所述显示刷新率的情况下在所述显示设备处显示所述多个帧。
9.根据权利要求8所述的装置,其中,以所述经调整的帧率提供所述多个帧包括:
每两个或更多个显示刷新周期,向所述显示设备发送来自所述多个帧中的不同帧。
10.根据权利要求1所述的装置,其中,所述一个或多个处理器被配置为:
从所述经调整的帧率切换到不同的帧率,所述不同的帧率等于所述显示刷新率;
基于从所述显示设备接收到的一个或多个附加控制信号,使所述不同的帧率与同所述显示刷新率相关联的显示刷新周期同步;
以所述不同的帧率向所述显示设备提供第二帧;以及
在不修改所述显示设备处的所述显示刷新率的情况下在所述显示设备处显示所述第二帧。
11.根据权利要求10所述的装置,其中,所述第二帧是基于与所述一个或多个应用相关联的附加应用数据生成的,并且其中,从所述经调整的帧率到所述不同帧率的所述切换是在运行时执行的。
12.根据权利要求10所述的装置,其中,提供所述第二帧包括:以所述不同的帧率渲染、合成以及发送所述第二帧。
13.根据权利要求1所述的装置,其中,所述帧率是基于以下各项中的至少一项来调整的:所述一组控制信号、所述计算设备处的功耗以及所述应用数据的一个或多个特性。
14.根据权利要求1所述的装置,其中,所述帧率是基于所述应用数据的一个或多个特性而调整的,其中,所述应用数据的所述一个或多个特性包括以下各项中的至少一项:所述应用数据相对于来自所述一个或多个应用的先前应用数据的变化量,以及反映在所述应用数据中的相对于所述先前应用数据的运动量。
15.根据权利要求1所述的装置,其中,所述装置是移动计算设备。
16.根据权利要求1所述的装置,其中,所述装置包括所述显示设备。
17.一种方法,包括:
从与计算设备相关联的显示设备接收一组控制信号,所述一组控制信号指示由所述显示设备实现的显示刷新率;
调整与来自在所述计算设备上执行的一个或多个应用的应用数据相关联的帧率;
基于所述一组控制信号,使经调整的帧率与两个或更多个显示刷新周期同步,每个显示刷新周期基于所述显示刷新率;
以所述经调整的帧率向所述显示设备提供第一帧,所述第一帧是基于所述应用数据生成的;以及
在实现所述显示刷新率的所述显示设备处显示所述第一帧。
18.根据权利要求17所述的方法,其中,所述帧率是在所述一个或多个应用的运行时期间调整的,并且其中,在不改变由所述显示设备实现的所述显示刷新率的情况下调整所述帧率并且显示所述第一帧。
19.根据权利要求17所述的方法,其中,与所述经调整的帧率相关联的第一时间间隔不同于与所述显示刷新率相关联的第二时间间隔。
20.根据权利要求17所述的方法,其中,以所述经调整的帧率提供所述第一帧包括以下各项中的至少一项:以所述经调整的帧率渲染所述应用数据、以所述经调整的帧率合成所述第一帧,以及以所述经调整的帧率向所述显示设备发送所述第一帧。
21.根据权利要求17所述的方法,其中,以所述经调整的帧率提供所述第一帧包括:以所述经调整的帧率生成并且发送所述第一帧。
22.根据权利要求17所述的方法,其中,以所述经调整的帧率提供所述第一帧包括:以与所述两个或更多个显示刷新周期相对应的时间间隔向所述显示设备发送所述第一帧。
23.根据权利要求17所述的方法,其中,使所述经调整的帧率与两个或更多个显示刷新周期同步包括:以与所述两个或更多个显示刷新周期相对应的时间间隔触发向所述显示设备提供所述第一帧。
24.根据权利要求17所述的方法,还包括:
以所述经调整的帧率向所述显示设备提供多个帧,所述多个帧是基于与所述一个或多个应用相关联的附加应用数据生成的;以及
在不修改所述显示设备处的所述显示刷新率的情况下在所述显示设备处显示所述多个帧。
25.根据权利要求24所述的方法,其中,以所述经调整的帧率提供所述多个帧包括:
每两个或更多个显示刷新周期,向所述显示设备发送来自所述多个帧中的不同帧。
26.根据权利要求17所述的方法,还包括:
从所述经调整的帧率切换到不同的帧率,所述不同的帧率等于所述显示刷新率;
基于从所述显示设备接收到的一个或多个附加控制信号,使所述不同的帧率与同所述显示刷新率相关联的显示刷新周期同步;
以所述不同的帧率向所述显示设备提供第二帧;以及
在不修改所述显示设备处的所述显示刷新率的情况下在所述显示设备处显示所述第二帧。
27.根据权利要求26所述的方法,其中,所述第二帧是基于与所述一个或多个应用相关联的附加应用数据生成的,并且其中,从所述经调整的帧率到所述不同帧率的所述切换是在运行时执行的。
28.根据权利要求26所述的方法,其中,提供所述第二帧包括:以所述不同的帧率渲染、合成以及发送所述第二帧。
29.根据权利要求26所述的方法,其中,所述帧率是基于以下各项中的至少一项来调整的:所述一组控制信号、所述计算设备处的功耗以及所述应用数据的一个或多个特性,其中,所述应用数据的所述一个或多个特性包括以下各项中的至少一项:所述应用数据相对于来自所述一个或多个应用的先前应用数据的变化量,以及反映在所述应用数据中的相对于所述先前应用数据的运动量。
30.一种其上存储有指令的非暂时性计算机可读介质,所述指令在由一个或多个处理器执行时,使所述一个或多个处理器用于:
从显示设备接收一组控制信号,所述一组控制信号指示由所述显示设备实现的显示刷新率;
调整与来自在所述装置上执行的一个或多个应用的应用数据相关联的帧率;
基于所述一组控制信号,使经调整的帧率与两个或更多个显示刷新周期同步,每个显示刷新周期基于所述显示刷新率;
以所述经调整的帧率向所述显示设备提供第一帧,所述第一帧是基于所述应用数据生成的;以及
在实现所述显示刷新率的所述显示设备处显示所述第一帧。
CN202080106324.7A 2020-10-22 2020-10-22 动态帧率优化 Pending CN116348949A (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2020/122651 WO2022082555A1 (en) 2020-10-22 2020-10-22 Dynamic frame rate optimization

Publications (1)

Publication Number Publication Date
CN116348949A true CN116348949A (zh) 2023-06-27

Family

ID=81289588

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202080106324.7A Pending CN116348949A (zh) 2020-10-22 2020-10-22 动态帧率优化

Country Status (5)

Country Link
US (1) US11929047B2 (zh)
EP (1) EP4233304A1 (zh)
KR (1) KR20230091100A (zh)
CN (1) CN116348949A (zh)
WO (1) WO2022082555A1 (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115116403B (zh) * 2022-08-29 2023-01-31 惠科股份有限公司 电子墨水屏及其控制方法、装置和计算机可读存储介质

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7450130B2 (en) 2005-09-14 2008-11-11 Microsoft Corporation Adaptive scheduling to maintain smooth frame rate
US20150189126A1 (en) * 2014-01-02 2015-07-02 Nvidia Corporation Controlling content frame rate based on refresh rate of a display
US9332216B2 (en) * 2014-03-12 2016-05-03 Sony Computer Entertainment America, LLC Video frame rate compensation through adjustment of vertical blanking
US9786255B2 (en) * 2014-05-30 2017-10-10 Nvidia Corporation Dynamic frame repetition in a variable refresh rate system
US9998634B2 (en) 2014-11-03 2018-06-12 Google Llc Video frame playback scheduling
US9728166B2 (en) 2015-08-20 2017-08-08 Qualcomm Incorporated Refresh rate matching with predictive time-shift compensation
US10741143B2 (en) 2017-11-28 2020-08-11 Nvidia Corporation Dynamic jitter and latency-tolerant rendering
US10600236B2 (en) * 2018-08-06 2020-03-24 Valve Corporation Prediction and throttling adjustments based on application rendering performance
US11094296B2 (en) * 2018-12-05 2021-08-17 Google Llc Varying display refresh rate

Also Published As

Publication number Publication date
US11929047B2 (en) 2024-03-12
KR20230091100A (ko) 2023-06-22
WO2022082555A1 (en) 2022-04-28
US20230222992A1 (en) 2023-07-13
EP4233304A1 (en) 2023-08-30

Similar Documents

Publication Publication Date Title
US8866833B2 (en) System, method, and computer program product for providing a dynamic display refresh
KR102221658B1 (ko) 동적 프레임 레이트 지원을 이용한 전력 최적화 기법
CN114661263B (zh) 一种显示方法、电子设备及存储介质
JP2014160469A (ja) グラフィックコンテンツの外部ディスプレイへのミラーリング
CN114518817B (zh) 一种显示方法、电子设备及存储介质
CN108206018B (zh) 自适应画面刷新率调整方法及其装置
WO2017067065A1 (zh) 内容显示方法及装置
CN113327554B (zh) 显示控制方法和装置、驱动模组、电子设备
CN115151969A (zh) 用以补偿被延迟的图形处理单元渲染时间的被减少的显示处理单元传送时间
KR20150106908A (ko) 콘텐츠 적응성 lcd 백라이트 제어
WO2023040591A1 (zh) 图像显示方法、ddic、显示屏模组及终端
WO2017067061A1 (zh) 内容显示方法及装置
CN115097994B (zh) 数据处理方法和相关装置
US11929047B2 (en) Dynamic frame rate optimization
US20240096263A1 (en) Static image frame efficient refresh systems and methods
US20240071283A1 (en) Independent refresh rate for multiple monitors
WO2017067064A1 (zh) 内容显示方法及装置
KR20150018029A (ko) 단말기 및 그 제어 방법
WO2017067060A1 (zh) 内容显示方法及装置
CN115151886A (zh) 基于帧更新延迟dsi时钟改变以提供更平滑的用户界面体验
US11743440B2 (en) Transmission and consumption of multiple image subframes via superframe
CN114495864B (zh) 屏幕刷新率的调整方法、电子设备及可读存储介质
WO2024032126A1 (zh) 基于3d显示技术的背光控制方法、装置、介质及设备
WO2023160136A1 (zh) 帧率切换方法及相关装置
CN117369757A (zh) 显示控制方法、装置、电子设备及存储介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination