CN115151969A - 用以补偿被延迟的图形处理单元渲染时间的被减少的显示处理单元传送时间 - Google Patents

用以补偿被延迟的图形处理单元渲染时间的被减少的显示处理单元传送时间 Download PDF

Info

Publication number
CN115151969A
CN115151969A CN202080096811.XA CN202080096811A CN115151969A CN 115151969 A CN115151969 A CN 115151969A CN 202080096811 A CN202080096811 A CN 202080096811A CN 115151969 A CN115151969 A CN 115151969A
Authority
CN
China
Prior art keywords
frame
clock
transferred
display
clock speeds
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
CN202080096811.XA
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 CN115151969A publication Critical patent/CN115151969A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/005General purpose rendering architectures
    • 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/006Details of the interface to the display terminal
    • 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/36Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators characterised by the display of a graphic pattern, e.g. using an all-points-addressable [APA] memory
    • G09G5/39Control of the bit-mapped memory
    • G09G5/393Arrangements for updating the contents of the bit-mapped memory
    • 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
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • G06T1/20Processor architectures; Processor configuration, e.g. pipelining
    • 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
    • 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/36Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators characterised by the display of a graphic pattern, e.g. using an all-points-addressable [APA] memory
    • G09G5/39Control of the bit-mapped memory
    • G09G5/395Arrangements specially adapted for transferring the contents of the bit-mapped memory to the screen
    • 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/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/18Use of a frame buffer in a display terminal, inclusive of the display panel
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2370/00Aspects of data communication
    • G09G2370/08Details of image data interface between the display device controller and the data line driver circuit

Landscapes

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

Abstract

本公开内容提供了用于减少DPU转移时间以补偿被延迟的GPU渲染时间的系统、设备、装置和方法,包括在存储介质上编码的计算机程序。在完成对跟在第一帧之后的第二帧的渲染之后,帧处理器确定第一帧是当前正在转移到显示面板还是已经被转移到显示面板。当确定第一帧当前正在转移时,与至少一个时钟一起使用第一组时钟速度,而当确定第一帧已被转移时,与至少一个时钟一起使用第二组时钟速度,第二组时钟速度快于第一组时钟速度。在完成对第一帧的转移之后,基于该组时钟速度来转移第二帧。

Description

用以补偿被延迟的图形处理单元渲染时间的被减少的显示处 理单元传送时间
技术领域
本公开内容通常涉及处理系统,具体地涉及一种或多种用于显示和/或图形处理的技术。
背景技术
计算设备通常执行图形处理(例如,利用图形处理单元(GPU))以渲染图形数据,供计算设备显示。这种计算设备可以包括:例如,计算机工作站、诸如智能手机的移动电话、嵌入式系统、个人计算机、平板电脑和视频游戏控制台。GPU被配置为执行图形处理流水线,该图形处理流水线包括一起进行操作以执行图形处理命令并输出帧的一个或多个处理阶段。中央处理单元(CPU)可以通过向GPU发出一个或多个图形处理命令来控制GPU的操作。现代CPU通常能够同时执行多个应用,每个应用在执行期间可能需要利用GPU。针对显示器上的视觉呈现提供内容的设备可以利用GPU。
在一些情况下,GPU可以以可变速率来渲染帧,这可能导致帧处理器丢弃帧。因此,鉴于可变的帧渲染速率,需要改进的帧传送技术。
发明内容
以下给出了一个或多个方面的简化摘要,以提供对这些方面的基本理解。本发明内容并非所有预期方面的广泛概述,并且其目的既不是确定所有方面的关键或关键要素,也不是描绘任何或所有方面的范围。其唯一目的是以简化形式呈现一个或多个方面的一些概念,作为稍后呈现的更详细描述的前奏。
显示内容处理技术可以在至少两个处理阶段上执行,至少两个处理阶段例如:(1)GPU渲染;以及(2)帧传送/显示。对帧N+1的GPU渲染可以与将前一帧N传送给物理显示面板同时地执行。在对帧N+1的GPU渲染超过垂直同步(VSYNC)时间间隔的情况下,可以执行可变刷新速率技术(诸如,
Figure BDA0003800262920000011
同步(QSYNC)功能),以延长帧时间的长度,以防止帧N在两个连续的帧时间内重复地显示。虽然延长帧时间可能允许稍多的时间用于GPU渲染,但实现可变刷新速率特征可能导致可变的每秒帧(FPS)处理速率,这可能导致基于显示处理单元(DPU)硬件配置的在后面帧中的帧掉落(drop-off)。
因此,当通过可变的刷新速率特征扩展第一帧的长度时,可以将在第一帧之后的第二帧缩短与第一帧被延长的长度相同的长度,以便补偿对第一帧的延长,并以便在多个帧上维持稳定的FPS处理速率。具体地说,在完成对第二帧的渲染之后,DPU可以确定第一帧当前正在转移到显示面板还是已经被转移到了显示面板,其中,在完成渲染第二帧之后第一帧当前仍正在转移到显示面板指示:GPU渲染在初始VSYNC时间间隔内完成,并且其中,在完成渲染第二帧之前第一帧已经被转移到显示面板指示:对第二帧的GPU渲染被延迟超过初始VSYNC时间间隔。当确定第一帧当前正在转移时,以用于将第二帧转移到显示面板的一组默认时钟速度保持至少一个时钟。替代地,当确定第一帧已经被转移了时,经由第二组时钟来加速该至少一个时钟,其中,该第二组速度被配置为在缩短的时间段内完成对第二帧的转移,并补偿前一帧的被延长的时间段/延迟。
在本公开内容的一个方面,提供了一种用于帧处理的方法、计算机可读介质和装置。该装置可以被配置为在完成对第二帧的渲染之后,确定第一帧当前是正在转移还是已经被转移,所述第二帧跟在所述第一帧之后。该装置还可以被配置为:当确定第一帧当前正在转移时,与至少一个时钟一起使用第一组时钟速度,以及当确定第一帧已经被转移时,与至少一个时钟一起使用第二组时钟速度,所述第二组时钟速度快于所述第一组时钟速度。在完成对所述第一帧的所述转移之后,基于所使用的一组时钟速度来转移所述第二帧。
为了实现上述和相关目的,一个或多个方面包括下文中充分描述并在权利要求中特别指出的特征。以下描述和附图详细阐述了一个或多个方面的特定图示性特征。然而,这些特征仅指示可以采用各种方面的原理的各种方式中的一些,并且本描述旨在包括所有这些方面及其等效物。
附图说明
图1是示出根据本公开内容的一种或多种技术的示例内容生成系统的框图。
图2示出了根据本公开内容的一种或多种技术的示例GPU。
图3A-3B示出了关于实现可变刷新速率特征以延长帧的长度的影响。
图4示出了视频模式定时图,其中,DPU的转移时间被减少以补偿GPU的长渲染时间。
图5是示出确定是否需要加速一个或多个时钟以减少帧的传输时间的流程图。
图6是根据本公开内容的一种或多种技术的示例方法的流程图。
图7是示出示例装置中不同的单元/组件之间的数据流的概念数据流图。。
具体实施方式
系统、装置、计算机程序产品和方法的各个方面是在下文中参考附图进行更全面地描述的。然而,本公开内容可以以许多不同的形式来实施,并且不应被解释为限于本公开内容中呈现的任何特定结构或功能。相反,提供这些方面是为了使本公开内容全面和完整,并将本公开内容的范围完全传达给本领域技术人员。基于本文的教导,一名本领域技术员应当理解:本公开内容的范围旨在涵盖本文公开的系统、装置、计算机程序产品和方法的任何方面,而无论其是独立于本公开内容的其它方面实现还是与本公开内容的其它方面结合实现。例如,可以使用本文阐述的任何数量的方面来实现装置或实践方法。此外,本公开内容的范围旨在涵盖这样一种装置或方法,该装置或方法使用除了或不同于本文阐述的本公开内容的各个方面的其它结构、功能或结构和功能来实践。本文公开的任何方面都可以由权利要求的一个或多个元素来实施。
尽管本文描述了各个方面,但对这些方面的许多变化和排列落在本公开内容的范围内。虽然提到了本公开内容的方面的一些潜在益处和优点,但本公开内容的范围并不限于特定益处、用途或目标。相反,本公开内容的各个方面旨在广泛适用于不同的无线技术、系统配置、网络和传输协议,其中一些通过示例在附图和以下描述中进行了说明。详细描述和附图仅是对本公开内容的说明,而不是限制,本公开内容的范围由所附权利要求及其等同物限定。
参考各种装置和方法介绍了几个方面。这些装置和方法在以下详细描述中进行了描述,并在附图中通过各种块、组件、电路、过程、算法等(统称为“元素”)进行了说明。这些元素可以使用电子硬件、计算机软件或其任何组合来实现。至于这些元素是实现为硬件还是软件,取决于施加在整个系统上的特定应用和设计约束。
举例来说,元件、元件的任何部分或元件的任何组合可以实现为“处理系统”,其包括一个或多个处理器(其也可以称为处理单元)。处理器的示例包括被配置为执行在本公开内容中描述的各种功能的微处理器、微控制器、图形处理单元(GPU)、通用GPU(GPGPU)、中央处理单元(CPU)、应用处理器、数字信号处理器(DSP)、精简指令集计算(RISC)处理器、片上系统(SOC)、基带处理器、专用集成电路(ASIC)、现场可编程门阵列(FPGA)、可编程逻辑器件(PLD)、状态机、门控逻辑、分立硬件电路和其它合适的硬件。处理系统中的一个或多个处理器可以执行软件。软件可以广义地解释为指指令、指令集、代码、代码段、程序代码、程序、子程序、软件组件、应用、软件应用、软体包、例程、子例程、对象、可执行文件、执行中的线程、过程、函数等,而无论其是指软件、固件、中间件、微码、硬件描述语言或其它。
术语应用可以指软件。如本文所述,一种或多种技术可以指被配置为执行一种或多种功能的应用(例如,软件)。在这些示例中,应用可以存储在存储器中(例如,处理器的片上存储器、系统存储器或任何其它存储器)。本文描述的硬件(诸如,处理器)可以被配置为执行应用。例如,应用可以被描述为包括当由硬件执行时使硬件执行本文所述的一种或多种技术的代码。作为示例,硬件可以从存储器访问代码,并执行从存储器访问的代码以执行本文所述的一种或多种技术。在一些示例中,在本公开内容中标识了组件。在这些示例中,组件可以是硬件、软件或其组合。组件可以是单独的组件或单个组件的子组件。
因此,在本文所述的一个或多个示例中,所述功能可以以硬件、软件或其任何组合实现。如果以软件实现,则功能可以存储在计算机可读介质上或编码为在计算机可读介质上的一个或多个指令或代码。计算机可读介质包括计算机存储介质。存储介质可以是计算机可以访问的任何可用介质。作为示例而非限制,此类计算机可读介质可以包括随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程ROM(EEPROM)、光盘存储器、磁盘存储器、其它磁存储设备、上述类型的计算机可读介质的组合、或可以用于存储具有可以由计算机访问的指令或数据结构的形式的计算机可执行代码的任何其它介质。
一般而言,本公开内容描述了在单个设备或多个设备中进行图形处理的技术,其可以改善对图形内容的渲染和/或减少处理单元(例如,被配置为执行本文所述一种或多种技术的任何处理单元,诸如,GPU)的负载。例如,本公开内容描述了适用于在利用图形处理器的任何设备中进行图形处理的技术。在本公开内容中描述了此类技术的其它潜在优点。
如本文所用,术语“内容”的实例可以指“图形内容”、“图像”等,而无论这些术语是用作形容词、名词还是其它词类。在一些示例中,本文使用的术语“图形内容”可以指由图形处理流水线的一个或多个过程产生的内容。在进一步的示例中,本文使用的术语“图形内容”可以指由被配置为执行图形处理的处理单元产生的内容。在本文使用的又一示例中,术语“图形内容”可以指由图形处理单元产生的内容。
在示例中,本文使用的术语“显示内容”可以指由被配置为执行显示处理的处理单元生成的内容。在进一步的示例中,本文使用的术语“显示内容”可以指由显示处理单元生成的内容。图形内容可以被处理变成显示内容。例如,图形处理单元可以将图形内容(诸如,帧)输出到缓冲器(其可以称为帧缓冲器)。显示处理单元可以从缓冲器读取图形内容(诸如,一个或多个帧),并在其上执行一个或多个显示处理技术以生成显示内容。例如,显示处理单元可以被配置为对一个或多个被渲染层执行合成以生成帧。作为另一个示例,显示处理单元可以被配置为将两个或更多个层合成、混合或以其它方式合并到一个帧中。显示处理单元可以被配置为对帧执行缩放(例如,放大或缩小)。在一些示例中,帧可以指层。在其它示例中,当帧包括两个或更多个层时,帧可以指已经混合在一起以形成帧的两个或更多个层。替代地,可以随后混合包括两个或更多个层的帧。
图1是示出被配置为实现本公开内容的一种或多种技术的示例内容生成系统100的框图。内容生成系统100包括设备104。设备104可以包括用于执行本文所述的各种功能的一个或多个组件或电路。在一些示例中,设备104的一个或多个组件可以是SOC的组件。设备104可以包括被配置为执行本公开内容的一种或多种技术的一个或者多个组件。在所示示例中,设备104可以包括处理单元120和系统存储器124。在一些方面,设备104可以包括许多可选组件(例如,通信接口126、收发机132、接收机128、发射机130、显示处理器127和一个或多个显示器131)。显示器131可以是指一个或多个显示器131。例如,显示器131可以包括单个显示器或者多个显示器,多个显示器可以包括第一显示器和第二显示器。第一显示器可以是左眼显示器,第二显示器可以是右眼显示器。在一些示例中,第一和第二显示器可以接收用于在其上呈现的不同的帧。在其它示例中,第一和第二显示器可以接收用于在其上呈现的相同帧。在进一步的示例中,图形处理的结果可能不显示在设备上,例如,第一和第二显示器可能不接收任何用于在其上呈现的帧。而是,可以将帧或图形处理结果转移到另一个设备。在一些方面中,这可以称为分割式渲染。
处理单元120可以包括内部存储器121。处理单元120可以被配置为使用图形处理流水线107执行图形处理。在一些示例中,设备104可以包括显示处理器(诸如,显示处理器127),用以在由一个或多个显示器131显示之前对由处理单元120生成的一个或多个帧执行一种或多种显示处理技术。例如,显示处理器127可以被配置为对由处理单元120生成的一个或多个帧执行一种或多种显示处理技术。一个或多个显示器131可以被配置为显示或以其它方式呈现由显示处理器127处理的帧。在一些示例中,一个或多个显示器131可以包括液晶显示器(LCD)、等离子显示器、有机发光二极管(OLED)显示器、投影显示设备、增强现实显示设备、虚拟现实显示设备、头戴式显示器或任何其它类型的显示设备中的一个或更多个。
处理单元120外部的存储器(诸如,系统存储器124)可以是由处理单元120可访问的。例如,处理单元120可以被配置为从外部存储器(诸如,系统存储器122)进行读取和/或写入。处理单元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的主板的端口中安装的图形卡上,处理单元120可以以其它方式并入在被配置为与设备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,在特定方面中,图形处理流水线107可以包括帧处理组件198,该组件被配置为:在完成渲染第二帧之后,确定第一帧是当前正在转移还是已经被转移,第二帧跟在第一帧之后;当第一帧被确定为当前正在转移时,与至少一个时钟一起使用第一组时钟速度,而当第一帧被确定为已经被转移时,与至少一个时钟一起使用第二组时钟速度,第二组时钟速度快于第一组时钟速度;以及在完成对第一帧的转移之后,基于所使用的一组时钟速度来转移第二帧。
诸如设备104的设备可以指被配置为执行本文所述的一种或多种技术的任何设备、装置或系统。例如,设备可以是服务器、基站、用户设备、客户端设备、站、接入点、计算机(诸如,个人计算机)、台式计算机、膝上型计算机、平板计算机、计算机工作站、或主机、最终产品、装置、电话、智能电话、服务器、视频游戏平台或控制台、诸如便携式视频游戏设备或个人数字助理(PDA)之类的手持设备、诸如智能手表、增强现实设备或虚拟现实设备之类的可穿戴计算设备、不可穿戴设备、显示器或显示设备、电视、电视机顶盒、中间网络设备、数字媒体播放器、视频流设备、内容流设备、车载计算机、任何移动设备、被配置为生成图形内容的任何设备、或被配置为执行本文所述的一种或多种技术的任何设备。本文中的过程可以被描述为由特定组件(例如,GPU)执行,但在进一步的实施例中,可以使用与所公开的实施例一致的其它组件(例如,CPU)执行。
图2是示出包括处理单元120、系统存储器124、显示处理器127和显示器131的示例性显示框架的框图200,如可以结合示例性设备104识别的。
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的图形内容。而是,显示处理器27可以使用垂直同步(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一起操作的其它设备,例如,相机、麦克风和/或扬声器。
可以在三个阶段(例如,阶段1:渲染阶段;阶段2:合成阶段;阶段3:显示/转移阶段)上执行设备104的一些处理技术。然而,其它处理技术可以将合成阶段和显示/转移阶段合并成单个阶段,从而可以基于总共两个阶段(例如,阶段1:渲染阶段;阶段2:合成/显示/转移平台)来执行处理技术。在渲染阶段期间,GPU 210可以对在逐像素的基础上生成内容的应用的执行来处理内容缓冲器。在合成和显示阶段,可以组装像素元素以形成帧,该帧被转移到显示该帧的物理显示面板/子系统(例如,显示器131)。
为了保持帧到物理显示面板/子系统的恒定的每秒帧(FPS)转移速率,可以基于恒定的时间段来执行处理流水线的各个阶段。在一些情况下,时间段可以由帧的期望的FPS传输速率来控制。例如,帧时间为16.6ms的60Hz FPS显示面板可能需要在16.6ms内完成处理流水线的各个阶段,以防止帧掉落,而帧时间为8.3ms的120Hz FPS显示屏可能需要在8.3ms内完成处理流水线的各阶段,以防止帧掉落。具体地说,为了确保显示面板/子系统平滑地显示内容,在其上执行处理流水线的时间段应小于或等于显示面板/子系统的帧时间。如果为完成处理流水线的各阶段所需的总时间超过显示面板的帧时间,则帧掉落可能导致在所显示的内容中的不平滑/可感知暂停。
图3A-3B示出了关于实现可变刷新速率(VRR)特征312(诸如,QSYNC特征)以延长帧的长度的影响。可变刷新速率技术被配置为以可以动态变化的速率执行帧更新。相关联的显示器可以使显示速率与用以正在接收帧的速率保持同步,从而减少否则可能由变化的帧速率引起的帧的卡顿和/或撕裂。在帧处理技术的方面中,GPU可以在DPU向显示面板显示/转移帧N的相同时间处渲染帧N+1。在图300中,对帧N+2的渲染花费的时间长于周期T 302,该周期可以对应于VSNYC时间304和/或显示面板的帧时间。例如,取决于显示面板的配置,周期T 302可以设置为16.6ms或8.3ms。由于对帧N+2的渲染延长超出了帧时间并延长到后续帧中,所以DPU可以针对两个连续的帧来重复帧N+1,并延迟将帧N+2向下一帧的转移,在下一帧中要开始对帧N+3的渲染。通过延迟将帧N+2向下一帧的转移而导致的帧掉落可能导致显示内容中的可感知暂停,称为jank。
为了减少由于GPU渲染帧太慢并超过帧时间所造成的jank,图310引入了可变刷新速率特征312,以延长相应帧的帧时间的长度。也就是说,当预计对帧的渲染不在初始帧时间内完成时,可变刷新速率特征312提供灵活性,以通过增加VSYNC时间304将先前固定的帧时间替换为被延长的帧时间。虽然延长帧时间可以允许稍多的时间用于渲染帧,但是可变的VSYNC时间304也可能导致FPS转移速率变为可变的,并导致基于DPU硬件配置的在后面帧中的其它帧掉落。因此,稳定的FPS转移速率可以进一步改善终端用户在视觉上感知帧的方式。
在不实现可变刷新速率特征312的情况下,FPS转移速率通常是针对每个相应帧的固定值。例如,对于60Hz显示面板,FPS转移速率可以固定在16.6ms。然而,在实现可变刷新速率特征312的情况下,FPS转移速率可以基于GPU的帧渲染时间动态地改变。例如,帧N+1可以初始设置为16.6ms,帧N+2可以扩展到20ms,帧N+3可以更改为某个其它值。然后,DPU的任务是基于每个相应帧的长度操控显示面板的刷新速率。因此,如果帧渲染时间花费20ms,则可变刷新速率特征312可以将帧从16.6ms扩展到20ms,以便补偿额外的时间花销,从而防止jank问题。相反,如果帧渲染时间仅花费15ms,则可变刷新速率特征312不需要操控16.6ms帧,这是因为GPU可以在帧时间内执行渲染。如前所述,可变的FPS转移速率可能导致后面帧中的一些帧掉落。然而,帧掉落对所显示的内容的影响不如jank产生的影响明显。
图4示出了视频模式定时图400,其中DPU的转移时间被减少以补偿GPU的被延长的渲染时间。被减少的转移时间被配置为保持稳定的FPS转移速率,即使对于对图形处理流水线有很大需求的游戏应用也是如此。在一个方面中,当可变刷新速率特征404生效以延长帧时,可以动态地改变显示串行接口(DSI)时钟以加速显示/转移时间和/或合成时间,从而可以将数据流处理保持在稳定的FPS处理速率。也就是说,当GPU渲染前一帧所采取的时间长于初始帧时间时,可以加速一个或多个时钟以增加显示/传送时间和/或合成时间。
在视频模式定时图400中,初始帧时间由周期T 410表示。当根据原始VSYNC 402,图400中的三个帧N、N+1和N+2中的每个具有周期T 410的长度时,数据流是以恒定FPS速率处理的。然而,当可变刷新速率特征404生效时,通过延迟“a”414来将帧N的持续时间延长到T+a的持续时间。在传统方法下,这可能由于帧N具有比帧N+1和N+2中的每个帧长的长度而导致FPS改变。相应地,可以加速一个或多个时钟,以减少帧N+1中的应用数据(AP数据)406的转移时间,从而将帧N+1的长度缩短到周期X412。周期X 412可以等于T-a,以保持稳定的FPS处理速率。具体而言,在时段T+a、T-a和T上的以FPS为单位的处理速率是与所有三个帧N、N+1和N+2各自具有周期T410时的FPS处理速率相同的。此外,数据字典(DDIC)408的执行时间也可以基于周期X 412而在帧N+1中减少。
图400可以是针对视频模式面板和/或命令模式面板两者来实现的。在一个方面中,可以将DPU从命令模式面板切换到视频模式面板,以在检测到高帧速率(诸如,在执行游戏应用期间检测到高帧速率)时提供稳定的FPS处理速率。
对于每个帧提交,当完成对帧的GPU渲染时,可以将DPU线计数器与垂直总(VTOTAL)线数量进行比较,以确定数据转移是否也完成。VTOTAL表示显示面板/子系统中的显示线(例如,线1至L)的总数量。显示面板/子系统可以逐条线划分为活动线和非活动线(例如,垂直黑色(VBLACK))线,并由线计数器进线计数。VTOTAL可以等于活动线和非活动线的总数量。例如,智能手机可能有1988条活动线和20条非活动/VBLACK线,共有为2008的VTOTAL条线。其它平台可能具有不同的配置(例如,对于为2030的VTOTAL条线,2020条活动线和10条非活动线)。DPU线计数随着DPU逐条线处理帧而增加,并在一些配置中可以等于VTOTAL。可以在完成渲染帧之后重置DPU线计数器。
由于DPU线计数器是在完成渲染帧(例如,帧N+1)时与VTOTAL进行比较的,此时小于VTOTAL的线计数指明前一帧(例如,帧N)的数据转移仍在进行中。这意味着:对当前帧的GPU渲染已经及时完成(例如,在周期T 410内),并且可以在后续帧中针对该数据转移和/或合成保持默认DSI时钟、移动显示处理器(MDP)时钟和其它默认设置。然而,在完成渲染帧时DPU线计数大于VTOTAL指明:可变刷新速率特征404生效以延长帧。这意味着:对当前帧的GPU渲染没有及时完成(例如,在周期T 410内),并且应针对后续帧加速一个或多个时钟,以将帧转移时间和/或合成时间减少到周期X 412,这从而补偿了在被延长的GPU渲染时间中包括的延迟a 414。
可以经由DPU线计数器、一个或多个DSI时钟和/或其它定时参数来识别延迟a 414的长度。特别是,周期X 412可以等于周期T 410减去延迟a 414。也就是说,如果GPU渲染花费在周期T 410之外的额外的时间(例如,2ms),则DPU可以将转移时间减少相同的时间量(例如,2ms),以补偿增加的渲染花销。针对后续帧的新周期(例如,周期X 412,其等于T-a)是与面板分辨率和其它DSI定时参数(例如,垂直沿(porch)和水平沿)一起用于确定针对一个或多个时钟(诸如,DSI比特时钟、像素时钟或字节时钟)的调整。实现这种调整以确保可以根据新时段执行DPU转移时间和/或合成时间。例如,可以在保持其它当前DSI定时参数(诸如,垂直沿、水平沿和/或活动帧区域)的同时加速DSI时钟。MDP核心时钟和其它相关时钟可以被加速以匹配所加速的DSI时钟。
图5是流程图500,其图示了确定是否应加速一个或多个时钟以减少帧的转移时间。在502,生成显示提交,该显示提交最终确定用于由GPU进行渲染的帧。具体地说,显示提交进行对在渲染帧之前不变的用于生成帧的数据进行一个或多个暂定更改(例如,针对关于渲染帧的动作,经由GPU被“提交”的显示提交502)。在504,实现可变刷新速率特征。例如,由GPU渲染帧所需的时间可能超过当前帧时间,从而导致可变刷新速率功能激活并延长帧时间。在506,处理系统等待GPU完成帧渲染,以便在508,处理系统可以准备帧以便转移给显示面板。例如,在508,DPU可以合成帧的一个或多个被渲染层,诸如,通过组装像素元素以形成帧。
在510,处理系统确定LINE_COUNT是否大于VTOTAL。在一个方面中,输出LINE_COUNT的线计数器可以是在完成数据流中的每个帧后重置为初始值的硬件。在另一方面中,LINE_COUNT的初始值可以是基于数据流中的每个帧的第一条线的起始的,其中,LINE_COUNT随着每条线持续地增加。如果在一些实施例中,LINE_COUNT不大于VTOTAL,则可变刷新速率特征可以按预期自由地进行操作,而不对DPU转移时间进行任何调整。也就是说,在512,默认MDP时钟和DSI时钟是用于转移帧的。
然而,如果LINE_COUNT大于VTOTAL,则由于GPU渲染帧的速度较慢,所以可变刷新速率特征可能延长帧。因此,在514,计算针对MDP时钟和DSI时钟的被提升的/被加速的时间,以用于转移帧。虽然默认时钟速度可以是基于物理显示面板的固定帧时间的,但是被加速的时钟速度可以是基于GPU渲染时间的。例如,当由于前一帧N的GPU呈现时间长于时间T,所以帧N+1的GPU渲染时间从时间T缩短到T-a时,时钟可能加速到允许帧N+l在缩短的时间T-a内转移到显示面板的速率。在任何情况下,可变刷新速率特征在516结束,并且在518,帧被转移到物理显示面板以对其进行显示。
图6是根据本公开内容的一种或多种技术的示例方法的流程图600。方法600可以由如结合图1-5的示例使用的帧合成器、显示处理器、DPU、GPU、用于图形处理的装置、无线通信设备等执行。
在602,当恒定显示速率被请求时,帧处理器可以从命令模式切换到视频模式。例如,参考图4,帧处理器可以在命令模式下接收针对恒定显示速率的请求之后,切换到由视频模式定时图400表示的视频模式(例如,基于对高帧速率的检测、对高帧速率应用的启动、用户的手动输入等)。
在604,帧处理器可以在完成对第二帧的渲染之后,确定第一帧是当前正在转移还是已经被转移,其中,第二帧跟在第一帧之后。例如,参考图4,帧处理器可以确定视频模式定时图400的帧N是否已通过可变刷新速率特征404延长到T+a,其中,延迟a 414指示在完成对帧N+1的渲染时帧N已经被转移到显示面板;或者确定帧N的长度是否保持在周期T 410(例如,没有延迟a 414),其中,周期T 410的长度指示帧N当前仍正在转移到显示面板。因此,在各方面中,帧处理器可以基于DSI时钟是否测量了延迟来确定第一帧当前正在转移还是已经被转移。
在606,确定第一帧是当前正在转移还是已经被转移可以进一步包括确定DPU线计数器指示第一帧是正在被转移到显示缓冲器中还是已经完全被转移到显示缓冲区中。例如,参考图5,如果帧处理器在510确定LINE_COUNT大于VTOTAL,则指示是帧N已经完全被转移到缓冲器中,这进一步指示帧N已经被转移到显示面板。替代地,如果帧处理器在510确定LINE_COUNT小于VTOTAL,则指示是帧N尚未完全被转移到缓冲器中,这进一步指示帧N当前正在转移到显示面板。
在608,当确定第一帧当前正在转移时,至少一个时钟可以与第一组时钟速度一起使用。至少一个时钟可以包括DSI时钟或MDP时钟中的至少一个。例如,参考图5,如果帧处理器在510确定LINE_COUNT小于VTOTAL,则帧处理器可以在512应用默认MDP时钟和DSI时钟。也就是说,第一组时钟速度可以是用于提供在第一周期T内对帧的转移的一组默认时钟速度。
在610,当第一帧已经被转移时,VSYNC周期可以从第一周期T延长到第二周期T+a。基于第二周期T+a,至少一个时钟可以与比第一组时钟速度快的第二组时钟速度一起使用。例如,参考图4,可变刷新速率特征404可以通过延迟a 414来延长原始VSYNC 402,其中,原始VSYNC 402提供针对帧N的初始周期T 410。由于所延长的周期T+a长于周期T 410,因此可能需要针对帧N+1加速该组时钟速度,以保持稳定的FPS处理速率。
在612,可以基于减少第二帧的转移完成时间,以便提供在第三周期T-a内的对第二帧的转移,来确定第二组时钟速度。例如,参考图4,帧处理器可以基于将帧N+1的转移完成时间减少到周期X 412来确定第二组时钟速度,其中,周期X 412等于T-a。
在614,当确定第一帧已经被转移时,至少一个时钟可以与第二组时钟速度一起使用,其中,第二组钟速度比第一组钟速度快。例如,参考图5,如果帧处理器在510确定LINE_COUNT大于VTOTAL,则帧处理器可以在514计算并提升MDP时钟和DSI时钟(例如,增加其速率)。也就是说,第二组时钟速度可以是用于提供在第三周期T-a内对帧的转移的一组被加速的时钟速度。第二组时钟速度可以基于第二帧的可变刷新速率。
在616,帧处理器可以在完成对第一帧的转移之后,基于所使用的一组时钟速度来转移第二帧。也就是说,可以基于第一组时钟速度或第二组时钟速度来执行块616。例如,参考图5,当可变刷新速率特征在516已经完成时,基于在512应用的默认MDP时钟和DSI时钟或在514增强的MDP时钟和DSA时钟,帧处理器在518转移帧。
图7是示出示例装置702中的不同的单元/组件之间的数据流的概念数据流图700。装置702可以是帧合成器、帧处理器、显示处理器、DPU、无线通信设备或其它类似装置。装置702包括接收组件704,其从GPU 740接收关于帧N+1已经完成渲染的指示。例如,如结合506所述,在接收组件702接收到指示之前,装置702可能必须等待GPU渲染完成。
装置702包括切换组件706,其将装置702从命令模式切换到视频模式。例如,如结合602所述,当恒定显示速率被请求、高帧速率被检测到、高帧速率应用被启动等时,切换组件706可以从命令模式切换到视频模式。在从GPU 740接收到指示时装置702已经处于视频模式的配置中,接收组件704可以直接向确定组件708提供对VSYNC周期的指示。此外或者替代地,可以在切换组件706已经从命令模式切换到视频模式之后,向确定组件708提供对VSYNC周期的指示。
装置702中进一步包括的确定组件708被配置为确定前一帧N的转移状态。例如,如结合604所述,确定组件706可以确定帧N当前仍正在转移到显示面板(例如,显示面板750)。因此,可以保持时钟速度,以用于转移帧N+1。如结合606所述,确定组件708可以基于来自DPU线计数器的关于帧N正在被转移到显示缓冲器中的指示,来确定帧N当前仍正在转移。如结合604进一步描述的,确定组件708可以确定帧N已经被转移到显示面板(例如,显示面板750)。具体地说,如结合606所述,确定组件708可以基于来自DPU线计数器的关于帧N已完全被转移到显示缓冲器中的指示来确定帧N已经被转移。
装置702包括延长组件710,其当帧N已经被转移到显示面板750时延长VSYNC周期。例如,如结合610所述,当帧N已经被转移时,延长组件710可以将VSYNC周期从第一周期T延长到第二周期T+a。延长VSYNC周期可能需要增加时钟速度,以用于转移帧N+1。如结合612所述,确定组件708可以基于将帧N+2的转移完成时间减少到第三周期T-a,来确定用于转移帧N+1的第二组(被增加的)时钟速度。
装置702包括使用组件712,其中,取决于确定组件708确定帧N是当前正在转移还是已经被转移,该组件与至少一个时钟一起使用被增加的时钟速度或被保持的时钟速度。例如,如结合608所述,当帧N当前正在转移时,使用组件712使用与至少一个时钟一起的第一组时钟速度,并且如结合714所述,在帧N已经被转移时,使用组件712使用与至少一时钟一起的第二组时钟速度,第二组时钟速度比第一组时钟速度快。在装置702中包括的发送/转移组件714被配置为基于由使用组件712使用的时钟速度来将帧N+1发送/转移到显示面板750。
装置702可以包括用于执行上述图6流程图中算法的每个框的附加组件。因此,图6的流程图中的每个块可以由一组件执行,并且装置702可以包括这些组件中的一个或多个。组件可以是专门被配置为实行所述过程/算法的一个或多个硬件组件,是由被配置为执行所述过程/算法的处理器(例如,由处理器执行的逻辑和/或代码)实现的,是被存储在计算机可读介质中以供处理器实现的,或上述情况的某个组合。
因此,当通过可变刷新速率特征延长第一帧的长度时,在第一帧之后的第二帧可以缩短与第一帧被延长的长度相同的长度,以补偿对第一帧的延长,并在多个帧上保持稳定的FPS处理速率。具体地说,在完成对第二帧的渲染之后,帧处理器(例如,DPU)可以确定第一帧是当前正在转移到显示面板还是已经被转移到显示面板,其中,第一帧当前仍然正在转移到显示面板指示GPU渲染在初始VSYNC时间间隔内完成了,并且其中,第一帧已经被转移到显示面板指示GPU渲染被延迟了超过初始VSYNC时间间隔。当确定第一帧当前正在转移时,可以将至少一个时钟保持在用于将第二帧转移到显示面板的一组默认时钟速度。替代地,当确定第一帧已经被转移时,可以将至少一个时钟加速/设置为第二组时钟速度,第二组时钟速度被配置为:在被缩短的时间段内完成对第二帧的转移,并补偿前一帧的被延长的时间段/延迟。
应理解,所公开的过程/流程图中的块的特定顺序或层次结构是示例方法的说明。基于设计偏好,可以理解,可以重新排列过程/流程图中的块的特定顺序或层次结构。此外,可以组合或省略一些块。随附的方法权利要求以样例顺序呈现各个块的元素,并不意味着局限于所呈现的特定顺序或层次结构。
提供前述描述是为了使本领域技术人员能够实践本文所述的各个方面。对这些方面的各种修改对于本领域技术人员来说将是显而易见的,并且本文定义的一般原理可以应用于其它方面。因此,权利要求不限于本文所示的方面,而是应符合与权利要求语言一致的全部范围,其中,除非特别说明,否则对单数元素的引用不意味着“一个且仅一个”,而是“一个或多个”。“示例性”一词在本文中用于表示“用作示例、实例或说明”。本文中描述为“示例性”的任何方面不一定被解释为优于或优于其它方面。
除非另有明确规定,否则术语“一些”指的是一个或多个,且术语“或”可以被打断为“和/或”,前提是上下文未另行规定。诸如“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所述的方法,其中,所述确定所述第一帧是当前正在转移还是已经被转移包括:确定显示处理单元(DPU)线计数器指示所述第一帧是正在被转移到所述显示缓冲器中还是已经完全被转移到所述显示缓冲区中。
3.根据权利要求1所述的方法,其中,所述至少一个时钟包括显示串行接口(DSI)时钟或移动显示处理器(MDP)时钟中的至少一个。
4.根据权利要求1所述的方法,其中,所述第一组时钟速度是一组默认时钟速度,其提供在第一周期T内对帧的转移。
5.根据权利要求1所述的方法,还包括:当所述第一帧已经被转移时将垂直同步(VSYNC)周期从第一周期T延长到第二周期T+a,其中,所述至少一个时钟是与所述第二组时钟速度一起使用的。
6.根据权利要求5所述的方法,还包括:基于减少所述第二帧的转移完成时间,以便提供在第三周期T-a内对所述第二帧的转移,来确定所述第二组时钟速度。
7.根据权利要求1所述的方法,其中,所述第二组时钟速度是基于所述第二帧的可变刷新速率的。
8.根据权利要求1所述的方法,还包括:当恒定显示速率被请求时从命令模式切换到视频模式。
9.一种用于帧处理的装置,包括:
存储器;以及
至少一个处理器,其耦合到所述存储器并被配置为:
在完成对第二帧的渲染之后,确定第一帧是当前正在转移还是已经被转移,所述第二帧跟在所述第一帧之后;
当确定所述第一帧当前正在转移时,与至少一个时钟一起使用第一组时钟速度,而当确定所述第一帧已被转移时,与所述至少一个时钟一起使用第二组时钟速度,所述第二组时钟速度快于所述第一组时钟速度;以及
在完成对所述第一帧的转移之后,基于所使用的一组时钟速度来转移所述第二帧。
10.根据权利要求9所述的装置,其中,为了所述确定所述第一帧是当前正在转移还是已经被转移,所述至少一个处理器还被配置为:确定显示处理单元(DPU)线计数器指示所述第一帧是正在被转移到所述显示缓冲器中还是已经完全被转移到所述显示缓冲区中。
11.根据权利要求9所述的装置,其中,所述至少一个时钟包括显示串行接口(DSI)时钟或移动显示处理器(MDP)时钟中的至少一个。
12.根据权利要求9所述的装置,其中,所述第一组时钟速度是一组默认时钟速度,其提供在第一周期T内对帧的转移。
13.根据权利要求9所述的装置,其中,所述至少一个处理器还被配置为:当所述第一帧已经被转移时将垂直同步(VSYNC)周期从第一周期T延长到第二周期T+a,其中,所述至少一个时钟是与所述第二组时钟速度一起使用的。
14.根据权利要求13所述的装置,其中,所述至少一个处理器还被配置为:基于减少所述第二帧的转移完成时间,以便提供在第三周期T-a内对所述第二帧的转移,来确定所述第二组时钟速度。
15.根据权利要求9所述的装置,其中,所述第二组时钟速度是基于所述第二帧的可变刷新速率的。
16.根据权利要求9所述的装置,其中,所述至少一个处理器还被配置为:当恒定显示速率被请求时从命令模式切换到视频模式。
17.根据权利要求9所述的装置,其中,所述装置是无线通信设备。
18.一种存储计算机可执行代码的计算机可读介质,所述代码当由处理器执行时使得所述处理器进行如下操作:
在完成对第二帧的渲染之后,确定第一帧是当前正在转移还是已经被转移,所述第二帧跟在所述第一帧之后;
当确定所述第一帧当前正在转移时,与至少一个时钟一起使用第一组时钟速度,而当确定所述第一帧已被转移时,与所述至少一个时钟一起使用第二组时钟速度,所述第二组时钟速度快于所述第一组时钟速度;以及
在完成对所述第一帧的转移之后,基于所使用的一组时钟速度来转移所述第二帧。
19.根据权利要求18所述的计算机可读介质,其中,为了所述确定所述第一帧是当前正在转移还是已经被转移,所述处理器还被配置为:确定显示处理单元(DPU)线计数器指示所述第一帧是正在被转移到所述显示缓冲器中还是已经完全被转移到所述显示缓冲区中。
20.根据权利要求18所述的计算机可读介质,其中,所述第一组时钟速度是一组默认时钟速度,其提供在第一周期T内对帧的转移。
CN202080096811.XA 2020-02-21 2020-02-21 用以补偿被延迟的图形处理单元渲染时间的被减少的显示处理单元传送时间 Pending CN115151969A (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2020/076205 WO2021164004A1 (en) 2020-02-21 2020-02-21 Reduced display processing unit transfer time to compensate for delayed graphics processing unit render time

Publications (1)

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

Family

ID=77391822

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202080096811.XA Pending CN115151969A (zh) 2020-02-21 2020-02-21 用以补偿被延迟的图形处理单元渲染时间的被减少的显示处理单元传送时间

Country Status (5)

Country Link
US (1) US20230073736A1 (zh)
EP (1) EP4107719A4 (zh)
KR (1) KR20220143667A (zh)
CN (1) CN115151969A (zh)
WO (1) WO2021164004A1 (zh)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023136984A1 (en) * 2022-01-12 2023-07-20 Qualcomm Incorporated Dpu driven adaptive sync for command mode panels
US11948535B1 (en) 2022-10-11 2024-04-02 Novatek Microelectronics Corp. Electronic device and operating method thereof
WO2024085642A1 (ko) * 2022-10-19 2024-04-25 삼성전자 주식회사 디스플레이를 포함하는 전자 장치 및 이의 동작 방법
WO2024101879A1 (ko) * 2022-11-08 2024-05-16 삼성전자 주식회사 전자 장치 및 전자 장치에서 이미지 프레임 동기화 제어 방법
CN116866621B (zh) * 2023-09-05 2023-11-03 湖南马栏山视频先进技术研究院有限公司 一种面向视频实时渲染的云端同步方法及系统

Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070206018A1 (en) * 2006-03-03 2007-09-06 Ati Technologies Inc. Dynamically controlled power reduction method and circuit for a graphics processor
US20080284785A1 (en) * 2007-05-16 2008-11-20 Kestrelink Dynamic data rate display
US20090185795A1 (en) * 2008-01-22 2009-07-23 Tetsuya Itani Playback device and method
CN104620311A (zh) * 2012-09-07 2015-05-13 夏普株式会社 存储器控制装置、便携终端、存储器控制程序以及计算机可读取的记录介质
CN104917990A (zh) * 2014-03-12 2015-09-16 索尼电脑娱乐美国公司 通过调整垂直消隐进行视频帧速率补偿
US20180174551A1 (en) * 2016-12-21 2018-06-21 Intel Corporation Sending frames using adjustable vertical blanking intervals
CN108604113A (zh) * 2016-02-03 2018-09-28 高通股份有限公司 用于处理单元的以帧为基础的时钟速率调整
CN109196578A (zh) * 2016-06-03 2019-01-11 苹果公司 控制显示性能
US20190057484A1 (en) * 2017-08-18 2019-02-21 Apple Inc. Fast GPU Context Switch
CN110520819A (zh) * 2017-04-13 2019-11-29 微软技术许可有限责任公司 帧内实时频率控制

Family Cites Families (78)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2587159B1 (fr) * 1985-09-12 1987-11-13 Coatanea Pierre Equipements de multiplexage et demultiplexage pour liaison numerique synchrone a debit et rapiditite de modulation variables
KR910001743B1 (ko) * 1986-11-28 1991-03-22 미쓰비시덴기 가부시기가이샤 데이타 멀티 플렉스 전송 장치
US5717469A (en) * 1994-06-30 1998-02-10 Agfa-Gevaert N.V. Video frame grabber comprising analog video signals analysis system
US5612900A (en) * 1995-05-08 1997-03-18 Kabushiki Kaisha Toshiba Video encoding method and system which encodes using a rate-quantizer model
US5929924A (en) * 1997-03-10 1999-07-27 Neomagic Corp. Portable PC simultaneously displaying on a flat-panel display and on an external NTSC/PAL TV using line buffer with variable horizontal-line rate during vertical blanking period
US6040861A (en) * 1997-10-10 2000-03-21 International Business Machines Corporation Adaptive real-time encoding of video sequence employing image statistics
US6097757A (en) * 1998-01-16 2000-08-01 International Business Machines Corporation Real-time variable bit rate encoding of video sequence employing statistics
JP3615414B2 (ja) * 1999-03-10 2005-02-02 三洋電機株式会社 固体撮像素子の駆動方法
JP3819631B2 (ja) * 1999-03-18 2006-09-13 三洋電機株式会社 固体撮像装置
US20020146023A1 (en) * 2001-01-09 2002-10-10 Regan Myers Transport stream multiplexer utilizing smart FIFO-meters
US6791557B2 (en) * 2001-02-15 2004-09-14 Sony Corporation Two-dimensional buffer pages using bit-field addressing
US7199834B2 (en) * 2001-06-29 2007-04-03 Matsushita Electric Industrial Co., Ltd. Vertical synchronizing signal generation apparatus and video signal processing apparatus
US7318002B2 (en) * 2003-09-29 2008-01-08 Ati Technologies Inc. Method and apparatus for automated testing of display signals
US7519845B2 (en) * 2005-01-05 2009-04-14 Microsoft Corporation Software-based audio rendering
KR101137856B1 (ko) * 2005-10-25 2012-04-20 엘지디스플레이 주식회사 평판표시장치 및 그 화질제어방법
US20070165015A1 (en) * 2006-01-18 2007-07-19 Au Optronics Corporation Efficient use of synchronous dynamic random access memory
US7577980B2 (en) * 2006-01-19 2009-08-18 International Business Machines Corporation Bit-rate constrained trick play through stream switching and adaptive streaming
US7889191B2 (en) * 2006-12-01 2011-02-15 Semiconductor Components Industries, Llc Method and apparatus for providing a synchronized video presentation without video tearing
US8026885B2 (en) * 2006-12-08 2011-09-27 Hitachi Displays, Ltd. Display device and display system
TWI336874B (en) * 2007-03-12 2011-02-01 Au Optronics Corp Drive circuit, display apparatus, and method for adjusting screen refresh rate
JP4844446B2 (ja) * 2007-03-27 2011-12-28 ソニー株式会社 撮像装置及び撮像方法
TWI424430B (zh) * 2009-01-23 2014-01-21 Realtek Semiconductor Corp 控制畫面輸入與輸出之裝置與方法
GB0922071D0 (en) * 2009-12-17 2010-02-03 Wolfson Microelectronics Plc Interface
JP5457465B2 (ja) * 2009-12-28 2014-04-02 パナソニック株式会社 表示装置と方法、送信装置と方法、及び受信装置と方法
US20120215952A1 (en) * 2010-01-21 2012-08-23 Rambus Inc. Protocol for Transmission of Data Over a Communication Link
US20120256962A1 (en) * 2011-04-07 2012-10-11 Himax Media Solutions, Inc. Video Processing Apparatus and Method for Extending the Vertical Blanking Interval
TW201246157A (en) * 2011-05-13 2012-11-16 Novatek Microelectronics Corp Display interface circuit
JP5754273B2 (ja) * 2011-07-11 2015-07-29 株式会社リコー メモリ制御装置、情報処理装置およびメモリ制御方法
JP5485956B2 (ja) * 2011-09-09 2014-05-07 レノボ・シンガポール・プライベート・リミテッド カメラ・モジュールが画像データを転送する方法およびコンピュータ
JP2013089980A (ja) * 2011-10-13 2013-05-13 Sony Corp 駆動装置、駆動方法、及びプログラム
CN103379275B (zh) * 2012-04-16 2019-01-11 三星电子株式会社 摄像机的图像处理装置和方法
US9251552B2 (en) * 2012-06-28 2016-02-02 Intel Corporation Method and apparatus for managing image data for presentation on a display
US9275601B2 (en) * 2012-12-12 2016-03-01 Intel Corporation Techniques to control frame display rate
US9310872B2 (en) * 2013-02-01 2016-04-12 Nvidia Corporation Processor frequency mainly depending on a target frame rate while processing a graphics application
US9497358B2 (en) * 2013-12-19 2016-11-15 Sony Interactive Entertainment America Llc Video latency reduction
US9177352B2 (en) * 2014-01-07 2015-11-03 Qualcomm Innovation Center, Inc. Selective multithreading for sporadic processor workloads
JP2015177364A (ja) * 2014-03-14 2015-10-05 シナプティクス・ディスプレイ・デバイス合同会社 レシーバ回路、表示パネルドライバ、表示装置及びレシーバ回路の動作方法
US9837030B2 (en) * 2014-05-22 2017-12-05 Nvidia Corporation Refresh rate dependent adaptive dithering for a variable refresh rate display
US9786255B2 (en) * 2014-05-30 2017-10-10 Nvidia Corporation Dynamic frame repetition in a variable refresh rate system
US10096080B2 (en) * 2014-06-27 2018-10-09 Intel Corporation Power optimization with dynamic frame rate support
JP6551724B2 (ja) * 2015-01-20 2019-07-31 Tianma Japan株式会社 液晶表示用の極性反転制御装置、液晶表示装置、その駆動方法及び駆動プログラム
US9940905B2 (en) * 2015-02-03 2018-04-10 Qualcomm Incorporated Clock rate adjustment for processing unit
US9811388B2 (en) * 2015-05-14 2017-11-07 Qualcomm Innovation Center, Inc. VSync aligned CPU frequency governor sampling
US10698522B2 (en) * 2016-04-27 2020-06-30 Qualcomm Incorporated Variable rate display interfaces
US10742707B2 (en) * 2016-04-29 2020-08-11 Ittiam Systems (P) Ltd. Low latency multimedia streaming system and method
KR102556084B1 (ko) * 2016-10-07 2023-07-17 삼성디스플레이 주식회사 프레임 레이트를 변경할 수 있는 표시 장치 및 그것의 동작 방법
CN110800247A (zh) * 2017-07-03 2020-02-14 索尼半导体解决方案公司 发送器和发送方法及接收器和接收方法
US10699364B2 (en) * 2017-07-12 2020-06-30 Citrix Systems, Inc. Graphical rendering using multiple graphics processors
KR102521898B1 (ko) * 2018-06-28 2023-04-18 삼성디스플레이 주식회사 프레임 주파수를 변경할 수 있는 표시 장치 및 그것의 구동 방법
US10388255B2 (en) * 2018-06-29 2019-08-20 Intel Corporation Computers for supporting multiple virtual reality display devices and related methods
CN109215586B (zh) * 2018-10-29 2021-04-20 明基智能科技(上海)有限公司 降低双重影像效果的显示方法及其显示系统
US11200636B2 (en) * 2018-11-30 2021-12-14 Mediatek Inc. Method and apparatus for generating a series of frames with aid of synthesizer to offload graphics processing unit rendering in electronic device
CN109767732B (zh) * 2019-03-22 2021-09-10 明基智能科技(上海)有限公司 减少影像延迟的显示方法及显示系统
CN110609645B (zh) * 2019-06-25 2021-01-29 华为技术有限公司 一种基于垂直同步信号的控制方法及电子设备
US11062674B2 (en) * 2019-06-28 2021-07-13 Intel Corporation Combined panel self-refresh (PSR) and adaptive synchronization systems and methods
US20230074876A1 (en) * 2020-02-21 2023-03-09 Qualcomm Incorporated Delaying dsi clock change based on frame update to provide smoother user interface experience
US20210280156A1 (en) * 2020-03-03 2021-09-09 Qualcomm Incorporated Dynamic refresh rate adjustment
US11284125B2 (en) * 2020-06-11 2022-03-22 Western Digital Technologies, Inc. Self-data-generating storage system and method for use therewith
GB2596111B (en) * 2020-06-18 2023-03-22 Dualitas Ltd Frame rate synchronization
US11551632B2 (en) * 2020-06-26 2023-01-10 Ati Technologies Ulc Accelerated frame transmission
WO2022036486A1 (en) * 2020-08-17 2022-02-24 Qualcomm Incorporated Adaptively configuring image data transfer time
US11893927B2 (en) * 2020-09-17 2024-02-06 Samsung Display Co., Ltd. Display device and method of driving the same
US11594194B2 (en) * 2020-09-24 2023-02-28 Ati Technologies Ulc Video timing for display systems with variable refresh rates
US11417295B2 (en) * 2020-09-24 2022-08-16 Ati Technologies Ulc Reduced vertical blanking regions for display systems that support variable refresh rates
KR20220043995A (ko) * 2020-09-28 2022-04-06 삼성디스플레이 주식회사 표시 장치
US20220108646A1 (en) * 2020-10-02 2022-04-07 Qualcomm Incorporated Adaptive display data transfer rate to reduce power consumption during partial frame composition
KR20220051550A (ko) * 2020-10-19 2022-04-26 엘지디스플레이 주식회사 전계발광 표시장치
US20220208145A1 (en) * 2020-12-28 2022-06-30 Ati Technologies Ulc Display wall synchronization using variable refresh rate modules
US11948533B2 (en) * 2021-02-05 2024-04-02 Samsung Electronics Co., Ltd. Display system including plurality of displays and image output method thereof
KR20220151088A (ko) * 2021-05-04 2022-11-14 삼성디스플레이 주식회사 표시 장치
KR20230039133A (ko) * 2021-09-13 2023-03-21 삼성전자주식회사 디스플레이 구동 회로 및 디스플레이 장치
US20230196498A1 (en) * 2021-12-20 2023-06-22 Qualcomm Incorporated Scheduling techniques in split rendering
KR20230110420A (ko) * 2022-01-14 2023-07-24 삼성디스플레이 주식회사 표시 장치
US11842671B2 (en) * 2022-03-07 2023-12-12 Hyphy Usa Inc. Spread-spectrum video transport source driver integration with display panel
KR20230158166A (ko) * 2022-05-10 2023-11-20 삼성디스플레이 주식회사 표시 장치
US12027087B2 (en) * 2022-05-13 2024-07-02 Qualcomm Incorporated Smart compositor module
KR20240007863A (ko) * 2022-07-08 2024-01-17 삼성디스플레이 주식회사 드라이버, 디스플레이 장치, 디스플레이 시스템, 및 전자 장치, 디스플레이 구동 방법, 및 전자 장치의 구동 방법
KR20240018742A (ko) * 2022-08-02 2024-02-14 삼성디스플레이 주식회사 영상 데이터를 처리하여 화소들을 구동하는 표시 장치 및 방법

Patent Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070206018A1 (en) * 2006-03-03 2007-09-06 Ati Technologies Inc. Dynamically controlled power reduction method and circuit for a graphics processor
US20080284785A1 (en) * 2007-05-16 2008-11-20 Kestrelink Dynamic data rate display
US20090185795A1 (en) * 2008-01-22 2009-07-23 Tetsuya Itani Playback device and method
CN104620311A (zh) * 2012-09-07 2015-05-13 夏普株式会社 存储器控制装置、便携终端、存储器控制程序以及计算机可读取的记录介质
CN104917990A (zh) * 2014-03-12 2015-09-16 索尼电脑娱乐美国公司 通过调整垂直消隐进行视频帧速率补偿
CN108449566A (zh) * 2014-03-12 2018-08-24 索尼互动娱乐有限责任公司 通过调整垂直消隐进行视频帧速率补偿
CN108604113A (zh) * 2016-02-03 2018-09-28 高通股份有限公司 用于处理单元的以帧为基础的时钟速率调整
CN109196578A (zh) * 2016-06-03 2019-01-11 苹果公司 控制显示性能
US20180174551A1 (en) * 2016-12-21 2018-06-21 Intel Corporation Sending frames using adjustable vertical blanking intervals
CN110520819A (zh) * 2017-04-13 2019-11-29 微软技术许可有限责任公司 帧内实时频率控制
US20190057484A1 (en) * 2017-08-18 2019-02-21 Apple Inc. Fast GPU Context Switch

Also Published As

Publication number Publication date
WO2021164004A1 (en) 2021-08-26
EP4107719A4 (en) 2023-10-11
US20230073736A1 (en) 2023-03-09
KR20220143667A (ko) 2022-10-25
EP4107719A1 (en) 2022-12-28

Similar Documents

Publication Publication Date Title
CN115151969A (zh) 用以补偿被延迟的图形处理单元渲染时间的被减少的显示处理单元传送时间
US8300056B2 (en) Seamless display migration
KR102566790B1 (ko) 가변 프레임 모드를 지원하는 표시 장치의 구동 방법, 및 표시 장치
US8797340B2 (en) System, method, and computer program product for modifying a pixel value as a function of a display duration estimate
US11164357B2 (en) In-flight adaptive foveated rendering
US7542010B2 (en) Preventing image tearing where a single video input is streamed to two independent display devices
JP2020507244A (ja) 画像円滑性向上方法および装置
CN112384971B (zh) 变化显示刷新率
KR20190073350A (ko) 데스크탑 환경에서 애플리케이션 렌더링에서 온 스크린까지 시간을 동적으로 감소시키기 위한 방법 장치
US9087473B1 (en) System, method, and computer program product for changing a display refresh rate in an active period
US8194065B1 (en) Hardware system and method for changing a display refresh rate
US20240242690A1 (en) Software vsync filtering
KR20150028075A (ko) 디스플레이 드라이버, 디스플레이 드라이버 구동방법 및 영상 표시 시스템
US10068549B2 (en) Cursor handling in a variable refresh rate environment
US20230074876A1 (en) Delaying dsi clock change based on frame update to provide smoother user interface experience
CN116348949A (zh) 动态帧率优化
WO2024005963A1 (en) Independent refresh rate for multiple monitors
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
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