CN112384971B - 变化显示刷新率 - Google Patents
变化显示刷新率 Download PDFInfo
- Publication number
- CN112384971B CN112384971B CN201980044301.5A CN201980044301A CN112384971B CN 112384971 B CN112384971 B CN 112384971B CN 201980044301 A CN201980044301 A CN 201980044301A CN 112384971 B CN112384971 B CN 112384971B
- Authority
- CN
- China
- Prior art keywords
- content
- visual content
- signal
- presentation device
- value
- 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.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09G—ARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
- G09G5/00—Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
- G09G5/12—Synchronisation between the display unit and other units, e.g. other display units, video-disc players
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T1/00—General purpose image data processing
- G06T1/60—Memory management
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09G—ARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
- G09G3/00—Control arrangements or circuits, of interest only in connection with visual indicators other than cathode-ray tubes
- G09G3/20—Control arrangements or circuits, of interest only in connection with visual indicators other than cathode-ray tubes for presentation of an assembly of a number of characters, e.g. a page, by composing the assembly by combination of individual elements arranged in a matrix no fixed position being assigned to or needed to be assigned to the individual characters or partial characters
- G09G3/34—Control arrangements or circuits, of interest only in connection with visual indicators other than cathode-ray tubes for presentation of an assembly of a number of characters, e.g. a page, by composing the assembly by combination of individual elements arranged in a matrix no fixed position being assigned to or needed to be assigned to the individual characters or partial characters by control of light from an independent source
- G09G3/36—Control arrangements or circuits, of interest only in connection with visual indicators other than cathode-ray tubes for presentation of an assembly of a number of characters, e.g. a page, by composing the assembly by combination of individual elements arranged in a matrix no fixed position being assigned to or needed to be assigned to the individual characters or partial characters by control of light from an independent source using liquid crystals
- G09G3/3611—Control of matrices with row and column drivers
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09G—ARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
- G09G5/00—Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
- G09G5/003—Details of a display terminal, the details relating to the control arrangement of the display terminal and to the interfaces thereto
- G09G5/006—Details of the interface to the display terminal
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09G—ARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
- G09G5/00—Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
- G09G5/18—Timing circuits for raster scan displays
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09G—ARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
- G09G5/00—Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
- G09G5/36—Control 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/39—Control of the bit-mapped memory
- G09G5/395—Arrangements specially adapted for transferring the contents of the bit-mapped memory to the screen
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09G—ARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
- G09G2310/00—Command of the display device
- G09G2310/08—Details of timing specific for flat panels, other than clock recovery
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09G—ARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
- G09G2340/00—Aspects of display data processing
- G09G2340/04—Changes in size, position or resolution of an image
- G09G2340/0407—Resolution change, inclusive of the use of different resolutions for different screen areas
- G09G2340/0435—Change or adaptation of the frame rate of the video stream
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09G—ARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
- G09G2360/00—Aspects of the architecture of display systems
- G09G2360/18—Use of a frame buffer in a display terminal, inclusive of the display panel
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09G—ARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
- G09G2370/00—Aspects of data communication
- G09G2370/04—Exchange of auxiliary data, i.e. other than image data, between monitor and graphics controller
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Multimedia (AREA)
- Chemical & Material Sciences (AREA)
- Crystallography & Structural Chemistry (AREA)
- Controls And Circuits For Display Device (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
- Control Of Indicators Other Than Cathode Ray Tubes (AREA)
Abstract
方法、系统和装置,包括在计算机存储介质上编码的计算机程序,用于启用显示器上的可变刷新率。该方法之一包括:从内容呈现设备接收被设置为第一值的第一信号;完成第一视觉内容的生成;以及在完成第一视觉内容的生成后,确定第一信号被设置为第一值且第二阈值持续时间未到期;向内容呈现设备发送第一视觉内容,其中,发送第一视觉内容使内容呈现设备将第一信号从第一值改变为第二值;以及在发送第一视觉内容后,从内容呈现设备接收设置为第二值的第一信号。
Description
相关申请的交叉引用
本申请要求于2018年12月5日提交的美国临时申请62/775,539的权益,并要求于2019年8月20日提交的美国申请16/545,663的优先权。
技术领域
本说明书通常涉及电子设备显示器。
背景技术
计算设备可以包括可以在其上示出视觉内容的显示器。例如,计算设备的用户可以查看存储在计算设备上的相册中的视觉内容,可以查看刚刚使用连接到该计算设备的相机捕获的视觉内容,或者可以查看来自互联网网站的视觉内容。
发明内容
本说明书描述了用于实现电子设备显示器的可变刷新率(“VRR”)的技术、方法、系统和其他办法。
要在将VRR应用于电子设备显示器时达成改进的性能,显示器可以改变其刷新率,以便使刷新率与其接收视觉内容的速率同步。视觉内容可以是例如视频流中的帧。显示器可以在例如基于显示器的硬件属性、软件属性或两者来确定的最大刷新率与最小刷新率之间改变其刷新率。变化的显示器刷新率可以减少视觉内容呈现中的视觉损坏、动画中的不连续性或减少两者。
视觉内容系统可以包括诸如片上系统(“SoC”)等内容生成设备以及诸如显示器驱动程序集成电路(“DDIC”)等内容呈现设备。内容生成设备生成视觉内容,并将其发送到内容呈现设备内的缓冲区。内容呈现设备从缓冲区读取视觉内容,并在面板上显示将该视觉内容。
当内容呈现设备已经完成从缓冲区读取内容时,内容呈现设备向内容生成设备断言第一信号(诸如,撕裂效果(“TE”)信号)以指示内容呈现设备准备好接收额外内容,例如内容生成设备可以将额外视觉内容发送到缓冲区。要断言TE信号,例如内容呈现设备可以将TE信号设置为第一值,该第一值可以是值1。要消除TE信号,内容呈现设备可以将TE信号设置为第二值,该第二值可以是值0。要改变显示器刷新率,内容呈现设备可以改变当断言了TE信号时的时间长度。
改变TE信号长度可以使内容生成设备能够向缓冲区发送视觉内容,以便在内容生成设备生成视觉内容之后更快地由内容呈现设备进行读取(例如,与其他系统相比)。这可以减少当内容呈现设备在显示器上呈现图像时的时间延迟,或视频流(例如,动态地生成的视频流)中后续帧的呈现的时间延迟,或者两者之间的延迟。
当内容生成设备向缓冲区发送视觉内容时,内容生成设备可以向内容呈现设备发送消息,该消息指示内容生成设备正在将视觉内容放置在缓冲区中。内容生成设备可以在向缓冲区发送视觉内容之前向内容呈现设备发送消息(诸如write_memory_start命令)。该信号指示视觉内容的开始,并且可以触发内容呈现设备中新的刷新周期的开始。
在一些实施方式中,内容生成设备可以在没有视觉内容的情况下发送write_memory_start消息。这可以触发内容呈现设备使用先前发送到缓冲区的视觉内容来开始新的刷新周期。当内容呈现设备开始新的刷新周期时,内容呈现设备可以消除信号,例如将信号从值1更改为值0。
在一些实施方式中,内容生成设备可以在未断言TE信号时(例如,当TE信号的值为0时)向缓冲区发送视觉内容,只要发送视觉内容不会干扰内容呈现设备从缓冲区读取。这样使最新可用的视觉内容能够尽快显示。
在诸如有机发光二极管(OLED)等以规则速率使用发射脉冲的显示器系统中,内容呈现设备可以延迟刷新周期,直到正在进行的发射脉冲结束为止。这使刷新率与发射脉冲同步,以便维持显示器的一致亮度。
本说明书中描述的主题可以在各种实施例中实现,并且可以引起以下优点中的一个或多个。在一些实施方式中,与不改变显示器刷新率的系统或方法相比,变化的显示器刷新率可以引起视觉内容被更快地呈现在显示器上,例如可以引起在视觉内容生成之后视觉内容被尽可能快呈现在显示器上。改变显示器刷新率可以引起视觉内容的创建与视觉内容的呈现之间的缩短的等待时间。例如,在虚拟增强环境中,改变显示器刷新率可以缩短运动到光子等待时间,例如将用户的移动反映到显示器上所需的时间长度。在使用触摸屏显示器的示例系统中,改变显示器刷新率可以缩短触摸屏等待时间,例如用户触摸显示器与显示器响应于用户触摸而呈现反馈之间的时间。
在一些实施方式中,改变显示器刷新率可以减少内容呈现设备的功率消耗。例如,在内容生成设备完成视觉内容的生成的同时,内容呈现设备可以延迟刷新周期,例如并维持TE被断言。这可以使内容呈现设备能够使用较慢的刷新率。较慢的刷新率可能会引起内容呈现设备的功率消耗降低。
在一些实施方式中,改变显示器刷新率可以通过减小或排除显示器与内容之间的不同步或“颠簸”来提高呈现在显示器上的视觉内容的视觉品质。当显示器使可变帧速率内容挤压成不意图的节奏时,可能会致使颠簸。通过延迟刷新周期直到内容生成设备完成视觉内容的生成为止,可以减少颠簸和其他视觉损坏。
一般而言,本说明书中描述的主题的一个创新方面可以体现在以下方法中,该方法包括以下动作:从内容呈现设备接收第一信号,该第一信号:i)在至少第一阈值持续时间内以及ii)在至多第二阈值持续时间内被设置为第一值;或者当系统向内容呈现设备发送视觉内容时更改为与第一值不同的第二值,该第一值指示系统可以向内容呈现设备中包括的缓冲区发送视觉内容,该第一阈值持续时间短于该第二阈值持续时间;在第一信号被设置为第一值时,并且在自接收到被设置为第一值的第一信号以来的第一阈值持续时间之后:完成第一视觉内容的生成;并且在完成第一视觉内容的生成之后,确定第一信号被设置为第一值且第二阈值持续时间未到期;响应于确定第一信号被设置为第一值并且第二阈值持续时间未到期,而向内容呈现设备发送第一视觉内容,其中,发送第一视觉内容致使内容呈现设备将第一信号从第一值更改为第二值;并且在发送第一视觉内容之后,从内容呈现设备接收被设置为第二值的第一信号。本方面的其他实施例包括记录在一个或多个计算机存储设备上的对应的计算机系统、装置、计算机程序产品和计算机程序,每个计算机存储设备被配置成执行方法的动作。一个或多个计算机的系统可以被配置成凭借在系统上安装软件、固件、硬件或它们的组合来执行特定的操作或动作,这些软件、固件、硬件或它们的组合在操作中致使系统执行这些动作。一个或多个计算机程序可以被配置成凭借包括指令来执行特定操作或动作,这些指令当由数据处理装置实行时致使该装置执行动作。
前述实施例和其他实施例可以各自可选地单独或以组合形式包括以下特征中的一个或多个。该方法可以包括,针对第二视觉内容:确定用于生成第二视觉内容的时间段大于第二阈值持续时间;以及响应于确定用于生成第二视觉内容的时间段大于第二阈值持续时间,而向内容呈现设备发送消息,该消息致使内容呈现设备读取存储在缓冲区中的视觉内容,并使用该读取的视觉内容在显示器上呈现图像。
在一些实施方式中,该方法可以包括:在发送消息之后,完成用于第二视觉内容的数据的生成;确定自发送消息以来已经过去了至少阈值时间量;以及响应于确定自发送消息以来已经过去了至少阈值时间量并且完成了用于第二视觉内容的数据的生成,而向内容呈现设备发送第二视觉内容。
在一些实施方式中,该方法可以包括,针对第三视觉内容:确定第一信号被设置为第二值;确定内容呈现设备不在访问或将要访问缓冲区;以及响应于确定第一信号被设置为第二值并且确定内容呈现设备不在访问或将要访问缓冲区,而向内容呈现设备发送第三视觉内容。
在一些实施方式中,视觉内容表示视频流中的帧。
在一些实施方式中,该方法可以包括,针对第四视觉内容:从内容呈现设备接收被设置为第一值的第一信号,该第一值指示系统可以向内容呈现设备中包括的缓冲区发送视觉内容。该方法可以包括:在将第一信号设置为第一值的同时,生成用于第四视觉内容的数据;在生成数据之后,从内容呈现设备接收被设置为第二值的第一信号,该第二值指示系统不应向缓冲区发送视觉内容;确定第一信号被设置为第二值;以及完成第四视觉内容的生成。响应于确定第一信号被设置为第二值并且完成了第四视觉内容的生成,该方法可以包括确定等待向内容呈现设备发送第四视觉内容。
在一些实施方式中,确定等待向内容呈现设备发送第四视觉内容可以包括确定等待发送第四视觉内容直到第一信号被设置为第一值为止。该方法可以包括:响应于第一信号被设置为第一值并且在确定等待直到第一信号被设置为第一值以发送第四视觉内容之后,向内容呈现设备发送第四视觉内容。
在一些实施方式中,确定等待向内容呈现设备发送第四视觉内容可以包括:确定等待发送第四视觉内容,直到确定内容呈现设备不在访问或将要访问缓冲区为止。该方法可以包括:响应于确定内容呈现设备不在访问或将要访问缓冲区并且在确定等待发送第四视觉内容直到确定内容呈现设备不在访问或将要访问缓冲区为止之后,向内容呈现设备发送第四视觉内容。
在一些实施方式中,第一值可以指示第一信号被断言。
在一些实施方式中,该方法可以包括,针对第一视觉内容:在呈现第一图像的显示器的第一发射脉冲期间,完成第一视觉内容的生成,该第一视觉内容表示第二图像。该方法可以包括:在显示器的第二发射脉冲之前,向内容呈现设备发送第一视觉内容,以便与显示器的第二发射脉冲同时地在显示器上呈现第二图像。第二发射脉冲可以在第一发射脉冲之后以预定时间间隔发生,并且第二图像可以是与第一图像不同的图像。
在一些实施方式中,预定时间间隔持续不大于一毫秒。
在一些实施方式中,将第一视觉内容发送到内容呈现设备使内容呈现设备等待第二发射脉冲以在显示器上呈现第二图像,并且不改变第一发射脉冲和第二发射脉冲之间的预定时间间隔。
在一些实施方式中,第二阈值持续时间基于使用第一视觉内容来呈现图像的显示器的最小刷新率。
在一些实施方式中,该方法可以包括生成第一视觉内容的第一数据,该第一视觉内容包括第一数据和第二数据。该方法可以包括:在生成第一数据之后接收设置为第一值的第一信号发生。完成第一视觉内容的生成可以包括生成第一视觉内容的第二数据。发送第一视觉内容可以包括向内容呈现设备发送包括第一数据和第二数据的第一视觉内容。
在本说明书中描述的主题的一种或多种实施方式的细节在附图和以下描述中阐述。根据说明书、附图和权利要求书,本主题的其他特征、方面和优点将变得显而易见。
附图说明
图1是示例环境的图示,在该示例环境中,视觉内容可以在第一阈值时间段已经过去之后被存储在缓冲器中。
图2是用于确定何时将视觉内容发送到内容呈现设备的过程的流程图。
图3和图4是示出随着时间的视觉内容的生成和显示的示例时序图。
图5是示出用于使用发射脉冲的显示器随着时间的视觉内容的生成和显示的示例时序图。
图6是可以与本文档中描述的计算机实现的方法结合使用的计算系统的框图。
在各个附图中,相似的附图标记和名称指示相似的元件。
具体实施方式
电子设备的显示器经常用于示出视频内容。例如,计算设备的用户可以查看存储在计算设备上的相册中的视频,可以查看使用附接至该计算设备的相机捕获的视频,或者可以查看来自互联网网站的视频。
在一些情况下,计算设备显示器以固定的速率刷新图像。提供的视频内容的帧速率可能会改变。当视频内容帧速率可以与计算设备显示器刷新率一致地保持(例如,相同或者大于或者大于等于)时,内容按预期显示。
在一些情况下,显示器刷新率和视频内容帧速率可能不匹配,并且视频内容的视觉品质受到影响。用户可以将显示器与内容之间的不同步感知为视觉损坏或动画中的不连续性。显示器与内容之间的一些不同步形式可以包括“撕裂”、“颠簸”或“结巴”。当显示器使可变帧速率内容挤压成不意图的节奏时,可能会致使这些不同步。
为了增强视频内容显示,计算设备可以使用使显示器与内容同步的可变刷新率(“VRR”)技术。在一些实施方式中,当内容帧速率超过显示器刷新率时(例如,为了防止撕裂),VRR解决方案可以同步以显示垂直同步(“Vsync”)。
在一些实施方式中,当内容帧速率降至低于显示器刷新率时,VRR技术可以延长显示器刷新周期。延长显示器刷新周期可以减小或排除准备好示出的内容帧与实际示出的内容帧之间的延迟;减少或排除结巴;或两者。
VRR技术可以用于显示串行接口(“DSI”)显示器,诸如在移动计算设备中发现的那些显示器。当用DSI显示器实现VRR时,系统可以使用内容生成设备和内容呈现设备将设备显示器刷新率和视频内容帧速率同步。
有机发光二极管(“OLED”)显示器可以在移动计算设备中使用。OLED显示器通过以规则的速率发出发射脉冲来照亮个别像素。当将VRR技术应用于OLED显示器时,例如如果VRR技术调整发射脉冲速率,则显示器亮度可能会发生波动。
TE信号可以是短脉冲,例如可以在短时间段内断言值1或具有值1。TE信号可以指示内容生成设备向缓冲区写入是安全的。内容呈现设备通常在TE信号消除(TE偏移)之后的几个分帧线时间内开始刷新周期,即开始从缓冲区读取。例如,内容呈现设备可以在TE信号消除之后的几百微秒内开始刷新周期。在一些实施方式中,当内容呈现设备正在延长当前刷新周期(即,延迟下一个刷新周期)时,内容呈现设备可以在整个时间段内保持断言TE信号。在该时间期间,内容生成设备可以正常向缓冲区写入。当内容生成设备开始写入缓冲区时,内容呈现设备可以消除TE信号,等待TE偏移,并开始刷新周期。
内容生成设备可以在帧开始的时候发送write_memory_start命令。该命令后面可以跟着像素数据。在一些实施方式中,只要断言了TE信号,内容生成设备就可以发送不具有任何像素数据的write_memory_start命令,例如作为伪命令。该伪命令可以用作使内容呈现设备开始正常刷新周期的信号。即使内容生成设备尚未准备好发送新数据,内容生成设备也可以使用伪命令来迫使内容呈现设备扫描出当前缓冲区内容。
当内容呈现设备断言TE信号时,内容生成设备可以向缓冲区写入。为了改进将VRR与OLED显示器一起使用的其他系统,即使当TE消除时,内容生成设备也可以写入缓冲区。内容生成设备可以监测将内容写入缓冲区的写入速度,以使得将内容写入缓冲区不会反超内容呈现设备的读取位置并且不会引起撕裂。
图1是示例环境100的图示,其中在第一阈值时间段已经过去之后,视觉内容可以被存储在缓冲区中。示例环境100包括设备105,诸如移动设备。设备105还可以是例如平板电脑、头戴式显示器、智能手表或电视。设备105包括内容生成设备110(例如,片上系统)、内容呈现设备115(例如,显示器驱动程序集成电路)和面板150。内容生成设备110可以包括图形处理单元120、存储器125、显示处理单元130或这些中的两个或更多个的组合。内容呈现设备115可以包括控制器135、缓冲区140、面板驱动器145或这些中的两个或更多个的组合。
当在设备105的面板150上生成和显示视频图像107时,图形处理单元120可以生成视觉内容数据,诸如视频的帧。视觉内容数据可以用于预渲染的视频序列,例如电影。视觉内容数据可以用于动态地生成的视频序列,例如用于视频游戏。在一些示例中,可以使用任何适当的方法来压缩视觉内容数据。在一些示例中,视觉内容数据可能是未压缩的。图形处理单元120将生成的视觉内容数据存储在内容生成设备110内的存储器125中。存储器125可以是任何适当类型的存储器。举例来说,存储器125可以是随机存取存储器(“RAM”)。
显示处理单元130可以从存储器125读取视觉内容数据。一旦显示处理单元130从存储器125读取视觉内容数据,内容生成设备110就准备好向内容呈现设备115发送视觉内容数据。
内容呈现设备115内的控制器135向显示处理单元130发送信号(例如,TE信号),指示容许内容生成设备110向内容呈现设备115发送数据。该信号可以是连续信号,该连续信号更改值以指示容许内容生成设备110向内容呈现设备115发送数据。例如,控制器135可以例如通过将信号从值0更改为值1改变来断言该信号,以指示容许内容生成设备110向内容呈现设备115发送数据。该信号可以是间歇的。举例来说,控制器135可以向显示处理单元130发送例如具有值1的固定长度信号,以指示容许内容生成设备110向内容呈现设备115发送数据。
本文献中描述的信号可以是任何适当的类型,具有任何适当的值,或两者。举例来说,TE信号可以用二进制信号表示。在一些示例中,TE信号可以用电压表示。当TE信号用电压表示时,TE信号可以具有:高的值,以指示断言了TE信号;以及低的值,以指示消除了TE信号。在一些示例中,TE信号可以具有:低的值,以指示断言了TE信号;以及高的值,以指示消除了TE信号。
当内容生成设备110接收到该信号时,显示处理单元130确定内容生成设备110可以向内容呈现设备115发送视觉内容数据。显示处理单元130然后可以通过连接向控制器135发送视觉内容数据。该连接可以是任何适当类型的连接。举例来说,连接可以包括设备105中的连接内容生成设备110和内容呈现设备115的一个或多个计算机总线。在一些示例中,连接可以包括一个或多个电缆,例如显示器电缆。
在一些实施方式中,设备105可以根据生成内容所花费的持续时间来改变刷新周期长度。当视觉内容数据速率下降低于显示器刷新率时,可以延长显示器刷新周期,例如可以将特定视觉内容呈现较长的时间段。要延长刷新周期,控制器135可以在第一阈值持续时间与第二阈值持续时间之间的可变持续时间内断言TE信号,或者断言TE信号直到显示处理单元130开始向控制器135发送视觉内容数据为止。当显示处理单元130开始向控制器135发送视觉内容数据时,或者当TE信号达到第二阈值持续时间时,控制器135例如通过将信号从值1更改为值0来消除TE信号。在一些示例中,控制器135可以通过停止向内容生成设备110传输TE信号来消除TE信号。
第二阈值持续时间可以基于使用视觉内容来呈现图像的显示器的最小刷新率。例如,第二阈值可以小于以显示器的最低刷新率呈现的帧之间的时间间隔。
延长刷新周期长度可以在准备好示出视觉内容数据的时间与其在面板150上实际示出视觉内容数据的时间之间引起较短的延迟或没有延迟。这可以减少或排除结巴,缩短输入等待时间,或两者。
控制器135可以将视觉内容数据写入缓冲区140。缓冲区140临时存储视觉内容数据,例如缓冲区140可以是内容呈现设备115的本地帧缓冲区。面板驱动器145从缓冲区140读取视觉内容数据,并且将视觉内容数据作为图像呈现在面板150上。面板150上视觉内容数据序列(例如,帧序列)的呈现致使视频的呈现。
在面板驱动器145正从缓冲区140读取第一帧时,内容生成设备110向控制器135发送第二帧通常是不安全的。例如,如果在面板驱动器145正在从缓冲区140读取第一帧的同时内容生成设备110向控制器135发送第二帧,这可能致使例如发送到面板150的数据中的错误和数据损坏。因此,在向显示处理单元130发送指示容许内容生成设备110向内容呈现设备115发送第二帧的信号之前,控制器135等待面板驱动器145完成从缓冲区140读取第一帧。
设备105可以包括个人计算机、移动通信设备以及可以通过网络发送和接收数据的其他设备。设备105可以包括几个不同的功能部件,包括内容生成设备110、内容呈现设备115和面板150。设备105的各种功能部件可以作为单独的功能部件或者作为相同功能部件的不同模块安装在一个或多个计算机上。例如,设备105的内容生成设备110和内容呈现设备115可以被实现为安装在一个或多个位置中的通过网络各自联接的一个或多个计算机上的硬件部件、计算机程序或两者的组合。在一些示例中,内容生成设备110可以被包括在视频卡中。在一些示例中,内容呈现设备115可以被包括在还包括面板150的显示设备(例如,OLED显示器)中。
图2是用于确定何时向内容呈现设备发送视觉内容的过程200的流程图。例如,内容生成设备110可以从环境100使用过程200。
内容生成设备生成用于视觉内容的第一数据(步骤202)。视觉内容可以是例如视频序列的帧(例如,图像)。内容生成设备可以使用任何适当的方法来生成用于视觉内容的第一数据。举例来说,作为内容生成设备的图形卡可以接收表示虚拟环境的数据。图形卡可以使用接收到的数据来生成例如表示虚拟环境的图像的第一数据。第一数据可以是视觉内容的一部分,诸如帧的下半部分或上半部分。
在一些示例中,生成用于视觉内容的第一数据可以包括开始生成用于视觉内容的数据的连续过程。生成视觉内容的连续过程可以是生成用于单个帧的数据的连续过程。内容生成设备可以例如通过生成表示帧的各部分的数据来开始生成用于单个帧的数据。在一些示例中,内容生成设备可以通过生成用于帧的左上部分的数据而开始。在一些示例中,内容生成设备可以通过生成用于帧中的奇数行的数据而开始。内容生成设备可以顺序地遍历帧,当内容生成设备处理帧的这些部分时,生成用于相应帧部分的数据。
图3是示例时序图300,示出了视觉内容随着时间的生成和显示。在图3中,内容生成设备生成帧N-1 305。在时间段t1期间,当内容生成设备完成帧N-1 305的生成时,内容呈现设备(例如,内容呈现设备115)尚未断言第一信号。
在时间段t1之后,内容呈现设备第一次断言310第一信号,指示内容生成设备可以向缓冲区(例如,缓冲区140)发送视觉内容。内容呈现设备可以在至少最小阈值持续时间T1但不长于最大阈值持续时间T2内断言第一信号。最小阈值持续时间T1和最大阈值持续时间T2可以在内容呈现设备断言第一信号时或大约在该时间开始。
在断言310第一信号的同时,内容生成设备可以开始向内容呈现设备发送315视觉内容。在最小阈值持续时间T1之后,并且当内容生成设备向内容呈现设备发送315视觉内容时,内容呈现设备消除320第一信号。内容呈现设备然后可以扫描325来自缓冲区的视觉内容,并且在面板上显示330视觉内容。
在生成帧N-1 305之后,内容生成设备可以生成用于视觉内容(例如,帧N 308)的第一数据308a。第一数据308a可以是视觉内容的连续部分,例如帧的上侧或左侧。第一数据308a可以包括用于视觉内容的非连续数据。
在一些示例中,产生第一数据308a可以包括开始生成用于视觉内容(例如,单个帧)的数据的连续过程。例如,生成第一数据308a可以包括生成用于帧的左上部分或帧中的奇数行的数据,并且顺序地进行到帧的额外部分。
返回图2,内容生成设备从内容呈现设备接收被设置为第一值的第一信号,该第一值指示系统可以向缓冲区发送视觉内容(步骤204)。第一信号可以是例如TE信号。第一值可以是任何适当的值。第一值可以指示断言了第一信号。第一值可以是例如指示系统可以向缓冲区发送视觉内容的值1。缓冲区可以是例如来自环境100的缓冲区140。在一些示例中,当面板驱动器145没有从缓冲区140读取数据时,例如包括内容生成设备的系统可以向缓冲区140发送视觉内容。
举例来说,如图3中所示,内容呈现设备第二次断言335第一信号。内容呈现设备可以例如当内容呈现设备发送指示断言了第一信号的信号时,向内容生成设备发送间歇的第一信号以指示断言了第一信号。在这些示例中,当断言了第一信号时,内容呈现设备仅向内容生成设备发送第一信号,而当消除了第一信号时,内容呈现设备不向内容生成设备发送第一信号。
内容呈现设备可以向内容生成设备发送连续的第一信号,其中第一信号的值指示是否断言了第一信号。在这些示例中,内容呈现设备可以将第一值用于第一信号以指示断言了第一信号。内容呈现设备可以将属于与第一值不同的值的第二值用于第一信号,以指示消除了(例如,未断言)第一信号。当内容呈现设备连续地向内容生成设备发送第一信号时,内容呈现设备可以更改第一信号的值(例如,从值0更改为值1),以将第一信号的状态从断言更改为消除。
返回图2,内容生成设备生成用于视觉内容的第二数据(步骤206)。用于视觉内容的第二数据可以是视觉内容的另一部分。举例来说,当用于视觉内容的第一数据是视觉内容的上部时,用于视觉内容的第二数据可以是视觉内容的下部。在一些示例中,视觉内容仅包括第一数据和第二数据。第一数据的大小和第二数据的大小可以相同或不同。例如,第一数据可以具有比第二数据更大的大小(例如以字节为单位)。
在一些示例中,生成用于视觉内容的第二数据可以包括完成生成用于视觉内容(例如,单个帧)的数据的连续过程。内容生成设备可以例如通过生成表示帧的各部分的数据来完成生成用于单个帧的数据。在一些示例中,内容生成设备可以通过生成用于帧的右下部分的数据来完成。在一些示例中,内容生成设备可以通过生成用于帧中偶数行的数据来完成。一旦内容生成设备完成了生成第二数据,内容生成设备就已经生成了用于整个帧的数据。
举例来说,在图3中,内容生成设备生成用于帧N 308的第二数据308b。在内容呈现设备将第一信号设置为第一值之后,内容生成设备生成第二数据308b。例如,因为用于帧N的数据(诸如,用于视频游戏的图形数据)的复杂性,内容生成设备继续生成用于帧N 308的数据。
生成第二数据308b可以包括完成生成用于视觉内容(例如,单个帧)的数据的连续过程。例如,生成第二数据308b可以包括生成用于帧的右下部分或帧中的偶数行的数据。一旦内容生成设备完成了生成第二数据308b,内容生成设备就已经生成了用于整个帧的数据。
内容生成设备可以在第一阈值持续时间T1对于第一信号的第二断言335到期之前,完成生成第二数据308b。举例来说,当第一阈值持续时间T1是10毫秒(ms)时,内容生成设备可以生成比第一阈值持续时间T1短的持续8.33ms的帧N 308,例如第二数据308b。如果内容生成设备在第一阈值持续时间T1到期之前完成了生成第二数据308b,则内容生成设备可以开始向内容呈现设备发送帧N 308。
内容生成设备可以在具有持续时间D1的延迟时间段期间继续生成帧N 308。在第一阈值持续时间T1对于第一信号的第二断言335到期之后,帧N 308的生成可以继续。举例来说,当第一阈值持续时间T1为10ms时,内容生成设备可以生成比第一阈值持续时间T1长的为50ms的帧N 308,例如第二数据308b。
内容生成设备可以在任何适当的时间段内生成帧。举例来说,内容生成设备可以在例如11.1ms、16.6ms、33.3ms、41.6ms、50ms或更长的时间段内生成帧N 308。
返回图2,内容生成设备确定第一信号是否仍被设置为第一值,以及第二阈值持续时间是否尚未到期(步骤208)。例如,内容呈现设备可以断言TE信号,例如将TE信号设置为值1,持续至多第二阈值持续时间段。在达到第二阈值持续时间后,内容呈现设备可以消除TE信号,例如将TE信号设置为值0。
举例来说,在图3中,内容呈现设备在至少第一阈值持续时间T1内断言335第一信号。在达到第一阈值持续时间T1的到期340时,由于在延迟的时间段D1期间继续生成帧N308,内容生成设备尚未向内容呈现设备发送350帧N 308。可以至多保持断言第一信号直到达到第二阈值持续时间T2的到期345为止。
在时间t2期间,当内容生成设备完成帧N 308的生成时,内容生成设备可以确定第一信号的状态。举例来说,内容生成设备可以确定内容呈现设备是否已经断言335了第一信号,并且第二阈值持续时间T2尚未到期345。
返回图2,响应于确定第一信号被设置为第一值并且第二阈值时间段尚未到期,内容生成设备可以向内容呈现设备发送视觉内容(步骤210)。举例来说,内容生成设备可以从内容生成设备中包括的存储器中检索包括第一数据和第二数据两者的视觉内容。内容生成设备可以向内容呈现设备发送视觉内容以存储在缓冲区中。
例如,在图3中,响应于确定内容呈现设备已经断言335了第一信号,并且第二阈值持续时间T2尚未到期345,内容生成设备向内容呈现设备发送350视觉内容。
返回图2,内容生成设备可以从内容呈现设备接收被设置为第二值的第一信号(步骤212)。在一些实施方式中,从内容生成设备向内容呈现设备发送视觉内容致使内容呈现设备将第一信号从第一值更改为第二值。
例如,当例如内容呈现设备中的缓冲区接收视觉内容时,可以将TE信号设置为值0。在一些示例中,例如当内容呈现设备不向内容生成设备发送连续的第一信号时,内容呈现设备将第一信号设置为第二值并向内容生成设备发送被设置为第二值的第一信号。内容呈现设备可以在内容呈现设备开始将视觉内容存储在缓冲区中之前,开始将视觉内容存储在缓冲区中的同时,或者在开始将视觉内容存储在缓冲区中之后,将第一信号设置为第二值。
例如,在图3中,内容生成设备向内容呈现设备发送350视觉内容可以触发内容呈现设备消除355第一信号。内容生成设备从内容呈现设备接收被设置为第二值的第一信号。
面板驱动器或内容呈现设备的另一部件然后可以扫描360来自缓冲区的视觉内容,并且发送370视觉内容以在面板上显示。举例来说,面板驱动器可以使用来自缓冲区的视觉内容在面板上显示图像。当视觉内容包括表示像素位置和相应像素位置的颜色的值时,面板驱动器可以使用视觉内容在相应像素位置显示适当的颜色。
当内容生成速率在显示面板的最大刷新率与最小刷新率之间时,过程200(例如,步骤208)可以提高视觉显示系统的性能。举例来说,使用设置为第一值或第二值的第一信号、使用第二阈值持续时间或两者都可以提高视觉显示系统的性能。
例如,在图3中,在延迟时间段D1期间内容生成设备生成内容之后,内容生成设备开始向内容呈现设备发送350帧N 308。发送视觉内容致使内容呈现设备消除355第一信号。生成帧N的延迟时间段D1导致从缓冲区扫描360帧N的延迟时间段D2。虽然在显示帧N方面存在延迟,但是帧N也可以在帧N-1之后顺序显示,例如没有重复的帧并且没有跳过的帧。
返回图2,响应于确定第一信号未被设置为第一值,或第二阈值时间段已经到期,或两者,内容生成设备可以确定等待以向内容呈现设备发送视觉内容(步骤214)。例如,在执行步骤208之后,内容生成设备可以确定在发送视觉内容之前等待直到第一信号被设置为第一值为止。内容生成设备可以在完成生成用于视觉内容的数据的连续过程之后(例如,在生成用于整个帧的数据之后)执行该确定。
在一些实施方式中,内容生成设备可以确定是否等待。内容生成设备可以基于最小刷新率来确定是否等待。举例来说,内容生成设备可以确定不等待以便维持最小刷新率。尽管等待向内容呈现设备发送视觉内容,内容生成设备也可以基于将维持最小刷新率这一确定来确定等待。当确定不等待时,内容生成设备可以在内容呈现设备正在从缓冲区读取时向缓冲区写入,例如如本文献中所描述的。
例如,在图3中,当内容生成设备完成帧N-1 305的生成时,内容生成设备确定第一信号未被设置为第一值。内容生成设备可以确定等待以向内容呈现设备发送315视觉内容,直到内容呈现设备第一次断言310第一信号为止。
在另一示例中,内容生成设备可以完成帧N 308的生成,并确定第二阈值时间段T2已经到期345。内容生成设备可以确定等待以向内容呈现设备发送350视觉内容,直到内容呈现设备第三次断言365第一信号为止,例如,第二次为帧N 308断言第一信号并且第三次相对于参考图3所描述的示例断言第一信号。如果内容生成设备在第二阈值时间段T2到期之后完成了视觉内容的生成,则内容生成速率可能会低于显示面板的最小刷新率。
过程200可以可选地提供几种办法来处理内容生成速率下降低于显示面板的最小刷新率时的情况。下降低于显示面板的最小刷新率的内容生成速率可以指示当第一信号达到其第二阈值持续时间T2时新的内容帧仍在渲染。
在一些示例中,内容生成设备可以确定发送视觉内容,例如确定不等待向呈现设备发送视觉内容并且不执行步骤214。例如,在执行步骤208之后,以及确定第一信号仍未被设置为第一值,第二阈值持续时间T2已到期,或两者,内容生成设备可以在避免反超缓冲区上的内容呈现设备的读取位置的同时,确定立即向内容呈现设备发送视觉内容。例如如果内容生成速率下降低于显示面板的最小刷新率,则内容生成设备可以确定向呈现设备发送(例如,不是等待发送)视觉内容。
当内容生成速率下降低于面板的最小刷新率时,系统可能会丢弃一个帧并赶上下一个内容帧。在这种情况下,第一帧的示出时间比预期的要长,并且第二帧被丢弃,两者都致使了一次颠簸。渲染速率可以在第三帧时恢复。当丢弃第二帧时,不能保证第三帧将及时渲染以用于下一个第一信号断言。在这种情况下,可以迫使第三次显示第一帧。这种情况在图形更复杂的用例(诸如视频游戏)中很常见。
图4是另一示例时序图400,示出了视觉内容随着时间的生成和显示。在图4中,内容生成设备可能具有低于显示面板的最小刷新率的内容生成速率。
为了在内容生成速率下降低于显示面板的最小刷新率时提高性能,即使在第一次断言第一信号410的同时第二阈值持续时间T2已经到期之后,内容生成设备也可以向内容呈现设备发送视觉内容。这可能导致两种可能的结果中的一个。在第一结果中,帧N+1在内容呈现设备第二次断言第一信号435之前完成生成。帧N+1覆盖帧N,并显示帧N+1。在第二结果中,帧N+1没有在内容呈现设备第二次断言第一信号435之前完成生成。显示了帧N,从而缩短显示N-1的额外时间量。在两种情况下,都可以尽快示出最新的可用内容帧。
结合以上两个结果中的任一个,在消除了第一信号的同时当向内容呈现设备发送视觉内容时(例如,并且内容呈现设备正从缓冲区读取内容),内容生成设备可以在向内容呈现设备发送视觉内容之前,等待面板驱动器开始从缓冲区读取视觉内容数据。举例来说,内容生成设备可以向缓冲区写入,正好写入在内容生成设备正从缓冲区读取的位置后方。这可以确保内容生成设备写入缓冲区不会超出内容呈现设备从缓冲区读取。
当第一信号消除时,内容生成设备可以捕获CPU可访问的时间戳。内容生成设备可以引用时间戳,以推断在消除第一信号的同时何时向缓冲区写入是安全的。内容生成设备可以基于该时间戳来确定内容呈现设备不在访问或将要访问内容生成设备将向其写入的缓冲区或缓冲区的一部分,内容生成设备将向该缓冲区或缓冲区的一部分写入。响应于确定内容呈现设备不在访问或将要访问缓冲区,即使未断言第一信号,内容生成设备也可向内容呈现设备发送视觉内容。在这种情况下,内容呈现设备允许内容生成设备正常向缓冲区写入。
例如,在图4中,内容生成设备在延迟时间段D3内继续生成帧N。在帧N的生成期间,内容呈现设备断言第一信号410。当第二阈值持续时间T2到期时,内容呈现设备消除415第一信号。内容生成设备确定时间戳,该时间戳例如是从内容呈现设备接收的,或者是基于第一信号的消除415来在内部生成的,从而指示第一信号的消除415。第一信号的消除415指示内容呈现设备正在扫描420或将要将帧N-1从缓冲区扫描到显示器。因为内容生成设备在内容呈现设备消除415第一信号之后继续生成帧N,并且没有新的视觉内容要从缓冲区读取,所以内容呈现设备在面板上重复显示418帧N-1。
在第二阈值持续时间T2到期之后,内容生成设备完成425帧N的生成。虽然消除415了第一信号,但是内容生成设备可以基于第一信号的消除415的时间戳来确定内容呈现设备不在访问或将要访问该缓冲区。在一些示例中,内容生成设备可以确定内容呈现设备已经开始访问缓冲区,但是内容生成设备可以将数据存储在缓冲区中内容呈现设备正在读取的位置后方。响应于这些确定中的任一个或两者,即使未断言第一信号,内容生成设备也可以向内容呈现设备发送430帧N。
返回图2,内容生成设备可以可选地发送致使内容呈现设备读取存储在缓冲区中的视觉内容的消息(步骤216)。该消息可以致使内容呈现设备读取存储在缓冲区中的内容或开始新的刷新周期,而不是等待从缓冲区中读取内容或等待开始刷新周期。然后,内容呈现设备可以使用读取的视觉内容在显示器上呈现图像。
内容呈现设备可以可选地例如基于生成用于视觉内容的第一数据(步骤202)和生成用于视觉内容的第二数据(步骤206)所需的时间量,来确定发送消息以读取存储在缓冲区中的视觉内容。
例如,图4包括与视觉内容分开的消息455。例如,消息455可以是write_memory_start命令,通常在发送视觉内容之前发送该命令。write_memory_start命令触发内容呈现设备开始刷新周期。即使内容生成设备未准备好发送新数据,write_memory_start命令也致使内容呈现设备将当前缓冲区内容扫描到显示面板。
内容生成设备在延迟时间段D4内继续生成帧N+1。内容生成设备辨识出帧N+1的生成被延迟,并且在帧N+1的生成完成之前,第一信号的第二阈值持续时间T2将到期440。基于生成帧N+1所需的时间量,内容生成设备可以可选地确定在没有后续视觉内容的情况下发送消息455。当内容生成设备向内容呈现设备发送消息455时,内容呈现设备在第二阈值持续时间T2到期440之前消除450第一信号。内容呈现设备对消息455的接收也可能致使内容呈现设备扫描465缓冲区内容以在显示面板上显示460。
当内容呈现设备将缓冲区内容扫描465到显示面板时,帧N在显示面板上显示460。内容呈现设备在等待帧N+1完成生成445的同时,并且在第二阈值持续时间T2到期440之前,显示460帧N。
通过发送消息455,内容生成设备提高了显示帧N的速度,例如以使得内容呈现设备不必等到第二阈值持续时间T2的到期440。通过发送消息455,内容生成设备可以使内容呈现设备能够按次序显示帧。如果内容生成设备未发送消息455,则可能会丢弃帧N,以使得帧N+1将在帧N-1之后立即显示。以这种方式,发送消息455以触发从缓冲区中读取当前数据可以缩短显示460帧N的等待时间,支持帧N的显示460,或两者。由于帧N-1在屏幕上保持的时间比预期的长,因此发送消息455还可以减少颠簸。
在发送消息455之后,内容生成设备完成帧N+1的生成,并确定自发送消息455起已经过去了至少阈值持续时间。内容生成设备可以基于时间戳而确定阈值持续时间。响应于确定自发送消息455以来已经过去了至少阈值持续时间,内容生成设备向内容呈现设备发送470帧N+1。在第一信号被设置为第二值的同时,内容呈现设备可以向内容呈现设备发送470帧N+1。
在一些示例中,在发送消息455之后,内容生成设备完成帧N+1的生成,并且确定断言了第一信号。响应于确定断言了第一信号,内容生成设备向内容呈现设备发送470帧N+1。
上述过程200中的步骤的次序仅是说明性的,并且可以以不同次序执行。例如,在向内容生成设备发送视觉内容(步骤210)之前,内容生成设备可以接收被设置为第二值的第一信号(步骤212)。例如,如果达到了第二阈值持续时间,则可能发生这种情况。在这些示例中,内容生成设备可以执行步骤212,执行步骤208,确定阈值持续时间已经到期,执行步骤214,并且然后执行步骤210。
在一些示例中,内容生成设备可能不确定等待向内容呈现设备发送视觉内容(步骤214)。举例来说,内容生成设备可以在不执行步骤214的情况下执行步骤202至208和步骤216。如果当时显示驱动程序没有从缓冲区读取,则内容生成设备可以在消除信号的同时向内容呈现设备发送视觉内容。
在一些实施方式中,过程200可以包括额外的步骤,较少的步骤,或者可以将步骤中的一些划分成多个步骤。例如,内容生成设备可能不发送致使内容呈现设备读取存储在缓冲区中的视觉内容的消息(步骤216)。而是,内容生成设备可以等待第一信号的下一个断言以向内容呈现设备发送视觉内容。在一些示例中,过程200不包括步骤212、214或216中的一个或多个。
内容生成设备可以在任何适当的时间开始生成用于视觉内容的数据。例如,内容生成设备可以在接收被设置为第一值的第一信号之前(例如在断言撕裂效果信号之前)开始生成视觉内容(例如,生成用于视觉内容的第一数据)。在一些示例中,内容生成设备可以在接收到被设置为第一值的第一信号之后开始生成视觉内容(例如,生成用于视觉内容的第一数据)。在这些示例中,内容生成设备可以在第一信号被设置为第一值的同时(例如,在保持断言撕裂效果信号的时间段期间以及在消除该信号之前),生成用于视觉内容的所有数据。
当内容生成设备在接收到被设置为第一值的第一信号之后开始生成视觉内容时,内容生成设备可以如上所述执行。举例来说,如果在第一信号被设置为第一值的同时并且在第二阈值持续时间已经到期之前,内容生成设备完成了生成视觉内容(例如第二数据),则内容生成设备可以执行步骤210,例如向内容呈现设备发送视觉内容。如果内容生成设备完成了生成视觉内容(例如第二数据),当第一信号被设置为第二值时,在第二阈值持续时间到期之后,或者两者,则内容生成设备可以执行步骤214(例如,确定等待向内容呈现设备发送视觉内容)。
在一些实施方式中,内容生成设备可以执行两个步骤而不是单个步骤208。举例来说,内容生成设备可以确定第一信号是否仍被设置为第一值。如果第一信号未被设置为第一值,则内容生成设备可以执行步骤214。如果第一信号被设置为第一值,则内容生成设备可以确定阈值持续时间是否尚未到期。如果阈值时间段已经到期,则内容生成设备可以执行步骤214。如果阈值时间段尚未到期,则内容生成设备可以执行步骤210。
一些计算设备(诸如移动计算设备)使用OLED显示器。OLED显示器可以通过以规则的速率发出发射脉冲来照亮个别像素。在OLED面板中,发射脉冲序列可以在一段时间内均匀分布以生成稳定的亮度水平,例如在每个顺序的发射脉冲之间存在预定的时间量。当发射脉冲序列在一段时间内分布不均匀时,OLED面板的亮度可能会改变,从而致使OLED面板的各部分变得更暗、变色或两者。
当OLED显示器中的刷新率改变时,例如如果发射脉冲速率也改变,则可能会发生显示器亮度的波动。举例来说,当刷新周期不可预测地延长时,发射脉冲出现的时间可能是未知的。特别地,如果发射脉冲分布在不均匀的刷新周期中,则OLED显示器的亮度中和在OLED显示器上呈现的内容帧之间可能存在亮度波动。类似地,发射脉冲中断可能会导致OLED显示器和帧间亮度不一致。
为了防止发射脉冲之间的不均匀时间段,内容呈现设备可以延迟刷新周期直到正在进行的发射脉冲结束为止,以将发射脉冲维持在均匀的时间段(例如,规则速率)。例如,即使当第一信号断言延期时,内容呈现设备也可以被配置成规则且连续地跳动发射脉冲。这可以使刷新率与发射脉冲同步,以维持OLED显示器的一致亮度并使亮度波动最小化。
如果在内容呈现设备准备好开始新的刷新周期时发射脉冲正在进行,则内容呈现设备可以在开始新的刷新周期之前等待发射脉冲结束,以使得不会中断发射脉冲。例如,当内容呈现设备接收到用于缓冲区的新的视觉内容,或者确定被断言的第一信号的持续时间满足第二阈值持续时间时,内容呈现设备可以确定在开始新的刷新周期之前等待。在发射脉冲结束之前,内容呈现不会开始新的刷新周期。
图5是示出了使用发射脉冲的显示器随着时间的对视觉内容的生成和显示的另一示例时序图500。在图5中,内容呈现设备维持连续的规则发射脉冲505。为了维持该连续、规则的发射脉冲505速率,内容生成设备在发射脉冲开始510时开始每个刷新周期,并将每个帧扫描到面板。
例如,当内容生成设备完成帧N-1 540的生成时,内容生成设备在显示器的发射脉冲开始510之前,向内容呈现设备发送545帧N-1,以便与发射脉冲的开始510同时地在显示器上呈现。
然后内容生成设备可以生成帧N 530。例如,因为帧N 530中描绘的内容(诸如,用于视觉上复杂的视频游戏的内容)的复杂性,帧N 530的生成被延迟达时间段D5。在内容生成设备生成帧N 530的同时,内容呈现设备断言550第一信号。由于生成帧N 530中的延迟D5,第一信号达到其第二阈值持续时间,并且内容呈现设备在内容呈现设备完成帧N 530的生成之前消除515第一信号。
当内容呈现设备消除515第一信号时,内容呈现设备不必立即将视觉内容扫描到显示面板。而是,内容呈现设备等待时间段D6,因为发射波形在发射脉冲之间。内容呈现设备然后与下一个发射脉冲的开始520同步地扫描535视觉内容以在面板上显示525。因为内容生成设备尚未向内容呈现设备发送555帧N 530,所以面板第二次显示525帧N-1。
在一些实施方式中,发射脉冲被配置成是短的,以便当新的刷新周期准备好开始时由于正在进行的发射脉冲而使延迟最小化。例如,发射脉冲的持续时间可以短于1毫秒。
本说明书中描述的主题和功能操作的实施例可以在数字电子电路中、在有形地体现的计算机软件或固件中、在计算机硬件中实现,包括本说明书中所公开的结构以及其结构等效形式或者是它们中的一个或多个的组合。本说明书中描述的主题的实施例可以被实现为一个或多个计算机程序,即在有形的非暂时性程序载体上编码以由数据处理装置实行或控制数据处理装置的操作的计算机程序指令的一个或多个模块。替代地或另外,程序指令可以在人工生成的传播信号(例如,机器生成的电、光或电磁信号)上编码,所述人工生成的传播信号被生成以对信息进行编码从而传输到合适的接收器装置供数据处理装置实行。所述计算机存储介质可以是机器可读存储设备、机器可读存储衬底、随机或串行访问存储器设备或它们中的一个或多个的组合。
术语“数据处理装置”是指数据处理硬件,并且涵盖用于处理数据的各种各样的装置、设备和机器,例如包括可编程处理器、计算机或多个处理器或者计算机。所述装置还可以是或还包括专用逻辑电路,例如FPGA(现场可编程门阵列)或ASIC(专用集成电路)。除了硬件之外,所述装置还可以可选地包括创建用于计算机程序的实行环境的代码,例如构成处理器固件、协议栈、数据库管理系统、操作系统或它们中的一个或多个的组合的代码。
计算机程序,也可以称为或描述为程序、软件、软件应用、模块、软件模块、脚本或代码,可以用任何形式的编程语言编写,包括编译或解释性语言、声明性或程序性语言,并且可以以任何形式进行部署,包括部署为独立程序或部署为模块、部件、子例程或适合于在计算环境中使用的其他单元。计算机程序可以但不必对应于文件系统中的文件。程序可以存储在文件的容纳其他程序或数据的一部分(例如,存储在标记语言文档中的一个或多个脚本)中,存储在专用于所讨论的程序的单个文件中,或者存储在多个协调文件(例如,存储一个或多个模块、子程序或代码部分的文件)中。可以将计算机程序部署成在一个计算机或多个计算机上实行,所述多个计算机位于一个站点上或分布在多个站点上并且通过通信网络互连。
本说明书中描述的过程和逻辑流可以通过一个或多个可编程计算机执行,所述一个或多个可编程计算机实行一个或多个计算机程序以通过对输入数据进行操作并生成输出来执行功能。过程和逻辑流也可以由专用逻辑电路(例如,FPGA(现场可编程门阵列)或ASIC(专用集成电路))执行,并且装置也可以被实现为所述专用逻辑电路。
例如,适合于实行计算机程序的计算机包括通用或专用微处理器或两者,或任何其他种类的中央处理单元。通常,中央处理单元将从只读存储器或随机存取存储器或两者接收指令和数据。计算机的基本元件是用于执行或实行指令的中央处理单元和用于存储指令和数据的一个或多个存储设备。通常,计算机还将包括或可操作地耦合以从用于存储数据的一个或多个大容量存储设备(例如,磁盘、磁光盘或光盘)接收数据或将数据传递到所述一个或多个大容量存储设备。然而,计算机不必具有这种设备。此外,计算机可以被嵌入另一设备,例如移动电话、智能电话、个人数字助理(PDA)、移动音频或视频播放器、游戏机、全球定位系统(GPS)接收器或便携式存储设备(例如,通用串行总线(USB)闪存驱动器),仅举几个例子。
适用于存储计算机程序指令和数据的计算机可读介质包括所有形式的非易失性存储器、介质和存储设备,包括例如:半导体存储设备,例如EPROM、EEPROM和闪速存储器设备;磁盘,例如内部硬盘或可移动磁盘;磁光盘;以及CD-ROM和DVD-ROM磁盘。处理器和存储器可以由专用逻辑电路补充或并入专用逻辑电路中。
为了提供与用户的交互,可以在计算机上实现本说明书中描述的主题的实施例,所述计算机具有:显示设备,例如,LCD(液晶显示器)、OLED(有机发光二极管)或者其它监视器,用于向用户显示信息;以及键盘和指向设备,例如鼠标或轨迹球,用户可以通过它们向计算机提供输入。其他类别的设备也可以用于提供与用户的交互;例如提供给用户的反馈可以是任何形式的感觉反馈,例如视觉反馈、听觉反馈或触觉反馈;并且可以以任何形式接收来自用户的输入,包括声学、语音或触觉输入。另外,计算机可以通过向由用户使用的设备发送文档以及从用户使用的设备接收文档来与用户进行交互;例如,通过响应于从用户的设备上的web浏览器接收到的请求而将网页发送到所述web浏览器。
本说明书中描述的主题的实施例可以在计算系统中实施,所述计算系统包括后端组件(例如,作为数据服务器)、或者包括中间件组件(例如,应用服务器)、或者包括前端组件(例如,具有图形用户界面、Web浏览器的客户端计算机,用户可通过所述图形用户界面、网络浏览器或应用程序与本说明书中描述的主题的实施方案进行交互)、或者包括一个或多个此类后端、中间件或前端组件的任意组合的。所述系统的组件可以通过数字数据通信的任何形式或媒介(例如,通信网络)互连。通信网络的示例包括局域网(LAN)和广域网(WAN),例如,互联网。
所述计算系统可以包括客户端和服务器。客户端和服务器通常彼此远离,并且通常通过通信网络进行交互。客户端和服务器之间的关系是通过在各自计算机上运行并彼此具有客户端-服务器关系的计算机程序产生的。在一些实施例中,服务器向用户设备发送数据,例如,超文本标记语言(HTML)页面,例如,用于向与充当客户端的用户设备交互的用户显示数据并从该用户接收用户输入。可以在服务器处从用户设备接收在用户设备处生成的数据,例如,用户交互的结果。
图6是计算设备600、650的框图,计算设备600、650可以被用作客户端或服务器或多个服务器来实现本文档中描述的系统和方法。计算设备600旨在表示各种形式的数字计算机,诸如膝上型电脑、台式机、工作站、个人数字助理、服务器、刀片服务器、大型机和其它适当的计算机。计算设备650旨在表示各种形式的移动设备,诸如个人数字助理、蜂窝电话、智能电话、智能电话、智能手表、头戴式设备和其它类似的计算设备。这里示出的组件、其连接和关系及其功能仅仅意在为示例性的,而不意在限制本文档中描述和/或要求保护实施方式。
计算设备600包括处理器602、存储器604、存储设备606、连接到存储器604和高速扩展端口610的高速接口608以及连接到低速总线614和存储设备606的低速接口612。组件602、604、606、608、610和612中的每一个均使用各种总线来互连,并且可以被酌情安装在公共主板上或者以其它方式安装。处理器602可处理在计算设备600内执行的指令,包括存储在存储器604中或者在存储设备606上以在外部输入/输出设备(诸如耦合到高速接口608的显示器616)上显示用于GUI的图形信息的指令。在其它实施方式中,可以酌情使用多个处理器和/或多个总线以及多个存储器和多种类型的存储器。另外,可以连接多个计算设备600,其中每个设备提供必要操作的部分(例如,作为服务器组、一组刀片服务器或多处理器系统)。
存储器604存储计算设备600内的信息。在一个实施方式中,存储器604是计算机可读介质。在一个实施方式中,存储器604是易失性存储器单元或者单元。在另一实施方式中,存储器604是一个或多个非易失性存储器单元。存储器604还可以是另一形式的计算机可读介质,诸如磁盘或光盘。
存储设备606能够为计算设备600提供大容量存储。在一个实施方式中,存储设备606可以计算机可读介质。在各种不同的实施方式中,存储设备606可以是软盘设备、硬盘设备、光盘设备或磁带设备、闪速存储器或其它类似的固态存储设备或设备的阵列,包括存储区域网络或其它配置中的设备。在一个实施方式中,计算机程序产品被有形地具体实现在信息载体中。计算机程序产品包含指令,所述指令当被执行时,执行一种或多种方法,诸如上面描述的那些方法。信息载体是计算机或机器可读介质,诸如存储器604、存储设备606或处理器602上的存储器。
高速控制器608管理用于计算设备600的带宽密集操作,而低速控制器612管理较低带宽密集操作。职责的这种分配仅是示例性的。在一个实施方式中,高速控制器608耦合到存储器604、显示器616(例如,通过图形处理器或加速器),并且耦合到高速扩展端口610,所述高速扩展端口610可以接受各种扩展卡(未示出)。在该实施方式中,低速控制器612耦合到存储设备606和低速扩展端口614。可以包括各种通信端口(例如,USB、蓝牙、以太网、无线以太网)的低速扩展端口例如通过网络适配器耦合到一个或多个输入/输出设备,诸如键盘、指点设备、扫描器或诸如交换机或路由器的联网设备。
如图中所示,可以以许多不同的形式实现计算设备600。例如,它可以作为标准服务器620被实现,或者在一组此类服务器中实现多次。它还可以作为机架服务器系统624的一部分被实现。此外,它可以被实现在诸如膝上型计算机622的个人计算机中。可替选地,来自计算设备600的组件可以与诸如设备650的移动设备(未示出)中的其它组件组合。此类设备中的每一个均可以包含计算设备600、650中的一个或多个,并且整个系统可以由彼此通信的多个计算设备600、650组成。
计算设备650包括处理器652、存储器664、诸如显示器654的输入/输出设备、通信接口666和收发器668以及其它组件。设备650还可以被提供有存储设备,诸如微驱动器或其它设备,以提供附加存储。组件650、652、664、654、666和668中的每一个均使用各种总线来互连,并且若干组件可以被酌情安装在公共主板上或者以其它方式安装。
处理器652可以处理计算设备650内的用于执行的指令,包括存储在存储器664中的指令。处理器还可以包括单独的模拟和数字处理器。例如,处理器可以提供用于设备650的其它组件的协调,诸如对用户界面、由设备650运行的应用以及由设备650进行的无线通信的控制。
处理器652可以通过耦合到显示器654的控制接口658和显示器接口656来与用户进行通信。显示器654可以是例如TFT LCD显示器或OLED显示器或其它适当的显示技术。显示接口656可以包括用于驱动显示器654以向用户呈现图形和其它信息的适当的电路。控制接口658可以从用户接收命令并且对它们进行转换以用于提交给处理器652。此外,可以提供与处理器652通信的外部接口662,使得能实现设备650与其它设备的近区域通信。外部接口662可以提供用于有线通信(例如,经由对接过程),或者无线通信(例如,经由蓝牙或者其它这样的技术)。
存储器664存储计算设备650内的信息。在一个实施方式中,存储器664是计算机可读介质。在一个实施方式中,存储器664是易失性存储器单元或者单元。在另一实施方式中,存储器664是非易失性存储器单元或者单元。扩展存储器674还可以通过扩展接口672来提供并连接到设备650,所述扩展接口662可以包括例如SIMM卡接口。这种扩展存储器674可以为设备650提供额外的存储空间,或者还可以为设备650存储应用或其它信息。具体地,扩展存储器674可以包括用于执行或者补充上述的过程的指令,并且还可以包括安全信息。因此,例如,扩展存储器674可以作为用于设备650的安全模块被提供,并且可以被编程有允许安全地使用设备650的指令。此外,可以经由SIMM卡提供安全应用以及附加信息,诸如以不可破解的方式将识别信息放置在SIMM卡上。
如在下面所讨论的,存储器可以包括例如闪速存储器和/或MRAM存储器。在一个实施方式中,计算机程序产品被有形地具体实现在信息载体中。计算机程序产品包含指令,所述指令当被执行时,执行一种或多种方法,诸如上述的那些方法。信息载体是可以包括计算机或机器可读介质,诸如存储器664、扩展存储器674或处理器652上的存储器。
设备650可以通过通信接口666以无线方式通信,所述通信接口666必要时可以包括数字信号处理电路。通信接口666可以提供用于在各种模式或协议下通信,所述各种模式或协议诸如GSM语音呼叫、SMS、EMS或MMS消息传送、CDMA、TDMA、PDC、WCDMA、CDMA2000或GPRS等。这种通信可以例如通过射频收发器668来发生。此外,短距离通信可以例如使用蓝牙、Wi-Fi或其它这种收发器(未示出)来发生。此外,GPS接收器模块670可以向设备650提供附加的无线数据,其可以由在设备650上运行的应用酌情使用。
设备650还可以使用音频编解码器660来可听地通信,所述音频编解码器660可以从用户接收口语信息并将它转换为可用的数字信息。音频编解码器660可以同样地为用户生成可听声音,诸如通过扬声器,例如在设备650的头戴式耳机中。这种声音可以包括来自语音电话呼叫的声音,可以包括录制声音(例如,语音消息、音乐文件等)并且还可以包括由在设备650上操作的应用所生成的声音。
如图中所示,可以以许多不同的形式实现计算设备650。例如,它可以作为蜂窝电话680被实现。它还可以作为智能电话682、个人数字助理或其它类似的移动设备的一部分被实现。
这里描述的系统和技术的各种实施方式可用数字电子电路、集成电路、专门地设计的ASIC(专用集成电路)、计算机硬件、固件、软件和/或其组合加以实现。这些各种实施方式可包括在可编程系统上可执行和/或可解释的一个或多个计算机程序中的实施方式,所述可编程系统包括至少一个可编程处理器,其可以是专用的或通用的,耦合以从存储系统、至少一个输入设备和至少一个输出设备接收数据和指令,以及向存储系统、至少一个输入设备和至少一个输出设备发送数据和指令。
这些计算机程序(也称为程序、软件、软件应用或代码)包括用于可编程处理器的机器指令,并且可以以高级过程和/或面向对象的编程语言和/或以汇编/机器语言实现。如本文所用,术语“机器可读介质”、“计算机可读介质”指代任何计算机程序产品、用于将机器指令和/或数据提供给可编程处理器的装置和/或设备(例如,磁盘、光盘、存储器、可编程逻辑设备(PLD)),包括接收机器指令作为机器可读信号的机器可读介质。术语“机器可读信号”指代用于向可编程处理器提供机器指令和/或数据的任何信号。
虽然本说明书包含许多具体的实施方式细节,但是这些不应被解释为对所要求保护事物的范围的限制,而是应被解释为对特定于特定实施方式的特征的描述。本说明书中在单独实施例的上下文中描述的某些特征也可以在单个实施例中组合实施。相反,在单个实施例的上下文中描述的各种特征也可以在多个实施例中单独实施或者在任何合适的子组合中实施。此外,尽管特征可以在上文中被描述为在某些组合中起作用,并且甚至最初被如此要求保护,但是在一些情况下,来自所要求保护的组合的一个或多个特征能够从该组合中删除,并且所要求保护的组合可以针对子组合或子组合的变型。
类似地,虽然在附图中以特定次序描绘了操作,但是这不应该理解为要求以所示的特定次序或顺序次序执行这些操作,或者要求执行所有示出的操作,以实现期望的结果。在某些情况下,多任务和并行处理可能是有利的。此外,上述实施例中的各种系统模块和组件的分离不应该被理解为在所有实施例中都需要这种分离,并且应该理解,所描述的程序部件和系统通常能够被一起集成在单个软件产品中或者封装到多个软件产品中。
已经描述主题的特定实施例。其他实施例在所附权利要求的范围内。例如,权利要求中记载的动作可以以不同的顺序执行并且仍然实现期望的结果。作为一个示例,附图中描绘的过程不一定需要所示的特定顺序或连续顺序来实现期望的结果。在一些情况下,多任务和并行处理可能是有利的。
Claims (20)
1.一种系统,所述系统包括一个或多个计算机和其上存储指令的一个或多个存储设备,所述指令能够操作来在由所述一个或多个计算机执行时使得所述一个或多个计算机执行操作,所述操作包括:
从内容呈现设备接收第一信号,所述第一信号:i)在至少第一阈值持续时间内以及ii)在至多第二阈值持续时间内被设置为第一值,所述第一值指示所述系统能够向所述内容呈现设备中包括的缓冲区发送视觉内容,所述第一阈值持续时间短于所述第二阈值持续时间;
在所述第一信号被设置为所述第一值时,并且在自所述第一信号被设置为所述第一值以来的所述第一阈值持续时间之后:
完成第一视觉内容的生成;并且
在完成所述第一视觉内容的生成之后,确定所述第一信号被设置为所述第一值;
响应于确定所述第一信号被设置为所述第一值,向所述内容呈现设备发送所述第一视觉内容,其中,发送所述第一视觉内容致使所述内容呈现设备将所述第一信号从所述第一值更改为不同于所述第一值的第二值;以及
在发送所述第一视觉内容之后,从所述内容呈现设备接收被设置为所述第二值的所述第一信号。
2.根据权利要求1所述的系统,所述操作包括:
针对第二视觉内容:
确定用于生成第二视觉内容的时间段大于所述第二阈值持续时间;以及
响应于确定用于生成所述第二视觉内容的所述时间段大于所述第二阈值持续时间,向所述内容呈现设备发送消息,所述消息致使所述内容呈现设备读取存储在所述缓冲区中的视觉内容,并使用所读取的视觉内容在显示器上呈现图像。
3.根据权利要求2所述的系统,所述操作包括:
在发送所述消息之后:
完成用于所述第二视觉内容的数据的生成;
确定自发送所述消息以来已经过去了至少阈值时间量;以及
响应于确定自发送所述消息以来已经过去了至少所述阈值时间量并且完成了用于所述第二视觉内容的所述数据的生成,向所述内容呈现设备发送所述第二视觉内容。
4.根据权利要求1所述的系统,所述操作包括:
针对第二视觉内容:
确定所述第一信号被设置为所述第二值;
确定所述内容呈现设备不在访问或将要访问所述缓冲区;以及
响应于确定所述第一信号被设置为所述第二值并且确定所述内容呈现设备不在访问或将要访问所述缓冲区,向所述内容呈现设备发送所述第二视觉内容。
5.根据权利要求1所述的系统,其中,所述视觉内容表示视频流中的帧。
6.根据权利要求1所述的系统,所述操作包括:
针对第二视觉内容:
从所述内容呈现设备接收被设置为所述第一值的所述第一信号,所述第一值指示所述系统能够向所述内容呈现设备中包括的所述缓冲区发送视觉内容;
在将所述第一信号设置为所述第一值的同时,生成用于所述第二视觉内容的数据;
在生成所述数据之后,从所述内容呈现设备接收被设置为所述第二值的所述第一信号,所述第二值指示所述系统不应向所述缓冲区发送视觉内容;
确定所述第一信号被设置为所述第二值;
完成所述第二视觉内容的生成;以及
响应于确定所述第一信号被设置为所述第二值并且完成了所述第二视觉内容的生成,确定等待向所述内容呈现设备发送所述第二视觉内容。
7.根据权利要求6所述的系统,其中,确定等待向所述内容呈现设备发送所述第二视觉内容包括:
确定等待发送所述第二视觉内容直到所述第一信号被设置为所述第一值为止,所述操作包括:
响应于所述第一信号被设置为所述第一值并且在确定等待直到所述第一信号被设置为所述第一值以发送所述第二视觉内容之后,向所述内容呈现设备发送所述第二视觉内容。
8.根据权利要求6所述的系统,其中,确定等待向所述内容呈现设备发送所述第二视觉内容包括:
确定等待发送所述第二视觉内容,直到确定所述内容呈现设备不在访问或将要访问所述缓冲区为止,所述操作包括:
响应于确定所述内容呈现设备不在访问或将要访问所述缓冲区并且在确定等待发送所述第二视觉内容直到确定所述内容呈现设备不在访问或将要访问所述缓冲区为止之后,向所述内容呈现设备发送所述第二视觉内容。
9.根据权利要求1所述的系统,其中,所述第一值指示所述第一信号被断言。
10.根据权利要求1所述的系统,所述操作包括:
针对所述第一视觉内容:
在呈现第一图像的显示器的第一发射脉冲期间,完成所述第一视觉内容的生成;并且
在所述显示器的第二发射脉冲之前,向所述内容呈现设备发送第二图像的所述第一视觉内容,以与所述显示器的所述第二发射脉冲同时地在所述显示器上呈现,所述第二发射脉冲在所述第一发射脉冲之后以预定时间间隔发生,并且所述第二图像是与所述第一图像不同的图像。
11.根据权利要求10所述的系统,其中,所述预定时间间隔持续不大于一毫秒。
12.根据权利要求10所述的系统,其中,向所述内容呈现设备发送所述第一视觉内容使所述内容呈现设备等待所述第二发射脉冲以在所述显示器上呈现所述第二图像,并且不改变所述第一发射脉冲和所述第二发射脉冲之间的所述预定时间间隔。
13.根据权利要求1所述的系统,其中,所述第二阈值持续时间基于使用所述第一视觉内容来呈现图像的显示器的最小刷新率。
14.根据权利要求1所述的系统,所述操作包括:
生成所述第一视觉内容的第一数据,所述第一视觉内容包括所述第一数据和与所述第一数据不同的第二数据,其中:
接收被设置为所述第一值的所述第一信号发生在生成所述第一数据之后;
完成所述第一视觉内容的生成包括生成所述第一视觉内容的所述第二数据;以及
发送所述第一视觉内容包括向所述内容呈现设备发送包括所述第一数据和所述第二数据的所述第一视觉内容。
15.一种非暂时性计算机存储介质,所述非暂时性计算机存储介质编码有指令,所述指令在由一个或多个计算机执行时使所述一个或多个计算机执行操作,所述操作包括:
从内容呈现设备接收第一信号,所述第一信号:i)在至少第一阈值持续时间内以及ii)在至多第二阈值持续时间内被设置为第一值,所述第一值指示所述一个或多个计算机能够向所述内容呈现设备中包括的缓冲区发送视觉内容,所述第一阈值持续时间短于所述第二阈值持续时间;
在所述第一信号被设置为所述第一值时,并且在自所述第一信号被设置为所述第一值以来的所述第一阈值持续时间之后:
完成第一视觉内容的生成;并且
在完成所述第一视觉内容的生成之后,确定所述第一信号被设置为所述第一值;
响应于确定所述第一信号被设置为所述第一值,向所述内容呈现设备发送所述第一视觉内容,其中,发送所述第一视觉内容致使所述内容呈现设备将所述第一信号从所述第一值更改为不同于所述第一值的第二值;以及
在发送所述第一视觉内容之后,从所述内容呈现设备接收被设置为所述第二值的所述第一信号。
16.根据权利要求15所述的计算机存储介质,所述操作包括:
针对第二视觉内容:
确定用于生成第二视觉内容的时间段大于所述第二阈值持续时间;以及
响应于确定用于生成所述第二视觉内容的所述时间段大于所述第二阈值持续时间,向所述内容呈现设备发送消息,所述消息致使所述内容呈现设备读取存储在所述缓冲区中的视觉内容,并使用所读取的视觉内容在显示器上呈现图像。
17.根据权利要求16所述的计算机存储介质,所述操作包括:
在发送所述消息之后:
完成用于所述第二视觉内容的数据的生成;
确定自发送所述消息以来已经过去了至少阈值时间量;以及
响应于确定自发送所述消息以来已经过去了至少所述阈值时间量并且完成了用于所述第二视觉内容的所述数据的生成,向所述内容呈现设备发送所述第二视觉内容。
18.根据权利要求15所述的计算机存储介质,所述操作包括:
针对第二视觉内容:
确定所述第一信号被设置为所述第二值;
确定所述内容呈现设备不在访问或将要访问所述缓冲区;以及
响应于确定所述第一信号被设置为所述第二值并且确定所述内容呈现设备不在访问或将要访问所述缓冲区,向所述内容呈现设备发送所述第二视觉内容。
19.根据权利要求15所述的计算机存储介质,所述操作包括:
针对第二视觉内容:
从所述内容呈现设备接收被设置为所述第一值的所述第一信号,所述第一值指示所述一个或多个计算机能够向所述内容呈现设备中包括的所述缓冲区发送视觉内容;
在将所述第一信号设置为所述第一值的同时,生成用于所述第二视觉内容的数据;
在生成所述数据之后,从所述内容呈现设备接收被设置为所述第二值的所述第一信号,所述第二值指示所述一个或多个计算机不应向所述缓冲区发送视觉内容;
确定所述第一信号被设置为所述第二值;
完成所述第二视觉内容的生成;以及
响应于确定所述第一信号被设置为所述第二值并且完成了所述第二视觉内容的生成,确定等待向所述内容呈现设备发送所述第二视觉内容。
20.一种计算机实现的方法,包括:
由包括一个或多个计算机的系统从内容呈现设备接收第一信号,所述第一信号:i)在至少第一阈值持续时间内以及ii)在至多第二阈值持续时间内被设置为第一值,所述第一值指示所述系统能够向所述内容呈现设备中包括的缓冲区发送视觉内容,所述第一阈值持续时间短于所述第二阈值持续时间;
在所述第一信号被设置为所述第一值时,并且在自所述第一信号被设置为所述第一值以来的所述第一阈值持续时间之后:
完成第一视觉内容的生成;并且
在完成所述第一视觉内容的生成之后,确定所述第一信号被设置为所述第一值;
响应于确定所述第一信号被设置为所述第一值,向所述内容呈现设备发送所述第一视觉内容,其中,发送所述第一视觉内容致使所述内容呈现设备将所述第一信号从所述第一值更改为不同于所述第一值的第二值;以及
在发送所述第一视觉内容之后,从所述内容呈现设备接收被设置为所述第二值的所述第一信号。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210926350.5A CN115424599A (zh) | 2018-12-05 | 2019-09-06 | 变化显示刷新率 |
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201862775539P | 2018-12-05 | 2018-12-05 | |
US62/775,539 | 2018-12-05 | ||
US16/545,663 US11094296B2 (en) | 2018-12-05 | 2019-08-20 | Varying display refresh rate |
US16/545,663 | 2019-08-20 | ||
PCT/US2019/049895 WO2020117347A1 (en) | 2018-12-05 | 2019-09-06 | Varying display refresh rate |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210926350.5A Division CN115424599A (zh) | 2018-12-05 | 2019-09-06 | 变化显示刷新率 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112384971A CN112384971A (zh) | 2021-02-19 |
CN112384971B true CN112384971B (zh) | 2022-08-05 |
Family
ID=70970491
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201980044301.5A Active CN112384971B (zh) | 2018-12-05 | 2019-09-06 | 变化显示刷新率 |
CN202210926350.5A Pending CN115424599A (zh) | 2018-12-05 | 2019-09-06 | 变化显示刷新率 |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210926350.5A Pending CN115424599A (zh) | 2018-12-05 | 2019-09-06 | 变化显示刷新率 |
Country Status (5)
Country | Link |
---|---|
US (2) | US11094296B2 (zh) |
EP (1) | EP3799657A1 (zh) |
CN (2) | CN112384971B (zh) |
TW (1) | TWI716121B (zh) |
WO (1) | WO2020117347A1 (zh) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11816757B1 (en) * | 2019-12-11 | 2023-11-14 | Meta Platforms Technologies, Llc | Device-side capture of data representative of an artificial reality environment |
CN113516954A (zh) * | 2020-04-09 | 2021-10-19 | 群创光电股份有限公司 | 电子装置以及显示面板的驱动方法 |
EP4233304A1 (en) * | 2020-10-22 | 2023-08-30 | Qualcomm Incorporated | Dynamic frame rate optimization |
TWI770697B (zh) * | 2020-11-30 | 2022-07-11 | 聯聚電子股份有限公司 | 影像擷取裝置及其方法 |
CN115052176B (zh) * | 2021-03-08 | 2024-03-08 | 海信视像科技股份有限公司 | 一种显示设备及显示控制方法 |
US11978372B1 (en) | 2023-05-16 | 2024-05-07 | Qualcomm Incorporated | Synchronized dual eye variable refresh rate update for VR display |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104714799A (zh) * | 2013-12-13 | 2015-06-17 | 国际商业机器公司 | 用于创建动态显示叠层的方法和系统 |
CN107430629A (zh) * | 2015-05-22 | 2017-12-01 | 谷歌公司 | 计算机呈现中的视觉内容的分优先级显示 |
CN107564494A (zh) * | 2017-10-27 | 2018-01-09 | 周燕红 | 一种控制显示屏亮度的方法和系统 |
CN108710479A (zh) * | 2018-04-03 | 2018-10-26 | 中兴通讯股份有限公司 | 同步显示方法及装置、电子设备及存储介质 |
Family Cites Families (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6147695A (en) * | 1996-03-22 | 2000-11-14 | Silicon Graphics, Inc. | System and method for combining multiple video streams |
JP5736114B2 (ja) * | 2009-02-27 | 2015-06-17 | 株式会社半導体エネルギー研究所 | 半導体装置の駆動方法、電子機器の駆動方法 |
JP5598493B2 (ja) * | 2012-03-30 | 2014-10-01 | 富士通株式会社 | 情報処理装置、演算装置および情報転送方法 |
US8780065B2 (en) * | 2012-07-19 | 2014-07-15 | Cypress Semiconductor Corporation | Interface and synchronization method between touch controller and display driver for operation with touch integrated displays |
US8884977B2 (en) | 2012-08-24 | 2014-11-11 | Analogix Semiconductor, Inc. | Panel self refreshing with changing dynamic refresh rate |
US9318069B2 (en) | 2013-01-14 | 2016-04-19 | Apple Inc. | Low power display device with variable refresh rates |
JP6199070B2 (ja) | 2013-04-26 | 2017-09-20 | シャープ株式会社 | メモリ制御装置、および携帯端末 |
US20150145875A1 (en) * | 2013-11-27 | 2015-05-28 | Aashish Pangam | Command scheduler for a display device |
US9837030B2 (en) * | 2014-05-22 | 2017-12-05 | Nvidia Corporation | Refresh rate dependent adaptive dithering for a variable refresh rate display |
KR102225254B1 (ko) * | 2014-08-27 | 2021-03-09 | 삼성전자주식회사 | 표시 패널 컨트롤러 및 이를 포함하는 표시 장치 |
US9905199B2 (en) | 2014-09-17 | 2018-02-27 | Mediatek Inc. | Processor for use in dynamic refresh rate switching and related electronic device and method |
US20170316734A1 (en) * | 2014-12-08 | 2017-11-02 | Sharp Kabushiki Kaisha | Display control device, display device, and display control method |
US11468809B2 (en) * | 2015-01-07 | 2022-10-11 | Apple Inc. | Low-flicker variable refresh rate display |
US9728166B2 (en) | 2015-08-20 | 2017-08-08 | Qualcomm Incorporated | Refresh rate matching with predictive time-shift compensation |
WO2017038249A1 (ja) * | 2015-08-31 | 2017-03-09 | シャープ株式会社 | 表示制御装置、表示装置、表示制御装置の制御方法、および制御プログラム |
US10019968B2 (en) * | 2015-12-31 | 2018-07-10 | Apple Inc. | Variable refresh rate display synchronization |
TWI581247B (zh) | 2016-02-02 | 2017-05-01 | 奇景光電股份有限公司 | 顯示裝置及其控制方法 |
JP6085739B1 (ja) * | 2016-04-12 | 2017-03-01 | 株式会社セレブレクス | 低消費電力表示装置 |
CN105828063B (zh) * | 2016-04-22 | 2018-01-19 | 上海乐相科技有限公司 | 一种显示方法、移动终端及虚拟现实vr眼镜 |
US10741143B2 (en) * | 2017-11-28 | 2020-08-11 | Nvidia Corporation | Dynamic jitter and latency-tolerant rendering |
KR102549888B1 (ko) * | 2018-02-08 | 2023-07-03 | 삼성디스플레이 주식회사 | 일반 모드 및 가변 프레임 모드를 지원하는 표시 장치의 구동 방법, 및 표시 장치 |
-
2019
- 2019-08-20 US US16/545,663 patent/US11094296B2/en active Active
- 2019-09-06 WO PCT/US2019/049895 patent/WO2020117347A1/en unknown
- 2019-09-06 EP EP19773597.0A patent/EP3799657A1/en active Pending
- 2019-09-06 CN CN201980044301.5A patent/CN112384971B/zh active Active
- 2019-09-06 CN CN202210926350.5A patent/CN115424599A/zh active Pending
- 2019-09-26 TW TW108134760A patent/TWI716121B/zh active
-
2021
- 2021-07-19 US US17/379,371 patent/US11688367B2/en active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104714799A (zh) * | 2013-12-13 | 2015-06-17 | 国际商业机器公司 | 用于创建动态显示叠层的方法和系统 |
CN107430629A (zh) * | 2015-05-22 | 2017-12-01 | 谷歌公司 | 计算机呈现中的视觉内容的分优先级显示 |
CN107564494A (zh) * | 2017-10-27 | 2018-01-09 | 周燕红 | 一种控制显示屏亮度的方法和系统 |
CN108710479A (zh) * | 2018-04-03 | 2018-10-26 | 中兴通讯股份有限公司 | 同步显示方法及装置、电子设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
US11094296B2 (en) | 2021-08-17 |
CN115424599A (zh) | 2022-12-02 |
EP3799657A1 (en) | 2021-04-07 |
TW202022848A (zh) | 2020-06-16 |
TWI716121B (zh) | 2021-01-11 |
US20210350771A1 (en) | 2021-11-11 |
US11688367B2 (en) | 2023-06-27 |
US20200184934A1 (en) | 2020-06-11 |
WO2020117347A1 (en) | 2020-06-11 |
CN112384971A (zh) | 2021-02-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112384971B (zh) | 变化显示刷新率 | |
US11893929B2 (en) | Display screen rate conversion method and terminal | |
US8797340B2 (en) | System, method, and computer program product for modifying a pixel value as a function of a display duration estimate | |
JP6894976B2 (ja) | 画像円滑性向上方法および装置 | |
EP3008578B1 (en) | Managing transitions of adaptive display rates for different video playback scenarios | |
US20230073736A1 (en) | Reduced display processing unit transfer time to compensate for delayed graphics processing unit render time | |
CN104620311A (zh) | 存储器控制装置、便携终端、存储器控制程序以及计算机可读取的记录介质 | |
KR101668569B1 (ko) | 화상 데이터 출력 제어 장치, 표시 장치, 및 프로그램이 기록되어 있는 컴퓨터 판독가능한 기록 매체 | |
WO2023046164A1 (zh) | 图像显示方法、ddic、显示屏模组及终端 | |
WO2022105485A1 (zh) | 图像显示方法、ddic芯片、ap、显示屏模组及终端 | |
WO2023040591A1 (zh) | 图像显示方法、ddic、显示屏模组及终端 | |
WO2023040592A1 (zh) | 图像数据传输方法、装置、终端及介质 | |
WO2024012098A1 (zh) | 显示屏的控制方法、装置、电子设备及存储介质 | |
WO2023040593A1 (zh) | 图像数据传输方法、装置、终端及介质 | |
US20230074876A1 (en) | Delaying dsi clock change based on frame update to provide smoother user interface experience | |
US11587531B2 (en) | Technologies for power efficient display synchronization | |
WO2024005963A1 (en) | Independent refresh rate for multiple monitors | |
WO2021056364A1 (en) | Methods and apparatus to facilitate frame per second rate switching via touch event signals | |
CN115951855B (zh) | 基于码片的芯片系统的显示命令集处理方法及装置 | |
CN116700653B (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |