CN115151886A - 基于帧更新延迟dsi时钟改变以提供更平滑的用户界面体验 - Google Patents

基于帧更新延迟dsi时钟改变以提供更平滑的用户界面体验 Download PDF

Info

Publication number
CN115151886A
CN115151886A CN202080097336.8A CN202080097336A CN115151886A CN 115151886 A CN115151886 A CN 115151886A CN 202080097336 A CN202080097336 A CN 202080097336A CN 115151886 A CN115151886 A CN 115151886A
Authority
CN
China
Prior art keywords
request
change
clock speed
clock
display
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
CN202080097336.8A
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 CN115151886A publication Critical patent/CN115151886A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/04Generating or distributing clock signals or signals derived directly therefrom
    • G06F1/12Synchronisation of different clock signals provided by a plurality of clock generators
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/04Generating or distributing clock signals or signals derived directly therefrom
    • G06F1/08Clock generators with changeable or programmable clock frequency
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/04Generating or distributing clock signals or signals derived directly therefrom
    • G06F1/06Clock generators producing several clock signals
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3206Monitoring of events, devices or parameters that trigger a change in power modality
    • G06F1/3228Monitoring task completion, e.g. by use of idle timers, stop commands or wait commands
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/324Power saving characterised by the action undertaken by lowering clock frequency

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Controls And Circuits For Display Device (AREA)

Abstract

本公开提供了系统、设备、装置和方法,包括编码在存储介质上的计算机程序,用于延迟DSI时钟改变,直到没有新帧更新为止,使得更平滑的用户界面可以被感知。更具体地,装置可以接收改变用于显示帧的时钟速度的请求。在接收到请求之后,装置可以确定两个连续帧(例如,当前帧和前一帧)是否具有不同的层配置。如果是,则改变时钟速度的请求可以被延迟,直到新的一组两个连续帧被识别为具有相同的层配置为止,或者直到延迟时段达到超时限制为止。

Description

基于帧更新延迟DSI时钟改变以提供更平滑的用户界面体验
技术领域
本公开总体涉及处理系统,更具体地,涉及基于帧更新来延迟显示串行接口(DSI)时钟速度的改变。
背景技术
计算设备通常执行图形处理(例如,利用图形处理单元(GPU))来渲染图形数据以供计算设备显示。这样的计算设备可以包括例如计算机工作站、移动电话(诸如,智能电话)、嵌入式系统、个人计算机、平板计算机和视频游戏机。GPU被配置为执行包括一个或多个处理级(processing stage)的图形处理管线,所述一个或多个处理级一起操作以执行图形处理命令并输出帧。中央处理器(CPU)可以通过向GPU发出一个或多个图形处理命令来控制GPU的操作。现代CPU通常能够同时执行多个应用,每个应用在执行期间可能都需要使用GPU。为显示器上的可视呈现提供内容的设备可以利用GPU。
用于显示帧的时钟速度可以基于各种系统条件而动态改变。然而,鉴于不断发展的用于帧处理的方法和设备,需要改进时钟速度调整技术。
发明内容
以下给出了一个或多个方面的简要概述,以便提供对这些方面的基本理解。本发明内容不是所有预期方面的广泛综述,并且既不旨在确定所有方面的关键或重要元素,也不描绘任何或所有方面的范围。其唯一目的是以简化的形式呈现一个或多个方面的一些构思,作为稍后呈现的更详细描述的序言。
DSI时钟可以用于设备(诸如,智能手机和其他芯片组产品)中的物理显示接口和/或显示连接。可以动态改变DSI时钟的速度,以减少DSI时钟对射频(RF)子系统造成的干扰。在一些情况下,在将DSI时钟的速度从第一时钟速度改变到第二时钟速度之后,DSI时钟可能需要一定量的时间来稳定。在稳定时段期间,在显示驱动器中可能基于帧具有过长的显示等待时间而丢弃该帧,从而导致用户界面上的抖动。
因此,这里描述的是一种具有可以在没有新帧更新时改变时钟速度的DSI时钟,使得终端用户可以感知更平滑的用户界面。例如,在接收到改变DSI时钟的速度的请求之后,装置可以确定两个连续帧(例如,当前帧和前一帧)是否具有相同的层配置。如果两个连续帧的层配置相同,并且后一帧由于DSI时钟速度的改变而被丢弃,则终端用户可能不会注意到被丢弃的帧。替代地,如果两个连续帧的层配置不同,则改变时钟速度的请求可以被延迟,直到具有相同的层配置的一组新的两个连续帧被识别出为止。在一些情况下,改变时钟速度的请求可能仅被延迟达特定时间段(例如,达超时限制),此时,改变时钟速度的请求被执行,而不管是否已经识别出具有相同的层配置的两个连续帧。
在本公开的一个方面,提供了一种用于帧处理的方法、计算机可读介质和装置。装置可以包括存储器和耦合到存储器的至少一个处理器。至少一个处理器可以被配置为:接收改变用于显示帧的时钟的时钟速度的请求,并且在接收到请求之后,确定两个连续帧是否具有不同的层配置。如果两个连续帧具有不同的层配置,则至少一个处理器还被配置为延迟改变时钟速度的请求。
为了实现前述和相关目的,一个或多个方面包括在下文中充分描述并在权利要求中特别指出的特征。以下描述和附图详细阐述了一个或多个方面的特定说明性特征。然而,这些特征仅指示了可以采用各个方面的原理的各种方式中的一些,并且本描述旨在包括所有这些方面及其等同物。
附图说明
图1是示出根据本公开的一种或多种技术的示例内容生成系统的框图。
图2是示出内容生成设备的示例显示框架的框图。
图3示出了由显示驱动器中延长的等待时间引起的丢帧。
图4是用于在接收到DSI时钟改变请求之后注册空闲事件通知和超时通知的流程图。
图5是用于执行DSI时钟改变操作的流程图。
图6是根据本公开的一种或多种技术的帧处理的示例方法的流程图。
图7是示出示例装置中不同部件/组件之间的数据流的概念性数据流图。
具体实施方式
在下文中将参照附图更全面地描述系统、装置、计算机程序产品和方法的各个方面。然而,本公开可以以许多不同的形式实施,并且不应被解释为限于贯穿本公开呈现的任何特定结构或功能。相反,提供这些方面使得本公开将是彻底和完整的,并将相本领域技术人员充分传达本公开的范围。基于这里的教导,本领域技术人员应该理解,本公开的范围旨在覆盖在此公开的系统、装置、计算机程序产品和方法的任何方面,无论是独立于本公开的其他方面实施还是与本公开的其他方面组合实施。例如,可以使用在此阐述的任意数量的方面来实现装置或实践方法。此外,本公开的范围旨在覆盖这样的装置或方法,该装置或方法使用其他结构、功能或除了或不同于在此阐述的本公开的各个方面的结构和功能来实践。在此公开的任何方面可以由权利要求的一个或多个元素来体现。
尽管在此描述了各个方面,但是这些方面的许多变化和置换都落入本公开的范围内。尽管提到了本公开的方面的一些潜在益处和优点,但是本公开的范围并不旨在限于特定的益处、用途或目标。相反,本公开的各方面旨在广泛适用于不同的无线技术、系统配置、网络和传输协议,其中一些在附图和以下描述中以示例的方式示出。详细描述和附图仅仅是对本公开的说明,而不是限制,本公开的范围由所附权利要求及其等同物限定。
参照各种装置和方法给出了若干方面。这些装置和方法在以下详细描述中描述,并在附图中由各种块、组件、电路、处理、算法等(统称为“元件”)示出。这些元件可以使用电子硬件、计算机软件或其任意组合来实现。这些元件被实现为硬件还是软件取决于特定的应用和施加于整个系统的设计约束。
例如,元件或元件的任何部分或元件的任何组合可以被实现为包括一个或多个处理器(也可以称为处理单元)的“处理系统”。处理器的示例包括微处理器、微控制器、图形处理单元(GPU)、通用GPU(GPGPU)、中央处理器(CPU)、应用处理器、数字信号处理器(DSP)、精简指令集计算(RISC)处理器、片上系统(SOC)、基带处理器、专用集成电路(ASIC)、现场可编程门阵列(FPGA)、可编程逻辑器件(PLD)、状态机、门控逻辑、分立硬件电路以及被配置为执行贯穿本公开描述的各种功能的其他合适的硬件。处理系统中的一个或多个处理器可以执行软件。软件可以广义地解释为表示指令、指令集、代码、代码段、程序代码、程序、子程序、软件组件、应用、软件应用、软件包、例程、子例程、对象、可执行程序、执行线程、过程、函数等。无论被称为软件、固件、中间件、微码、硬件描述语言还是其他。
术语“应用”可以指软件。如在此所述,一种或多种技术可以指被配置为执行一种或多种功能的应用(例如,软件)。在这样的示例中,应用可以存储在存储器中(例如,处理器的片上存储器、系统存储器或任何其他存储器)。这里描述的硬件(例如,处理器)可以被配置为执行该应用。例如,应用可以被描述为包括当由硬件执行时使得硬件执行这里描述的一种或多种技术的代码。作为示例,硬件可以从存储器访问代码,并执行从存储器访问的代码,以执行这里描述的一种或多种技术。在一些示例中,在本公开中标识了组件。在这样的示例中,组件可以是硬件、软件或其组合。这些组件可以是单独的组件或单个组件的子组件。
因此,在本文描述的一个或多个示例中,所描述的功能可以用硬件、软件或其任意组合来实现。如果在软件中实现,则这些功能可以存储在或编码为计算机可读介质上的一个或多个指令或代码。计算机可读介质包括计算机存储介质。存储介质可以是可由计算机访问的任何可用介质。作为示例而非限制,这样的计算机可读介质可以包括随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程ROM(EEPROM)、光盘存储器、磁盘存储器、其他磁存储设备、上述类型的计算机可读介质的组合,或者可以用于以计算机可以访问的指令或数据结构的形式存储计算机可执行代码的任何其他介质。
如在此所使用的,术语“内容”的实例可以指“图形内容”、“图像”等,不管这些术语是用作形容词、名词还是其他词类。在一些示例中,如在此所使用的,术语“图形内容”可以指由图形处理管线的一个或多个处理产生的内容。在进一步的示例中,如在此所使用的,术语“图形内容”可以指由被配置为执行图形处理的处理单元产生的内容。在另外的示例中,如在此所使用的,术语“图形内容”可以指由图形处理单元产生的内容。
在示例中,如在此所使用的,术语“显示内容”可以指由被配置为执行显示处理的处理单元处理和/或输出的内容。图形内容可以被处理以变成显示内容。例如,图形处理单元可以向缓冲器(可以称为帧缓冲器)输出图形内容(例如,帧)。显示处理单元可以从缓冲器中读取图形内容(例如,一个或多个帧),并对其执行一种或多种显示处理技术以生成显示内容。例如,显示处理单元可以被配置为对一个或多个渲染层执行合成以生成帧。作为另一示例,显示处理单元可以被配置为将两个或更多层合成、混合或以其他方式组合在一起成为单个帧。显示处理单元可以被配置为对帧执行缩放(例如,放大或缩小)。在一些示例中,帧可以指层。在其他示例中,当框架包括两层或更多层时,框架可以指已经混合在一起以形成框架的两层或更多层。替代地,包括两层或更多层的框架可以随后被混合。
图1是示出被配置为实现本公开的一种或多种技术的示例内容生成系统100的框图。内容生成系统100包括设备104。设备104可以包括用于执行这里描述的各种功能的一个或多个组件或电路。在一些示例中,设备104的一个或多个组件可以是SOC的组件。设备104可以包括被配置为执行本公开的一种或多种技术的一个或多个组件。在所示的示例中,设备104可以包括处理单元120和系统存储器124。在一些方面,设备104可以包括多个可选组件(例如,通信接口126、收发器132、接收器128、发送器130、显示处理器127和一个或多个显示器131)。显示器131可以指一个或多个显示器131。例如,显示器131可以包括单个显示器或多个显示器,其可以包括第一显示器和第二显示器。第一显示器可以是左眼显示器,第二显示器可以是右眼显示器。在一些示例中,第一显示器和第二显示器可以接收不同的帧以在其上呈现。在其他示例中,第一显示器和第二显示器可以接收相同的帧以在其上呈现。在进一步的示例中,图形处理的结果可以不显示在设备上,例如,第一显示器和第二显示器可以不接收任何用于在其上呈现的帧。相反,帧或图形处理结果可以被传送到另一设备。在一些方面,这可以被称为分割渲染(split-rendering)。
处理单元120可以包括内部存储器121。处理单元120可以被配置为使用图形处理管线(graphics processing pipeline)107来执行图形处理。在一些示例中,设备104可以包括显示处理器(诸如,显示处理器127),以在由一个或多个显示器131显示之前,对由处理单元120生成的一个或多个帧执行一种或多种显示处理技术。显示处理器127可以被配置为执行显示处理。例如,显示处理器127可以被配置为对由处理单元120生成的一个或多个帧执行一种或多种显示处理技术。一个或多个显示器131可以被配置为显示或呈现由显示处理器127处理的帧。在一些示例中,一个或多个显示器131可以包括液晶显示器(LCD)、等离子显示器、有机发光二极管(OLED)显示器、投影显示设备、增强现实显示设备、虚拟现实显示设备、头戴式显示器或任何其他类型的显示设备中的一个或多个。
处理单元120外部的存储器(诸如,系统存储器124)可由处理单元120访问。例如,处理单元120可以被配置为从外部存储器(诸如,系统存储器124)读取和/或向其写入。处理单元120可以通过总线通信地耦合到系统存储器124。在一些示例中,处理单元120可以通过总线或经由不同的连接通信地耦合到内部存储器121。内部存储器121或系统存储器124可以包括一个或多个易失性或非易失性存储器或存储设备。在一些示例中,内部存储器121或系统存储器124可以包括RAM、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、可擦除可编程ROM(EPROM)、EEPROM、闪存、磁数据介质或光存储介质,或者任何其他类型的存储器。
根据一些示例,内部存储器121或系统存储器124可以是非暂时性存储介质。术语“非暂时性”可以指示存储介质不包含在载波或传播信号中。然而,术语“非暂时性”不应被解释为表示内部存储器121或系统存储器124是不可移动的或者其内容是静态的。作为一个示例,系统存储器124可以从设备104移除并移动到另一设备。作为另一示例,系统存储器124可能不可从设备104移除。
处理单元120可以是CPU、GPU、GPGPU或可被配置为执行图形处理的任何其他处理单元。在一些示例中,处理单元120可以集成到设备104的主板中。在进一步的示例中,处理单元120可以存在于安装在设备104的主板的端口中的图形卡上,或者可以以其他方式并入被配置为与设备104互操作的外围设备中。处理单元120可以包括一个或多个处理器,例如,一个或多个微处理器、GPU、ASIC、FPGA、算术逻辑单元(ALU)、DSP、离散逻辑、软件、硬件、固件、其他等效的集成电路或离散逻辑电路或其任意组合。如果这些技术部分地在软件中实现,则处理单元120可以将软件的指令存储在合适的非暂时性计算机可读存储介质(例如,内部存储器121)中,并且可以使用一个或多个处理器来执行硬件中的指令以执行本公开的技术。前述的任何一种(包括硬件、软件、硬件和软件的组合等)可以被认为是一个或多个处理器。
在一些方面,内容生成系统100可以包括可选的通信接口126。通信接口126可以包括接收器128和发送器130。接收器128可以被配置为执行这里针对设备104描述的任何接收功能。此外,接收器128可以被配置为从另一设备接收信息(例如,眼睛或头部位置信息、渲染命令或位置信息)。发送器130可以被配置为执行这里针对设备104描述的任何发送功能。例如,发送器130可以被配置为向另一设备发送信息,该信息可以包括对内容的请求。接收器128和发送器130可以组合成收发器132。在这样的示例中,收发器132可以被配置为执行这里针对设备104描述的任何接收功能和/或发送功能。
再次参照图1,在某些方面,处理单元120可包括时钟改变组件198,时钟改变组件198被配置为:接收改变用于显示帧的时钟的时钟速度的请求;确定两个连续帧是否具有不同的层配置;如果两个连续帧具有不同的层配置,则延迟改变时钟速度的请求。
诸如设备104的设备可以指被配置为执行在此描述的一种或多种技术的任何设备、装置或系统。例如,设备可以是服务器、基站、用户设备、客户端设备、站、接入点、计算机(例如,个人计算机、台式计算机、膝上型计算机、平板计算机、计算机工作站或大型计算机)、终端产品、装置、电话、智能电话、服务器、视频游戏平台或控制台、手持设备(例如,便携式视频游戏设备或个人数字助理(PDA))、可穿戴计算设备(例如,智能手表、增强现实设备或虚拟现实设备)、非可穿戴设备、显示器或显示设备、电视、电视机顶盒、中间网络设备、数字媒体播放器、视频流设备、内容流设备、车载计算机、任何移动设备、被配置为生成图形内容的任何设备、或者被配置为执行在此描述的一种或多种技术的任何设备。这里的处理可以被描述为由特定组件(例如,GPU)执行,但是在进一步的实施例中,这里的处理可以使用与所公开的实施例一致的其他组件(例如,CPU)来执行。
图2是示出示例显示框架的框图200,该显示框架包括如结合示例性设备104所标识的处理单元120、系统存储器124、显示处理器127和显示器131。
GPU通常包括在为显示器上的视觉呈现提供内容的设备中。例如,处理单元120可以包括GPU 210,GPU 210被配置为渲染图形数据以在计算设备(例如,设备104)上显示,计算设备可以是计算机工作站、移动电话、智能电话或其他智能设备、嵌入式系统、个人计算机、平板计算机、视频游戏控制机等。GPU 210的操作可以基于由CPU 215提供的一个或多个图形处理命令来控制。CPU 215可以被配置为同时执行多个应用。在一些情况下,并发执行的多个应用中的每个应用可以同时利用GPU 210。可以经由处理单元120执行处理技术,以通过物理或无线通信信道输出帧。
可以由处理单元120执行的系统存储器124可以包括用户空间220和内核空间225。用户空间220(有时称为“应用空间”)可以包括软件应用和/或应用框架。例如,软件应用可以包括操作系统、媒体应用、图形应用、工作空间应用等。应用框架可以包括与一个或多个软件应用一起使用的框架(例如,库、服务(例如,显示服务、输入服务等))、应用接口(API)等。内核空间225还包括显示驱动器230。显示驱动器230可以被配置为控制显示处理器127。例如,显示驱动器230可以使显示处理器127改变生成的帧的显示速率(例如,以每秒帧数(FPS)为单位)。
显示处理器127包括显示控制块235和显示接口240。显示处理器127可以被配置为操控显示器131的功能(例如,基于从显示驱动器230接收的输入)。例如,显示控制块235可以被配置为从显示驱动器230接收指令以改变显示器131的FPS显示速率。显示控制块235还可以被配置为基于由显示驱动器230确定的显示刷新率,经由显示接口240向显示器131输出图像帧。显示驱动器230可以输出刷新率信息,刷新率信息指示新的显示刷新率/对当前显示刷新率的改变。显示控制块235可以接收刷新率信息,并基于刷新率信息使显示接口240向显示器131输出图像帧。在一些示例中,显示控制块235可以附加地或替代地执行基于处理单元120对系统存储器124的执行而提供的图像数据的后处理。
显示接口240可以被配置为使得显示器131显示图像帧和/或建立显示器131显示图像帧的特定显示速率(例如,特定FPS显示速率)。显示器接口240可以根据接口协议(例如,MIPI DSI(移动工业处理器接口,显示串行接口)),向显示器131输出图像数据。也就是说,显示器131可以根据MIPI DSI标准来配置。MIPI DSI标准支持视频模式和命令模式。在显示器131以视频模式操作的示例中,显示处理器127可以连续刷新显示器131的图形内容。例如,可以在每个刷新周期刷新整个图形内容(例如,逐行)。在显示器131以命令模式操作的示例中,显示处理器127可以将帧的图形内容写入缓冲器250。
在一些这样的示例中,显示处理器127可以不连续刷新显示器131的图形内容。相反,显示处理器127可以使用垂直同步(VSYNC)脉冲来协调缓冲器250处的图形内容的渲染和消耗。例如,当VSYNC脉冲被产生时,显示处理器127可以向缓冲器250输出新的图形内容。因此,VSYNC脉冲的产生可以指示缓冲器250处的当前图形内容已经被渲染。然而,还应当理解,VSYNC脉冲的产生可以指示基于例如显示器131的当前FPS显示速率的时间段。
基于显示控制器245、显示客户端255和缓冲器250,在显示器131上显示帧。显示控制器245可以从显示接口240接收图像数据,并将接收的图像数据存储在缓冲器250中。在一些示例中,显示控制器245可以将存储在缓冲器250中的图像数据输出到显示客户端255。因此,缓冲器250可以表示显示器131的本地存储器。在一些示例中,显示控制器245可以将从显示接口240接收的图像数据直接输出到显示客户端255。还应当理解,确定是否改变显示器131的FPS显示速率可以由显示控制器245、显示控制块235和/或显示驱动器230来执行。
显示客户端255可以与触摸面板相关联,该触摸面板感测用户和显示器131之间的交互。当用户与显示器131交互时,触摸面板中的一个或多个传感器可以向显示控制器245输出信号,该信号指示一个或多个传感器中的哪些传感器具有传感器活动、传感器活动的持续时间、施加到一个或多个传感器的压力等。显示控制器245可以使用传感器输出来确定用户与显示器131交互的方式。显示器131还可以与其他设备相关联/包括其他设备,所述其他设备(诸如相机、麦克风和/或扬声器)结合显示客户端255进行操作。
图3是示出由显示驱动器的长等待时间(例如,超过显示器的正常刷新率的等待时间)导致的丢帧302的示图300。具体地,在对显示串行接口(DSI)时钟的速度进行动态改变/调整之后,DSI时钟(诸如,DSI锁相环(PLL)时钟)可能需要大约8.5ms来稳定。对于具有16.667ms的VSYNC时段的60Hz显示器,8.5ms的执行时间对于DSI驱动器来说可能是太长的延迟,从而导致丢帧(frame drop)302和掉帧(missed frame)308。经由合成器任务(compositor task)在图300中示出了丢帧302,在合成器任务中,当VSYNC-app 306为高时可能发生一些初始处理,随后是当VSYNC-app 306为低时的信号(blip),其中该信号指示在合成器停止处理之后发生的丢帧302。
DSI时钟(例如,DSI比特时钟)可以用于诸如智能电话和其他芯片组产品的设备中的物理显示接口和/或显示连接。DSI时钟频率可以基于RF子系统的实时配置动态改变,以便减少DSI时钟频率对RF子系统造成的干扰。也就是说,物理显示器接口可以改变DSI时钟的配置,以改善电磁干扰(EMI)度量,并为整个系统提供更好的信号质量。
在视频模式面板中,DSI时序参数也可以随着DSI时钟速度动态变化,以保持恒定的面板刷新率。在一些情况下,当DSI时钟速度动态改变时,硬件限制可能是丢帧302的根本原因。更具体地,在执行指令以改变DSI时钟速度之后,在硬件响应执行的指令之前,可能有8.5ms的延迟。这种延迟可能导致丢帧302,并进一步导致用户界面上的抖动。因此,为视频模式面板提供平滑/无抖动的用户界面可能需要执行适应硬件限制的处理技术,否则终端用户在启用动态DSI时钟改变特征之后可能会观察到这种限制。
图4是用于基于DSI时钟改变请求402注册空闲事件通知404和超时通知406的流程图400。由于在某些情况下由于硬件限制,丢帧可能是不可避免的,所以DSI时钟(例如,时钟速度)的动态变化可能被延迟,直到由DSI时钟速度的变化导致的丢帧对终端用户不太明显的时候。例如,可以改变DSI时钟,使得在帧处于“空闲”状态(例如,不改变/刷新)时发生丢帧。理想情况下,如果在帧空闲时发生丢帧,则终端用户将不会在用户界面上感觉到抖动,并且物理显示面板将看起来保持了帧的平滑连续显示。
在402处,通过DSI显示驱动器接收DSI时钟改变请求。例如,DSI时钟改变请求可以基于动态DSI时钟改变特征。虽然RF子系统通常是DSI时钟改变请求402的源,但是其他系统、子系统、组件、应用等也可以被配置为提供DSI时钟改变请求402。
在402处接收到DSI时钟改变请求之后,显示驱动器在404注册空闲事件通知,当没有新的帧更新发生时(例如,操作系统和驱动器处于空闲状态)该空闲事件通知将被通知。空闲帧通常具有相同的层配置,从而使得它们看起来好像是相同的帧。因此,空闲事件可以指操作系统没有从主机芯片组向物理显示面板输出任何更新的帧(例如,具有不同的层配置的帧)的情况。在空闲事件期间,显示子系统和相应的DSI链路简单地保持在空闲状态。
显示驱动器和操作系统可以基于三种电源状态运行:忙碌状态、空闲状态和断电状态。当存在对层配置的新帧更新时,显示驱动器和操作系统处于忙碌状态,而当不存在对层配置的新帧更新时,显示驱动器和操作系统处于空闲状态。断电状态用于没有产生帧的时候。当操作系统和显示驱动器在空闲状态下被执行时,没有新的帧更新从操作系统提供给显示面板硬件。显示面板硬件可以包括DSI显示面板、芯片组数据处理单元(DPU)等。
在406处,注册超时事件通知(例如,存储在存储器中),以在已经超过用于延迟DSI时钟改变的预设时间间隔时通知显示驱动器。具体地,当超过预设时间间隔时,显示驱动器可以执行DSI时钟改变,而不管是否被通知空闲事件。例如,在接收到DSI时钟改变请求402之后,显示驱动器可能仅具有执行DSI时钟改变请求402的最大时间段(例如,2秒)。因此,当帧被连续更新时,操作系统和显示驱动器可以保持在忙碌状态足够长的时间以触发超时事件通知,在这种情况下,驱动器仅在那时执行DSI时钟改变。虽然超时事件通知的注册406在流程图400中被示出为在空闲事件通知的注册404之后发生,但是从上文中应当理解,在一些配置中,事件通知的注册404-406可以在接收到DSI时钟改变请求402之后以任何顺序发生。
图5是用于执行DSI时钟改变操作508的流程图500。流程图500开始于502,在504处,启动新帧更新循环。新帧更新循环504可以被配置给作为用于显示帧的核心功能的操作系统和显示驱动器,其中每个帧更新循环在特定时间段内执行。例如,当执行上层应用以在物理显示面板上显示新的帧时,该应用可以向操作系统提供相应的请求,以使操作系统启动新帧更新循环。
新帧更新循环504通常由上层应用触发,但也可基于操作系统的子系统(例如,RF子系统、相机子系统等)来触发,或者甚至可能由显示驱动器单独控制。在任何情况下,新帧更新循环504可以基于与操作系统和/或显示驱动器相关联的、被授权向操作系统和显示驱动器提供新帧更新请求的某个特征来启动。
当接收到改变DSI时钟速度的请求时,显示驱动器可能不会立即执行该请求。相反,显示驱动器可以首先在506处基于新帧更新循环504确定是否没有新帧更新发生(例如,DSI链路是否空闲)。更具体地,如果显示驱动器被通知操作系统已经空闲,则显示驱动器可以继续执行DSI时钟改变操作508,使得该处理可以在512处完成。替代地,如果显示驱动器处于忙碌状态,则显示驱动器可以在执行DSI时钟改变操作508之前等待下一个空闲事件发生。
可以基于新帧更新循环504来确定忙碌状态和空闲状态。例如,显示驱动器可以识别每个新帧更新循环504的层配置,并且确定新帧更新循环的层信息是否已经从紧接的前一帧周期循环。未改变的层配置表示DSI链路处于用于执行DSI时钟改变操作508的空闲状态。也就是说,空闲状态可以对应于在506处确定没有新帧更新。
在506处没有发生没有新帧更新的情况下,显示器驱动器被配置为在执行DSI时钟改变操作508之前等待下一空闲事件的通知。在510处,可以基于超时时段来确定下一空闲事件的等待时间。例如,超时时段可以具有从100毫秒到2秒的超时持续时间。然而,在一些方面,用于延迟请求的超时持续时间可以是可配置的,并且可以对应于包括在相同或不同范围的值中的值。如果在510处确定已达到超时值(例如,超时限制),则显示驱动器可以执行DSI时钟改变操作508,而不管DSI链路是否空闲,以在512处完成该处理。
如果在510处确定超时值/限制没有达到超时持续时间,则显示驱动器识别下一帧更新循环的层配置,以确定下一帧更新循环的层配置是否包括与先前的帧更新循环相同的层配置。如果是,则显示驱动器执行DSI时钟改变操作508,并在512处完成该处理。否则,在510处再次确定是否已经达到超时值/限制。基于510处的确定,在508处执行DSI时钟改变操作,或者考虑另一个帧更新循环。
在一些方面,流程图400的块可以结合流程图500的块发生。此外,虽然在此描述的方面可能涉及视频模式面板,但是相同或不同的方面也可以涉及命令模式面板。
图6是根据本公开的一种或多种技术的帧处理的示例方法的流程图600。方法600可以由结合图1至图5的示例使用的帧合成器、显示处理器、DPU、GPU、用于图形处理的装置、无线通信设备等来执行。
在602处,接收改变用于显示帧的时钟的时钟速度的请求。例如,参照图4,显示驱动器可以接收DSI时钟改变请求402,以改变时钟的速度。在一些方面,可以基于时钟速度对与时钟相关联的RF子系统造成的干扰来接收改变时钟速度的请求。在一些配置中,用于显示帧的时钟可以是DSI比特时钟。
在604处,确定两个连续帧是否具有不同的层配置。例如,参照图5,不同的层配置的确定可以对应于在506处是否没有帧刷新/没有新帧更新。具有相同的的层配置的至少两个连续帧可以被称为空闲事件。此外,参照图4,可以在404处注册空闲事件通知,以指示两个连续帧何时具有相同的层配置。在一些方面,延迟改变时钟速度的请求可以基于由空闲事件通知所提供的指示。
如果在604处确定两个连续帧不具有不同的层配置(例如,这两个连续帧具有相同的层配置),则如果这两个连续帧具有相同的层配置,则可以在606处执行改变时钟速度的请求。例如,参照图5,当在506处没有新帧更新时,执行DSI时钟改变操作508。
如果在604处确定两个连续帧具有不同的层配置,则基于两个连续帧具有不同的层配置,在608处延迟改变时钟速度的请求。例如,参照图5,在506处确定两个连续帧中的新帧更新之后,不立即执行DSI时钟改变操作508。相反,在确定是否执行DSI时钟改变操作508之前,首先在510处确定用于延迟改变时钟速度的请求的超时限制。
用于延迟改变时钟速度的请求的超时限制可以基于预设的时间值来配置。此外,可以注册超时事件通知来识别超时事件。例如,参照图4,可以在406处注册超时事件通知,以指示何时超过了用于延迟改变时钟速度的请求的超时限制。在一些方面,延迟改变时钟速度的请求可以基于超时事件通知所提供的指示。
在614处,当超过用于延迟改变时钟速度的请求的超时限制时,执行改变时钟速度的请求。否则,当没有超过用于延迟改变时钟速度的请求的超时限制时,在610处识别下一个连续帧的层配置。例如,参照图5,在510处确定没有超过超时限制之后,在504处识别新帧更新循环,以在506处确定是否没有新帧更新发生。
在612处,改变时钟速度的请求的执行可以基于下一个连续帧是否具有与两个连续帧中的后一帧相同的层配置。如果在612处确定下一个连续帧具有与两个连续帧中的后一帧相同的层配置,则在606执行改变时钟速度的请求。例如,参照图5,可以在506处确定对于下一个连续帧没有发生新帧更新之后执行DSI时钟改变操作508。
如果在612处确定下一个连续帧具有与两个连续帧中的后一帧不同的层配置,则在610处,当仍未超过用于延迟改变时钟速度的请求的超时限制时,可以识别下一个连续帧的又一连续帧的层配置。替代地,当超过用于延迟改变时钟速度的请求的超时限制时,即使层配置不同,也可以在614处执行改变时钟速度的请求。例如,参照图5,如果在510处确定超过超时限制,则执行DSI时钟改变操作508,而不管层配置是相同还是不同。
图7是示出示例装置702中不同部件/组件之间的数据流的概念性数据流图700。装置702可以是帧合成器、显示处理器、GPU、无线通信设备或其他类似的装置。装置702包括从客户端740接收时钟改变请求的接收组件704。客户端740可以是装置702的客户端应用或者单独的客户端设备。例如,如结合602所描述的,接收组件可以接收改变用于显示帧的时钟的时钟速度的请求。
装置702包括基于帧的层配置检查帧更新的确定组件706。例如,如结合604所描述的,确定组件可以确定两个连续帧具有相同的层配置。装置702包括执行组件708,执行组件708基于相同的层配置的指示来执行改变时钟速度的请求。例如,如结合606所述,如果两个连续帧具有相同的层配置,则执行改变时钟速度的请求。如结合604进一步所述,确定组件可以确定两个连续帧具有不同的层配置(例如,基于两个连续帧的比较)。装置702包括延迟器组件710,延迟器组件710基于不同的层配置的指示来延迟改变时钟速度的请求。例如,如结合608所述,如果两个连续帧具有不同的层配置,则改变时钟速度的请求被延迟。当延迟器组件710超时时,执行组件708可以进一步执行改变时钟速度的请求。例如,如结合614所述,当超过用于延迟改变时钟速度的请求的超时限制时,执行改变时钟速度的请求。
装置702包括识别器组件712,识别器组件712识别两个连续帧的下一个连续帧的层配置。例如,如结合610所述,当延迟改变时钟速度的请求未超过超时限制时,识别下一个连续帧的层配置。当下一个连续帧具有与两个连续帧中的后一帧不同的层配置时,识别器组件712向延迟器组件710提供不同的层配置的指示。响应于此,延迟器组件710可以超时或者再次延迟时钟改变。当下一个连续帧具有与两个连续帧中的后一帧相同的层配置时,标识符组件712向执行组件708提供相同的层配置的指示。在执行组件708处执行改变时钟速度的请求之后,改变的时钟速度被提供给发送组件714。发送组件714被配置为基于改变的时钟速度向显示面板750提供帧。
装置702可以包括执行前述图6的流程图中的算法的每个块的附加组件。如此,前述图6的流程图中的每个块可以由组件来执行,并且该装置可以包括这些组件中的一个或多个。这些组件可以是一个或多个硬件组件,所述一个或多个硬件组件被专门配置为执行所述处理/算法,由被配置为执行所述处理/算法的处理器(例如,由处理器执行的逻辑和/或代码)来实现,存储在计算机可读介质中供处理器实现,或者它们的某种组合。
因此,当没有新帧更新时,可以改变DSI时钟的速度,使得终端用户可以感知更平滑的用户界面。更具体地,在接收到改变DSI时钟速度的请求之后,装置可以确定两个连续帧(例如,当前帧和紧接的前一帧)是否具有相同的层配置。如果两个连续帧的层配置相同,并且后一帧由于DSI时钟速度的改变而被丢弃,则终端用户可能不会注意到被丢弃的帧。替代地,如果两个连续帧的层配置不同,则改变时钟速度的请求可以被延迟,直到具有相同的层配置的新的一组两个连续帧被识别出为止。在一些情况下,改变时钟速度的请求可能仅被延迟达特定时间段(例如,达超时限制),此时,改变时钟速度的请求被执行,而不管是否已经识别出具有相同的层配置的两个连续帧。
应当理解,所公开的处理/流程图中的块的特定顺序或层次是示例方法的说明。基于设计偏好,应当理解,可以重新安排处理/流程图中的块的特定顺序或层次。此外,一些块可以被组合或省略。所附的方法权利要求以示例顺序呈现了各种块的元素,并不意味着局限于所呈现的特定顺序或层次。
提供前面的描述是为了使本领域技术人员能够实践在此描述的各个方面。所属领域的技术人员将容易明白对这些方面的各种修改,并且在此限定的一般原理可适用于其他方面。因此,权利要求不旨在限于在此所示的方面,而是要符合与权利要求的语言一致的全部范围,其中,除非特别声明,否则单数形式的元件不旨在表示“一个且仅一个”,而是表示“一个或多个”。这里使用的词语“示例性”表示“用作示例、实例或说明”。在此描述为“示例性”的任何方面不一定被解释为比其他方面更优选或更有利。
除非特别说明,否则术语“一些”指一个或多个,并且术语“或”可以在上下文没有另外指示的情况下被打断为“和/或”。诸如“A、B或C中的至少一个”、“A、B或C中的一个或多个”、“A、B和C中的至少一个”、“A、B和C中的一个或多个”以及“A、B、C或其任意组合”的组合包括A、B和/或C的任意组合,并且可以包括多个A、多个B或多个C。具体地,诸如“A、B或C中的至少一个”、“A、B或C”、“A、B和C中至少一个”、“A、B和C中的一个或多个”和“A、B、C或其任意组合”可以是仅A、仅B、仅C、A和B、A和C、B和C、或者A和B和C,其中,任何这样的组合可以包含A、B或C的一个或多个元件或元件。本领域普通技术人员已知的或以后将会知道的本公开中所描述的各个方面的元素的所有结构和功能等同物通过引用明确地包含于此,并且旨在被权利要求所包含。此外,在此公开的任何内容都不旨在奉献给公众,不管这种公开是否在权利要求中明确陈述。词语“模块”、“机构”、“元件”、“设备”等不能代替词语“部件”。如此,除非使用短语“用于……的部件”明确陈述该元素,否则没有权利要求元素被解释为部件加功能。
在一个或多个示例中,在此描述的功能可以用硬件、软件、固件或其任意组合来实现。例如,尽管术语“处理单元”已经在本公开中通篇使用,但是这样的处理单元可以用硬件、软件、固件或其任意组合来实现。如果在此描述的任何功能、处理单元、技术或其他模块以软件实现,则在此描述的功能、处理单元、技术或其他模块可以作为计算机可读介质上的一个或多个指令或代码来存储或传输。
计算机可读介质可以包括计算机数据存储介质或通信介质(包括便于将计算机程序从一个地方转移到另一个地方的任何介质)。以这种方式,计算机可读介质通常可以对应于:(1)有形的计算机可读存储介质,其是非暂时性的;或者(2)通信介质(诸如,信号或载波)。数据存储介质可以是能够被一个或多个计算机或一个或多个处理器访问以获取用于实现本公开中描述的技术的指令、代码和/或数据结构的任何可用介质。作为示例而非限制,这样的计算机可读介质可以包括RAM、ROM、EEPROM、光盘只读存储器(CD-ROM)或其他光盘存储器、磁盘存储器或其他磁存储设备。这里使用的磁盘和光盘包括压缩光盘(CD)、激光光盘、光盘、数字多功能光盘(DVD)、软盘和蓝光光盘,其中,磁盘通常磁性地再现数据,而光盘通常用激光光学地再现数据。上述的组合也应该包括在计算机可读介质的范围内。计算机程序产品可以包括计算机可读介质。
本公开的技术可以在各种各样的设备或装置中实现,包括无线手机、集成电路(IC)或IC组(例如,芯片组)。在本公开中描述了各种组件、模块或单元,以强调被配置为执行所公开的技术的设备的功能性方面,但是不一定需要由不同的硬件单元来实现。相反,如上所述,各种单元可以结合适当的软件和/或固件被组合在任何硬件单元中,或者由互操作的硬件单元的集合(包括如上所述的一个或多个处理器)提供。因此,如在此所使用的的,术语“处理器”可以指任何前述结构或者适合于实现在此描述的技术的任何其他结构。同样,这些技术可以被完全实现在一个或多个电路或逻辑元件中。
已经描述了各种示例。这些示例和其他示例在所述权利要求的范围内。

Claims (20)

1.一种帧处理的方法,包括:
接收改变用于显示帧的时钟的时钟速度的请求;
确定两个连续帧是否具有不同的层配置;以及
如果所述两个连续帧具有所述不同的层配置,则延迟改变所述时钟速度的所述请求。
2.根据权利要求1所述的方法,还包括:如果所述两个连续帧具有相同的层配置,则执行改变所述时钟速度的所述请求。
3.根据权利要求1所述的方法,还包括:当超过用于延迟改变所述时钟速度的所述请求的超时限制时,执行改变所述时钟速度的所述请求。
4.根据权利要求1所述的方法,还包括:当未超过用于延迟改变所述时钟速度的所述请求的超时限制时,识别下一个连续帧的层配置,其中,改变所述时钟速度的所述请求的执行基于所述下一个连续帧是否具有与所述两个连续帧中的后面的帧相同的层配置。
5.根据权利要求1所述的方法,其中,用于延迟改变所述时钟速度的所述请求的超时限制是基于预设时间值可配置的。
6.根据权利要求1所述的方法,其中,超时事件通知被注册,以指示何时超过用于延迟改变所述时钟速度的所述请求的超时限制,并且其中延迟改变所述时钟速度的所述请求基于由所述超时事件通知提供的指示。
7.根据权利要求1所述的方法,其中,空闲事件通知被注册,以指示所述两个连续帧何时具有相同的层配置,并且其中延迟改变所述时钟速度的所述请求基于由所述空闲事件通知提供的指示。
8.根据权利要求1所述的方法,其中,所述时钟是显示串行接口(DSI)比特时钟。
9.根据权利要求1所述的方法,其中,改变所述时钟速度的所述请求是基于所述时钟速度对与所述时钟相关联的射频(RF)子系统造成的干扰而被接收的。
10.一种用于帧处理的装置,包括:
存储器;以及
至少一个处理器,耦合到所述存储器,并且被配置为:
接收改变用于显示帧的时钟的时钟速度的请求;
确定两个连续帧是否具有不同的层配置;以及
如果所述两个连续帧具有所述不同的层配置,则延迟改变所述时钟速度的所述请求。
11.根据权利要求10所述的装置,其中,所述至少一个处理器还被配置为:如果所述两个连续帧具有相同的层配置,则执行改变所述时钟速度的所述请求。
12.根据权利要求10所述的装置,其中,所述至少一个处理器还被配置为:当超过用于延迟改变所述时钟速度的所述请求的超时限制时,执行改变所述时钟速度的所述请求。
13.根据权利要求10所述的装置,其中,所述至少一个处理器还被配置为:当未超过用于延迟改变所述时钟速度的所述请求的超时限制时,识别下一个连续帧的层配置,并且其中,改变所述时钟速度的所述请求的执行基于所述下一个连续帧是否具有与所述两个连续帧中的后面的帧相同的层配置。
14.根据权利要求10所述的装置,其中,用于延迟改变所述时钟速度的所述请求的超时限制是基于预设时间值可配置的。
15.根据权利要求10所述的装置,其中,超时事件通知被注册,以指示何时超过用于延迟改变所述时钟速度的所述请求的超时限制,并且其中延迟改变所述时钟速度的所述请求基于由所述超时事件通知提供的指示。
16.根据权利要求10所述的装置,其中,空闲事件通知被注册,以指示所述两个连续帧何时具有相同的层配置,并且其中延迟改变所述时钟速度的所述请求基于由所述空闲事件通知提供的指示。
17.根据权利要求10所述的装置,其中,所述时钟是显示串行接口(DSI)比特时钟。
18.根据权利要求10所述的装置,其中,改变所述时钟速度的所述请求是基于所述时钟速度对与所述时钟相关联的射频(RF)子系统造成的干扰而被接收的。
19.根据权利要求10所述的装置,其中,所述装置是无线通信设备。
20.一种存储计算机可执行代码的计算机可读介质,所述代码在由装置的处理器执行时,使得所述处理器:
接收改变用于显示帧的时钟的时钟速度的请求;
确定两个连续帧是否具有不同的层配置;以及
如果所述两个连续帧具有所述不同的层配置,则延迟改变所述时钟速度的所述请求。
CN202080097336.8A 2020-02-21 2020-02-21 基于帧更新延迟dsi时钟改变以提供更平滑的用户界面体验 Pending CN115151886A (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2020/076194 WO2021164002A1 (en) 2020-02-21 2020-02-21 Delaying dsi clock change based on frame update to provide smoother user interface experience

Publications (1)

Publication Number Publication Date
CN115151886A true CN115151886A (zh) 2022-10-04

Family

ID=77391824

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202080097336.8A Pending CN115151886A (zh) 2020-02-21 2020-02-21 基于帧更新延迟dsi时钟改变以提供更平滑的用户界面体验

Country Status (4)

Country Link
US (1) US20230074876A1 (zh)
EP (1) EP4107597A4 (zh)
CN (1) CN115151886A (zh)
WO (1) WO2021164002A1 (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20230073736A1 (en) * 2020-02-21 2023-03-09 Qualcomm Incorporated Reduced display processing unit transfer time to compensate for delayed graphics processing unit render time
WO2023108461A1 (en) * 2021-12-15 2023-06-22 Qualcomm Incorporated Dynamic display serial interface physical layer interface configuration change

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101221741A (zh) * 2006-12-29 2008-07-16 美国凹凸微系有限公司 驱动显示设备的方法
US20170041086A1 (en) * 2015-08-03 2017-02-09 Samsung Electronics Co., Ltd. Data transmission apparatus for changing clock signal at runtime and data interface system including the same
CN110035328A (zh) * 2017-11-28 2019-07-19 辉达公司 动态抖动和延迟容忍渲染

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7570245B2 (en) * 2002-09-06 2009-08-04 Nxp B.V. Control unit and method for reducing interference patterns in the display of an image on a screen
US10366663B2 (en) * 2016-02-18 2019-07-30 Synaptics Incorporated Dithering a clock used to update a display to mitigate display artifacts
KR102309160B1 (ko) * 2017-08-09 2021-10-06 삼성전자주식회사 클럭을 변경시키는 전자 장치

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101221741A (zh) * 2006-12-29 2008-07-16 美国凹凸微系有限公司 驱动显示设备的方法
US20170041086A1 (en) * 2015-08-03 2017-02-09 Samsung Electronics Co., Ltd. Data transmission apparatus for changing clock signal at runtime and data interface system including the same
CN110035328A (zh) * 2017-11-28 2019-07-19 辉达公司 动态抖动和延迟容忍渲染

Also Published As

Publication number Publication date
WO2021164002A1 (en) 2021-08-26
US20230074876A1 (en) 2023-03-09
EP4107597A4 (en) 2023-11-15
EP4107597A1 (en) 2022-12-28

Similar Documents

Publication Publication Date Title
US8687007B2 (en) Seamless display migration
US10049642B2 (en) Sending frames using adjustable vertical blanking intervals
US11164357B2 (en) In-flight adaptive foveated rendering
TWI639989B (zh) 以動態框率支援的功率最佳化
US20230073736A1 (en) Reduced display processing unit transfer time to compensate for delayed graphics processing unit render time
WO2021164002A1 (en) Delaying dsi clock change based on frame update to provide smoother user interface experience
US8194065B1 (en) Hardware system and method for changing a display refresh rate
US9087473B1 (en) System, method, and computer program product for changing a display refresh rate in an active period
US11935502B2 (en) Software Vsync filtering
US20190303083A1 (en) Power saving on smart display panels during wireless display sessions
US11990082B2 (en) Adaptively configuring image data transfer time
CN114174980B (zh) 用于刷新多个显示器的方法和装置
WO2021056364A1 (en) Methods and apparatus to facilitate frame per second rate switching via touch event signals
WO2021102772A1 (en) Methods and apparatus to smooth edge portions of an irregularly-shaped display
US11978372B1 (en) Synchronized dual eye variable refresh rate update for VR display
US20240169953A1 (en) Display processing unit (dpu) pixel rate based on display region of interest (roi) geometry
WO2023141917A1 (en) Sequential flexible display shape resolution
WO2021168771A1 (en) Optimized method of page zeroing in memory pool
WO2023151067A1 (en) Display mask layer generation and runtime adjustment
WO2023201456A1 (en) Dynamic configuration of display optimization
WO2023230744A1 (en) Display driver thread run-time scheduling
WO2023136984A1 (en) Dpu driven adaptive sync for command mode panels

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
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20221004