CN112005209A - 用于以原子方式呈现覆盖多个显示器的单个缓冲器的机制 - Google Patents

用于以原子方式呈现覆盖多个显示器的单个缓冲器的机制 Download PDF

Info

Publication number
CN112005209A
CN112005209A CN201980023041.3A CN201980023041A CN112005209A CN 112005209 A CN112005209 A CN 112005209A CN 201980023041 A CN201980023041 A CN 201980023041A CN 112005209 A CN112005209 A CN 112005209A
Authority
CN
China
Prior art keywords
display
texture
image frame
displays
frame data
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.)
Granted
Application number
CN201980023041.3A
Other languages
English (en)
Other versions
CN112005209B (zh
Inventor
S·利斯
L·K·布罗津斯基
K·穆塔巴图拉
M·J·安德鲁斯
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.)
Microsoft Technology Licensing LLC
Original Assignee
Microsoft Technology Licensing LLC
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 Microsoft Technology Licensing LLC filed Critical Microsoft Technology Licensing LLC
Publication of CN112005209A publication Critical patent/CN112005209A/zh
Application granted granted Critical
Publication of CN112005209B publication Critical patent/CN112005209B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/14Digital output to display device ; Cooperation and interconnection of the display device with other functional units
    • G06F3/1423Digital output to display device ; Cooperation and interconnection of the display device with other functional units controlling a plurality of local displays, e.g. CRT and flat panel display
    • G06F3/1446Digital output to display device ; Cooperation and interconnection of the display device with other functional units controlling a plurality of local displays, e.g. CRT and flat panel display display composed of modules, e.g. video walls
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • G06T1/60Memory management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T11/002D [Two Dimensional] image generation
    • G06T11/001Texturing; Colouring; Generation of texture or colour
    • 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/12Synchronisation between the display unit and other units, e.g. other display units, video-disc players
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2300/00Aspects of the constitution of display devices
    • G09G2300/02Composition of display devices
    • G09G2300/026Video wall, i.e. juxtaposition of a plurality of screens to create a display screen of bigger dimensions
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2356/00Detection of the display position w.r.t. other display screens
    • 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/04Display device controller operating with a plurality of display units
    • 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/04Exchange of auxiliary data, i.e. other than image data, between monitor and graphics controller
    • G09G2370/042Exchange of auxiliary data, i.e. other than image data, between monitor and graphics controller for monitor identification
    • 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/14Display of multiple viewports
    • 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/37Details of the operation on graphic patterns
    • G09G5/377Details of the operation on graphic patterns for mixing or overlaying two or more graphic patterns

Landscapes

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

Abstract

用于以原子方式跨计算机设备的多个显示器从由多个显示器共享的单个缓冲器呈现图像的方法和设备可以包括使计算机设备的多个显示器同步。这些方法和设备可以发起原子呈现请求以将图像帧呈现在包括第一显示器和第二显示器的多个显示器上,原子呈现请求可以从被存储在单个缓冲器中的与图像帧对应的多个显示纹理至少标识第一显示纹理和第二显示纹理,并且标识出第一显示纹理对应于第一显示器并且第二显示纹理对应于第二显示器。这些设备和方法可以从单个缓冲器向显示驱动器传输第一图像帧数据和第二图像帧数据的捆绑集合。

Description

用于以原子方式呈现覆盖多个显示器的单个缓冲器的机制
背景技术
本公开涉及在多个显示器上显示显示纹理。
通常,附接到计算设备的每个显示器具有与该显示器相关联的纹理缓冲器。想要在附接的显示器上显示内容的操作系统将内容写入这些缓冲器中以扫描输出到显示器上。扫描输出动作构成了将缓冲器从纹理转换为可以在显示器上观察到的物理光发射。在多个显示器配置中,在通常情况下,每个显示器不会同时开始“扫描输出”其缓冲器。这可能会导致用户在希望每个缓冲器中的内容同时可见时(诸如精确的动画)观察到伪影。这可以通过“内锁(gen locking)”显示器来解决,以便每个显示器同时开始其扫描输出。但是,该技术仍然有改进的余地。
因此,在本领域中需要改进在多个显示器上呈现显示纹理。
发明内容
以下给出了本公开的一个或多个实现的简化概述,以便提供对这种实现的基本理解。该概述不是对所有预期实现的广泛概述,并且既不旨在标识所有实现的关键或重要元素,也不旨在界定任何或所有实现的范围。其唯一目的是以简化的形式呈现本公开的一个或多个实现的一些概念,作为稍后呈现的更详细描述的序言。
一个示例实现涉及一种计算机设备。该计算机设备可以包括多个显示器;用于存储数据和指令的存储器,其中存储器存储由多个显示器共享的单个缓冲器,单个缓冲器具有与要呈现在多个显示器上的图像帧对应的多个显示纹理;与存储器通信的处理器;与存储器和处理器通信的操作系统。操作系统可以可操作以:使计算机设备的多个显示器同步;发起原子呈现请求以将图像帧呈现在至少包括第一显示器和第二显示器的多个显示器上,原子呈现请求从与图像帧对应的多个显示纹理至少标识第一显示纹理和第二显示纹理,并且标识出第一显示纹理对应于第一显示器并且第二显示纹理对应于第二显示器;以及从单个缓冲器向显示驱动器传输第一图像帧数据和第二图像帧数据的捆绑集合,其中第一图像帧数据包括与第一显示器对应的第一显示纹理,并且其中第二图像帧数据包括与第二显示器对应的第二显示纹理。
另一示例实现涉及一种用于以原子方式跨计算机设备的多个显示器从由多个显示器共享的单个缓冲器呈现图像的方法。该方法可以包括在执行在计算机设备上的操作系统处使计算机设备的多个显示器同步。该方法可以包括发起原子呈现请求以将图像帧呈现在至少包括第一显示器和第二显示器的多个显示器上,原子呈现请求从与图像帧对应的、被存储在单个缓冲器中的多个显示纹理至少标识第一显示纹理和第二显示纹理,并且标识出第一显示纹理对应于第一显示器并且第二显示纹理对应于第二显示器。该方法可以包括从单个缓冲器向显示驱动器传输第一图像帧数据和第二图像帧数据的捆绑集合,其中第一图像帧数据包括与第一显示器对应的第一显示纹理,并且其中第二图像帧数据包括与第二显示器对应的第二显示纹理。
另一示例实现涉及一种存储由计算机设备可执行的指令的计算机可读介质。该计算机可读介质可以包括用于使得计算机设备使计算机设备的多个显示器同步的至少一个指令。该计算机可读介质可以包括用于使得计算机设备发起原子呈现请求以将图像帧呈现在至少包括第一显示器和第二显示器的多个显示器上的至少一个指令,原子呈现请求从由多个显示器共享的单个缓冲器中存储的、与图像帧对应的多个显示纹理至少标识第一显示纹理和第二显示纹理,并且标识出第一显示纹理对应于第一显示器并且第二显示纹理对应于第二显示器。该计算机可读介质可以包括用于使得计算机设备从单个缓冲器向显示驱动器传输第一图像帧数据和第二图像帧数据的捆绑集合的至少一个指令,其中第一图像帧数据包括与第一显示器对应的第一显示纹理,并且其中第二图像帧数据包括与第二显示器对应的第二显示纹理。
与本公开的实现有关的其他优点和新颖特征将在下面的描述中部分地阐述,并且在对以下内容进行检查或通过实践对其进行学习之后对于本领域技术人员将部分地变得更加很清楚。
附图说明
在附图中:
图1是根据本公开的实现的示例计算机设备的示意性框图;
图2是根据本公开的实现的从单个缓冲器以原子方式跨两个显示器呈现的图像的示例;
图3是根据本公开的实现的具有用于在两个显示器上呈现的显示纹理的示例单个缓冲器;
图4是根据本公开的实现的用于跨多个显示器从单个缓冲器以原子方式呈现图像的示例方法流程;以及
图5是根据本公开的实现的示例设备的示意性框图。
具体实施方式
本公开涉及用于跨多个显示器以原子方式呈现单个缓冲器的设备和方法。跨多个显示器呈现的原子可以允许在单个帧中观察图像的所有效果,其中非原子呈现的某些效果可以在一个帧中观察到,而其他效果可以在下一帧中观察到。这样,当以原子方式呈现时,要么在一个帧中观察到所有效果,要么将所有效果推迟到下一帧。该方法和设备可以使用单个缓冲器将显示纹理捆绑在一起以跨多个显示器呈现,使得显示纹理在跨多个显示器呈现时可以同步。通过使用单个缓冲器跨多个显示器呈现显示纹理,可以通过在不同显示器上同时呈现图像来防止显示纹理的时间错位。
该设备和方法可以允许在为与计算机设备通信的所有显示器呈现单个缓冲器和为与计算机设备通信的每个显示器呈现唯一缓冲器之间无缝切换的能力。另外,该设备和方法使得能够在呈现期间使用硬件组成。硬件组成可以允许图像的多个元素在显示时进行组合,而不会生成包含完整图像的纹理。
参考图1和图2,计算机设备102用于跨与计算机设备102通信的多个显示器从单个缓冲器34以原子方式呈现图像101,从而可以跨多个显示器同步呈现图像。计算机设备102可以包括多达n个显示器(其中n是整数)的多个显示器和/或可以与之通信。例如,计算机设备102可以包括第一显示器10和第二显示器12。
图像101可以由一个或多个显示纹理定义,显示纹理可以是例如构成整个图像的不同图像、图像的不同部分、不同层(例如,背景、前景)、图像中的不同对象、或其任何组合。这样,可以跨多个显示器呈现定义图像101的一个或多个显示纹理的全部或部分。此外,每个显示纹理可以由一个或多个应用(例如,前景纹理)和/或由操作系统(例如,背景纹理)生成。
在一些可选实现中,跨多个显示器划分一个或多个纹理可以通过标识显示平面来执行。例如,每个图像101可以被划分成用于呈现一个或多个显示纹理的一个或多个显示平面,例如,多达m个平面(其中m是整数)。每个显示平面可以具有与显示平面相关联的显示纹理。显示纹理可以与一个以上的显示平面相关联。每个显示平面可以是用于显示图像101的显示区域的区域或子集,其中显示区域可以在多个显示器之间划分。这样,多个显示平面可以与多个显示器中的每个显示器相关联。每个显示平面可以与多个显示器中的一个显示器相关联,并且显示平面被同步以使得多个显示器能够显示图像101的不同部分。
例如,第一显示器10可以与呈现图像101的显示纹理的第一平面11和呈现图像101的显示纹理的第二平面25相关联。此外,第二显示器12可以与呈现图像101的对应显示纹理的第三平面13和呈现图像101的对应显示纹理的第四平面27相关联。例如,与第一显示器10相关联的第一平面11可以包括第一显示纹理18的第一部分14(例如,重叠图像的左部分),并且与第一显示器10相关联的第二平面25可以包括第二显示纹理19的第一部分15(例如,背景图像的左部分)。另外,与第二显示器12相关联的第三平面13可以包括第一显示纹理18的第二部分16(例如,重叠图像的右部分),并且与第二显示器12相关联的第四平面27可以包括第二显示纹理19的第二部分17(例如,背景图像的右部分)。这样,通过使用平面11、13、25、27的组合来呈现图像101,可以在第一显示器10和第二显示器12上同步地显示显示纹理的组合。
计算机设备102可以包括由计算机设备102的处理器38和/或系统存储器40执行的操作系统110。系统存储器40可以被配置用于存储定义操作系统110和/或与操作系统110相关联的数据和/或计算机可执行指令,并且处理器38可以执行操作系统110。系统存储器40的示例可以包括但不限于计算机可用的存储器类型,诸如随机存取存储器(RAM)、只读存储器(ROM)、磁带、磁盘、光盘、易失性存储器、非易失性存储器及其任何组合。处理器38的示例可以包括但不限于如本文中描述的特别地编程的任何处理器,包括控制器、微控制器、专用集成电路(ASIC)、现场可编程门阵列(FPGA)、片上系统(SoC)、或其他可编程逻辑或状态机。计算机设备102可以包括可以可连接到网络的任何移动或固定计算机设备。计算机设备102可以是例如计算机设备(诸如台式或膝上型计算机或平板计算机)、服务器计算机、蜂窝电话、游戏设备、混合现实或虚拟现实设备、音乐设备、电视、导航系统、相机、个人数字助理(PDA)或手持设备、或者具有与一个或多个其他设备的有线和/或无线连接能力的任何其他计算机设备。
操作系统110可以包括由处理器38和/或计算机设备102的系统存储器40执行的一个或多个(例如,最多p个(其中p是整数))应用20。应用20可以生成和/或发起一个或多个显示纹理18、19的呈现以显示定义图像101的给定呈现的图像帧的全部或部分。显示纹理可以是包含二维图像的像素信息的存储区域。另外,显示纹理可以可选地包括描述如何组合来自多个纹理的像素的信息。例如,应用20可以生成和/或发起单个帧呈现22,单个帧呈现22标识和/或包括应用20想要在图像帧中呈现的显示纹理18、19。应用20可以将单个帧呈现22传输给运行时管理器24。在一种实现中,外壳21还可能想要呈现一个或多个显示纹理23,诸如背景图像或其他图像。外壳21可以传输任何显示纹理23以呈现给运行时管理器24。
运行时管理器24可以协调应用20、外壳21、和/或计算机设备102上的一个或多个显示驱动器36之间的通信,使得由应用20和/或外壳21生成和/或发起的显示纹理18、19、23可以呈现在与计算机设备102通信的显示器上。
运行时管理器24还可以与显示管理器26通信,该显示管理器26构成由图形处理单元(GPU)渲染以进行显示的帧。例如,显示管理器26可以从想要绘制包括显示纹理(例如,显示纹理18和19)的图像帧的每个应用20接收单个帧呈现22。另外,显示管理器26可以从外壳21接收显示纹理23,显示纹理23可以与来自应用20的显示纹理相关联。显示管理器26可以等待从想要绘制显示纹理的每个应用20和/或外壳21接收单个帧呈现22,然后为所接收的显示纹理(例如,显示纹理18、19和23)布置图像帧的正确分层和组成以将其发送到GPU以渲染成单个图像帧以传输到显示器。
显示管理器26可以包括标识与计算机设备102通信的多个显示器29的显示器标识符28。例如,所标识的显示器29可以包括与计算机设备102通信的两个显示器,即第一显示器10和第二显示器12。
显示器标识符28还可以标识与每个图像帧以及与每个所标识的显示器29相关联的一个或多个平面31,这些平面可以用于呈现图像101的显示纹理。例如,所标识的平面31可以包括用于第一显示器10的第一平面11、用于第一显示器10的第二平面25、用于第二显示器12的第三平面13和用于第二显示器12的第四平面27。
显示器标识符28还可以指示所标识的显示器29是否可以被同步。例如,当显示器具有相同的分辨率和相同的定时时,显示器可以被同步。当所标识的显示器29要被同步时,显示管理器26可以发送用于使所标识的显示器29的信号和/或定时同步的显示同步请求30。
一旦所标识的显示器29被同步,显示管理器26可以确定要在哪里显示从图像20的应用20接收的显示纹理(例如,显示纹理18,19)、和/或来自外壳21的纹理23。外壳21可以维护描述每个用户界面(UI)元素在坐标系统中适合的位置的数据结构,并且还可以定义坐标系统中的元素到显示器的转换。例如,显示管理器26可以确定要跨第一显示器10和第二显示器12两者呈现显示纹理18、19和23的不同部分。另一示例可以包括显示管理器26确定要仅在第一显示器10上呈现显示纹理18、19和23中的至少一个。显示管理器26还可以确定要仅在第二显示器12上呈现显示纹理18、19和23中的至少一个。因此,应用20可能不知道如何在第一显示器10和第二显示器12上呈现显示纹理。
在一种实现中,更具体地参考图2,第一显示器10可以与呈现图像101的显示纹理或其部分的第一平面11和呈现图像101的显示纹理或其部分的第二平面25相关联。第二显示器12可以与呈现图像101的对应显示纹理或其部分的第三平面13和呈现图像101的显示纹理或其部分的第四平面27相关联。这样,显示管理器26可以确定与第一显示器10相关联的第一平面11可以包括第一显示纹理18的第一部分14(例如,重叠图像的左部分),并且与第一显示器10相关联的第二平面25可以包括第二显示纹理19的第一部分15(例如,背景图像的左部分)。另外,显示管理器26可以确定与第二显示器12相关联的第三平面13可以包括第一显示纹理18的第二部分16(例如,重叠图像的右部分),并且与第二显示器12相关联的第四平面27可以包括第二显示纹理19的第二部分17(例如,背景图像的右部分)。
显示管理器26可以包括单个缓冲器34,该单个缓冲器34可以包括与一系列图像帧33对应的一系列纹理集合,该一系列图像帧33对应于不同时间的不同图像帧或序列中的不同图像。例如,单个缓冲器34可以包括用于多个图像帧33(多达r个图像帧33(其中r是整数))中的每个图像帧33的图像数据阵列(在每个时间/序列处)。单个缓冲器34可以由多个显示器(例如,第一显示器10和第二显示器12)中的每个共享。
每个图像帧33可以包括与多个显示器中的每个显示器对应的不同数据集。例如,在第一显示器10和第二显示器12的情况下,每个图像帧可以包括与第一显示器10相关联的第一图像帧数据39和与第二显示器12相关联的第二图像帧数据41。例如,对于要在第一显示器10上显示的图像101的一部分,第一图像帧数据39可以包括对应的显示纹理18、19或其部分。此外,在某些情况下,第一图像帧数据39可以包括第一显示标识(ID)35以指示第一图像帧数据39可以对应于第一显示器10和/或可以被呈现在第一显示器10上。在一种实现中,第一图像帧数据39还可以标识一个或多个平面(例如,第一平面11和第二平面25)何时可以与第一显示器10相关联和/或显示纹理的一部分(例如,第一显示纹理18的第一部分14)何时可以与特定平面相关联。
类似地,第二图像帧数据41可以包括用于要显示在第二显示器12上的图像101的一部分的对应显示纹理18、19或其部分。第二图像帧数据41还可以对应于第二显示器ID 37或者与其相关联,第二显示器ID 37指示第二图像帧数据41对应于第二显示器12和/或可以呈现在第二显示器12上。在一种实现中,第二图像帧数据41还可以标识一个或多个平面(例如,第三平面13和第四平面27)何时与第二显示器12相关联和/或显示纹理的一部分(例如,第一显示纹理18的第二部分16)何时与特定平面相关联。这样,单个缓冲器34可以包括要针对多个图像帧33中的每个图像帧33而显示在第一显示器10和第二显示器12上的所有显示纹理。
在一种实现中,单个缓冲器34可以包括交换链或者采用交换链的形式,该交换链定义一系列图像,该一系列图像在不同时间对应于每个图像帧33或者对于每个所标识的显示器29对应于序列中的不同图像。当从单个缓冲器34中扫描输出相应图像帧33以呈现在所标识的显示器29上时,可以渲染单个缓冲器34中的多个或一系列图像帧33中的下一个。当渲染和/或扫描输出单个缓冲器34中的当前图像帧33时,可以将图像数据添加到单个缓冲器34,从而可以用图像数据连续更新该一系列图像以呈现在所标识的显示器29上。
显示管理器26可以生成和/或发起原子呈现请求32,以便以同步方式发起相应图像帧33在第一显示器10和第二显示器12上的呈现。原子呈现请求32可以为多个显示器中的每个显示器标识与图像帧33对应的显示纹理18、19。在诸如与第一显示器10和第二显示器12有关的实现中,原子呈现请求32可以更具体地从单个缓冲器34标识用于第一显示器10的第一图像帧数据39和用于第一显示器10的第二图像帧数据41的捆绑集合以传输到显示驱动器36以呈现在第一显示器10和第二显示器12上。
通过使用来自由第一显示器10和第二显示器12共享的单个缓冲器34的每个显示器的对应图像帧数据来创建原子呈现32,可以将图像101的显示纹理18,19同时(例如,同步地)呈现在第一显示器10和第二显示器12上。
显示管理器26可以将原子呈现请求32传输给运行时管理器24。运行时管理器24可以将原子呈现请求32以及所标识的第一图像帧数据39和第二图像帧数据41的捆绑集合一起传输给显示驱动器36。作为响应,显示驱动器36可以在第一显示器10上呈现第一图像帧数据39,并且可以在第二显示器12上呈现第二图像帧数据41。在显示管理器26正在发起一个图像帧33的呈现的同时,下一图像帧33可以被渲染到单个缓冲器34中,使得显示管理器26可以在适当的时间发起对下一图像帧的下一原子呈现请求。因此,显示管理器26可以将多个图像帧33的顺序呈现与用于呈现在多个显示器中的对应显示器上的一个或多个显示纹理进行协调。
这样,可以跨多个显示器以同步方式呈现显示纹理的组合。此外,可以通过跨多个显示器以同步方式呈现显示纹理来消除例如呈现在第一显示器10和第二显示器12上的显示纹理之间的时间上的未对准。
一个示例用例可以包括跨三个显示器呈现图像101的显示纹理或其部分。第一显示器10可以与呈现图像101的显示纹理或其部分的第一平面11相关联。第二显示器12可以与呈现图像101的对应的显示纹理或其部分的第三平面13相关联。第三显示器可以与呈现图像101的显示纹理或其部分的第五平面相关联。显示管理器26可以包括单个缓冲器34,该单个缓冲器34可以包括与一系列图像帧33对应的一系列纹理集合,该一系列图像帧33对应于不同时间的不同图像帧或序列中的不同图像。单个缓冲器34可以由多个显示器(例如,第一显示器10、第二显示器12和第三显示器)中的每个共享。显示管理器26可以生成和/或发起原子呈现请求32,以便以同步方式发起相应图像帧33在第一显示器10、第二显示器12和第三显示器上的呈现。这样,可以跨三个显示器以同步方式呈现显示纹理的组合。
现在参考图3,图2的示例中呈现的显示纹理的单个缓冲器34可以包括交换链,该交换链定义一系列图像,该一系列图像在不同时间对应于每个图像帧33的层或者对应于序列302、304和306中的不同序列。例如,在这种情况下,单个缓冲器34包括图像数据或纹理(在每个时间/序列)的三个集合的阵列,包括重叠图像数据308(其可以是在逻辑上或物理上分为第一平面11的重叠数据的第一部分和第三平面13的重叠数据的第二部分)、第二平面背景图像数据310和第四平面背景图像数据312。应当理解,可以在纹理的部分和显示平面之间进行不同的逻辑或物理划分。
另外,例如,如314所示(对应于时间(t0)302或序列的初始图像),给定时间/序列302、304和306的图像数据308、310和312(或纹理)的相应的第一平面11、第二平面25、第三平面13和第四平面27可以被同步并且被一起扫描输出到第一显示器10和第二显示器12中的每个。
重叠图像数据308可以包括与第一显示器10相关联的第一平面11的显示纹理18的第一部分14和与第二显示器12相关联的第三平面13的第二部分16。例如,显示纹理18可以被分成两半,其中左半部分显示在第一显示器10上,右半部分显示在第二显示器12上。这样,日落的视频可以按照同步方式同时呈现在第一显示器10和第二显示器12两者上。重叠图像数据308在不同时间或不同序列302、304和306的每个图像帧33可以指示给定时间/序列的视频数据的变化。例如,如304所示(对应于时间(t1)304),太阳可以在天空中较低,而如306所示(对应于时间(t2)306),太阳可以在由海洋定义的地平线上。
重叠图像数据310可以包括与第一显示器10相关联的第二平面25的第二显示纹理19的第一部分15。例如,第二显示纹理19的第一部分15可以是在任务栏上包括图标的背景图像的左部分。第二显示纹理19可能不会随视频的改变而改变(例如,显示纹理18也在改变)。这样,对于第二显示纹理19的第一部分15,重叠图像数据310可以在每个图像帧中在不同时间或在不同序列302、304和306不改变。
重叠图像数据312可以包括与第二显示器12相关联的第四平面27的第二显示纹理19的第二部分17。例如,第二显示纹理19的第二部分17可以是背景图像,包括背景图像的右侧。第二显示纹理19可能不会随视频的改变而改变(例如,显示纹理18也在改变)。这样,对于第二显示纹理19的第二部分17,重叠图像数据312可以在每个图像帧中在不同时间或在不同序列302、304和306不改变。
这样,可以使用单个缓冲器34跨多个显示器以同步方式使用平面的组合来呈现显示纹理的组合。
现在参考图4,计算机设备102(图1)可以使用示例方法来跨与计算机设备102通信的多个显示器从单个缓冲器34以原子方式呈现图像101(图1),从而可以跨多个显示器以同步方式呈现图像101。方法400的动作可以在下面参考图1的架构进行讨论。
在402处,方法400可以包括使计算机设备的多个显示器同步。计算机设备102可以包括和/或可以与多达n个显示器(其中n是整数)的多个显示器通信。计算机设备102可以包括显示管理器26,该显示管理器26可以包括显示器标识符28,该显示器标识符28标识与计算机设备102通信的多个显示器29。例如,所标识的显示器29可以包括与计算机设备102通信的两个显示器,即第一显示器10和第二显示器12。
显示器标识符28还可以指示和/或控制所标识的显示器29是否可以被同步。例如,当显示器具有相同的分辨率和相同的定时时,显示器可以被同步。当所标识的显示器29可以被同步时,显示管理器26可以发送用于使所标识的显示器29的信号和/或定时同步的显示同步请求30。
在404处,方法400可以包括发起原子呈现请求以在多个显示器上呈现图像帧。跨多个显示器呈现的原子可以允许在单个帧中观察图像的所有效果,其中非原子呈现的某些效果可以在一个帧中观察到,而其他效果可以在下一帧中观察到。这样,当以原子方式呈现时,要么在一个帧中观察到所有效果,要么将所有效果推迟到下一帧。
原子呈现请求可以从被存储在由多个显示器共享的单个缓冲器中的与图像帧对应的多个显示纹理至少标识第一显示纹理和第二显示纹理以用于同步呈现。显示管理器26可以包括单个缓冲器34,该单个缓冲器34可以包括一系列图像,该一系列图像在不同时间对应于每个图像帧33或者对应于序列中的不同图像。例如,单个缓冲器34可以包括针对每个时间帧33(多达r个图像帧33(其中r是整数))的图像数据阵列(在每个时间/序列处)。单个缓冲器34可以由第一显示器10和第二显示器12共享。
每个图像帧33可以包括与图像帧33相关联的第一图像帧数据39和第二图像帧数据41。例如,第一图像帧数据39可以包括要呈现在第一显示器10上的图像101的对应显示纹理18、19的部分。另外,第一图像帧数据39可以与第一显示标识(ID)35相关联以指示第一图像帧数据39旨在用于第一显示器10和/或可以呈现在第一显示器10上。在一种实现中,第一图像帧数据39还可以标识一个或多个平面(例如,第一平面11和第二平面25)何时可以与第一显示器10相关联和/或显示纹理的一部分(例如,第一显示纹理18的第一部分14)何时可以与显示平面相关联。
第二图像帧数据41可以包括要呈现在第二显示器12上的图像101的显示纹理18,19的对应部分。第二图像帧数据41还可以与第二显示器ID 37相关联,以指示第二图像帧数据41旨在用于第二显示器12和/或可以呈现在第二显示器12上。在一种实现中,第二图像帧数据41还可以标识一个或多个平面(例如,第三平面图13和第四平面27)何时与第二显示器12相关联和/或显示纹理的一部分(例如,第一显示纹理18的第二部分16)何时与显示平面相关联。这样,单个缓冲器34可以包括图像帧33的要在第一显示器10和第二显示器12上显示的所有显示纹理。
在一种实现中,单个缓冲器34可以包括交换链,该交换链定义一系列图像,该一系列图像针对每个所标识的显示器29在不同时间或以不同序列对应于每个图像帧33。当图像帧33从单个缓冲器34被扫描输出以呈现在所标识的显示器29上时,可以渲染单个缓冲器34中的下一图像帧33。当渲染和/或扫描输出单个缓冲器34中的当前图像帧33时,可以将图像数据添加到单个缓冲器34,从而可以用图像数据连续更新该一系列图像以呈现在所标识的显示器29上。
显示管理器26可以生成和/或发起原子呈现请求32以在多个显示器上呈现图像帧33的不同部分,使得表示图像101的图像帧33可以跨多个显示器以同步方式呈现。例如,原子呈现请求32将图像帧33的不同部分呈现在第一显示器10和第二显示器12上,使得表示图像101的图像帧33可以跨第一显示器10和第二显示器12以同步方式呈现。
在406处,方法400可以包括标识针对第一显示纹理和第二显示纹理的对应显示器。原子呈现请求32还可以例如基于对应显示器ID或基于与纹理相关联的对应显示平面来标识与图像帧33对应的显示纹理18、19以及与哪些纹理或纹理部分与哪些显示器相关联。例如,原子呈现请求32可以标识出第一显示纹理对应于第一显示器10并且第二显示纹理对应于第二显示器12。
在408处,方法400可以包括从单个缓冲器向显示驱动器传输第一图像帧数据和第二图像帧数据的捆绑集合。原子呈现请求32还可以标识来自单个缓冲器34的第一图像帧数据39和第二图像帧数据41的捆绑集合以传输到显示驱动器36以在多个显示器上进行相应呈现。例如,第一图像帧数据39和第二图像帧数据41的捆绑集合可以被呈现在第一显示器10和第二显示器12上。第一图像帧数据可以包括与第一显示器对应的一个或多个显示纹理,并且第二图像帧数据可以包括与第二显示器对应的一个或多个显示纹理。
显示管理器26可以将原子呈现请求32传输给运行时管理器24。运行时管理器24可以将原子呈现请求32以及所标识的第一图像帧数据39和第二图像帧数据41的捆绑集合一起传输给显示驱动器36。显示驱动器36可以在第一显示器10上呈现第一图像帧数据39,并且可以在第二显示器12上呈现第二图像帧数据41。
这样,可以跨多个显示器以同步方式呈现显示纹理的组合。此外,可以通过跨多个显示器以同步方式呈现显示纹理来消除呈现在第一显示器和第二显示器上的显示纹理之间的时间上的未对准。
现在参考图5,示出了根据实现的示例计算机设备102,与图1相比,该示例计算机设备102包括附加组件细节。在一个示例中,计算机设备102可以包括用于执行与本文中描述的组件和功能中的一项或多项相关联的处理功能的处理器38。处理器38可以包括单组或多组处理器或多核处理器。此外,处理器38可以被实现为集成处理系统和/或分布式处理系统。
计算机设备102还可以包括诸如用于存储由处理器38执行的应用的本地版本的存储器40。存储器40可以包括由计算机可使用的一种类型的存储器,诸如随机存取存储器(RAM)、只读存储器(ROM)、磁带、磁盘、光盘、易失性存储器、非易失性存储器及其任何组合。另外,处理器38和存储器40可以包括并且执行操作系统110(图1)。
此外,计算机设备102可以包括通信组件42,该通信组件42利用本文中描述的硬件、软件和服务来提供与一方或多方的通信的建立和维护。通信组件42可以在计算机设备102上的组件之间以及在计算机设备102与外部设备(诸如位于通信网络中的设备和/或串行或本地连接到计算机设备102的设备)之间进行通信。例如,通信组件42可以包括一个或多个总线,并且还可以包括可操作用于与外部设备接口的分别与发射器和接收器相关联的发射链组件和接收链组件。
另外,计算机设备102可以包括数据存储区44,数据存储区44可以是硬件和/或软件的任何合适的组合,数据存储区44提供结合本文中描述的实现而采用的信息、数据库和程序的大容量存储。例如,数据存储库44可以是用于应用20(图1)、运行时管理器24(图1)、显示管理器26(图1)和/或显示驱动器36(图1)的数据存储库。
计算机设备102还可以包括用户接口组件46,该用户接口组件46可操作以从计算机设备102的用户接收输入并且还可操作以生成用于呈现给用户的输出。用户接口组件46可以包括一个或多个输入设备,包括但不限于键盘、数字键盘、鼠标、触敏显示器、导航键、功能键、麦克风、语音识别组件、能够从用户接收输入的任何其他机制、或其任何组合。此外,用户接口组件46可以包括一个或多个输出设备,包括但不限于显示器、扬声器、触觉反馈机制、打印机、能够向用户呈现输出的任何其他机制、或其任何组合。
在一种实现中,用户接口组件46可以传输和/或接收与应用20、运行时管理器24、显示管理器26和/或显示驱动器36的操作对应的消息。此外,处理器38执行应用20、运行时管理器24、显示管理器26和/或显示驱动器36,并且存储器40或数据存储库48可以存储它们。
如本申请中使用的,术语“组件”、“系统”等旨在包括计算机相关实体,诸如但不限于硬件、固件、硬件和软件的组合、软件、或执行软件。例如,组件可以是但不限于在处理器上运行的进程、处理器、对象、可执行文件、执行线程、程序和/或计算机。作为说明,在计算机设备上运行的应用和计算机设备都可以是组件。一个或多个组件可以驻留在执行进程和/或线程中,并且组件可以位于一个计算机上和/或分布在两个或更多个计算机之间。另外,这些组件可以从其上存储有各种数据结构的各种计算机可读介质执行。组件可以诸如根据具有一个或多个数据分组的信号通过本地和/或远程过程进行通信,诸如来自与本地系统、分布式系统中的另一组件进行交互和/或通过网络(诸如互联网)经由信号与其他系统交互的一个组件的数据。
此外,术语“或”旨在表示包含性“或”而不是排他性“或”。也就是说,除非另有说明或从上下文中清楚得知,否则短语“X使用A或B”旨在表示任何自然的包含性排列。也就是说,以下任何一种情况都满足短语“X使用A或B”:X使用A;X使用B;或X同时使用A和B。此外,除非另有说明或从上下文中清楚得知指向单数形式,否则在本申请和所附权利要求书中使用的冠词“一个(a)”和“一个(an)”通常应当解释为表示“一个或多个”。
各种实现或特征可以根据可以包括多个设备、组件、模块等的系统来呈现。应当理解和意识到,各种系统可以包括附加的设备、组件、模块等,和/或可以并非包括结合附图讨论的所有设备、组件、模块等。也可以使用这些方法的组合。
结合本文中公开的实施例而描述的方法的各种说明性逻辑、逻辑块和动作可以用旨在执行本文中描述的功能的通用处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)或其他可编程逻辑设备、分立门或晶体管逻辑、分立硬件组件、或其任何组合中的特别地编程的一种来实现或执行。通用处理器可以是微处理器,但是备选地,处理器可以是任何常规处理器、控制器、微控制器或状态机。处理器也可以被实现为计算机设备的组合,例如,DSP和微处理器的组合、多个微处理器、与DSP核心结合的一个或多个微处理器、或任何其他这样的配置。另外,至少一个处理器可以包括可操作以执行一个或多个上述步骤和/或动作的一个或多个组件。
此外,结合本文中公开的实现而描述的方法或算法的步骤和/或动作可以直接体现在硬件中,在由处理器执行的软件模块中,或在这两者的组合中。软件模块可以驻留在RAM存储器、闪存、ROM存储器、EPROM存储器、EEPROM存储器、寄存器、硬盘、可移动磁盘、CD-ROM、或本领域已知的任何其他形式的存储介质中。示例性存储介质可以耦合到处理器,使得处理器可以从该存储介质读取信息并且可以向该存储介质写入信息。备选地,存储介质可以与处理器成一体。此外,在一些实现中,处理器和存储介质可以驻留在ASIC中。另外,ASIC可以驻留在用户终端中。备选地,处理器和存储介质可以作为分立组件驻留在用户终端中。另外,在一些实施方案中,方法或算法的步骤和/或动作可作为一个代码和/或指令或者代码和/或指令的任何组合或集合而驻留在机器可读介质和/或计算机可读介质上,机器可读介质和/或计算机可读介质可以被并入计算机程序产品中。
在一种或多种实现中,所描述的功能可以按照硬件、软件、固件或其任何组合来实现。如果以软件实现,则功能可以作为一个或多个指令或代码在计算机可读介质上存储或传输。计算机可读介质包括计算机存储介质和通信介质,包括有助于将计算机程序从一个地方转移到另一地方的任何介质。存储介质可以是计算机可以访问的任何可用介质。作为示例而非限制,这样的计算机可读介质可以包括RAM、ROM、EEPROM、CD-ROM或其他光盘存储、磁盘存储或其他磁性存储设备、或者可以用于以指令或数据结构形式存储期望的程序代码并且可以由计算机访问的任何其他介质。本文中使用的磁盘和光盘包括压缩光盘(CD)、激光光盘、光盘、数字多功能光盘(DVD)、软盘和蓝光光盘,其中磁盘通常以磁性方式复制数据,而光盘通常通过激光以光学方式复制数据。上述各项的组合也应当被包括在计算机可读介质的范围内。
尽管已经结合本公开的示例描述了本公开的实现,但是本领域技术人员将理解,可以在不脱离本发明范围的情况下对上述实现进行变化和修改。通过考虑说明书或根据本文中公开的示例的实践,其他实现对于本领域技术人员将是很清楚的。

Claims (15)

1.一种计算机设备,包括:
多个显示器;
存储器,用于存储数据和指令,其中所述存储器存储由所述多个显示器共享的单个缓冲器,所述单个缓冲器具有与要呈现在所述多个显示器上的图像帧对应的多个显示纹理;
处理器,与所述存储器通信;
操作系统,与所述存储器和所述处理器通信,其中所述操作系统可操作以:
使所述计算机设备的所述多个显示器同步;
发起原子呈现请求以将所述图像帧呈现在至少包括第一显示器和第二显示器的所述多个显示器上,所述原子呈现请求从与所述图像帧对应的所述多个显示纹理至少标识第一显示纹理和第二显示纹理,并且标识出所述第一显示纹理对应于所述第一显示器并且所述第二显示纹理对应于所述第二显示器;以及
从所述单个缓冲器向显示驱动器传输第一图像帧数据和第二图像帧数据的捆绑集合,其中所述第一图像帧数据包括与所述第一显示器对应的所述第一显示纹理,并且其中所述第二图像帧数据包括与所述第二显示器对应的所述第二显示纹理。
2.根据权利要求1所述的计算机设备,其中所述第一显示纹理包括显示纹理的第一部分,并且所述第二显示纹理包括所述显示纹理的对应的第二部分。
3.根据权利要求1所述的计算机设备,其中所述操作系统还可操作以:
确定与所述第一显示器相关联的第一平面和与所述第二显示器相关联的第二平面;以及
将所述第一显示纹理标识为与所述第一平面对应,并且将所述第二显示纹理标识为与所述第二平面对应,
其中所述第一显示纹理包括多个第一图像帧数据并且所述第二显示纹理包括多个第二图像帧数据,其中所述多个第二图像帧数据中的每个第二图像帧数据对应于所述多个第一图像帧数据中的一个第一图像帧数据。
4.根据权利要求1所述的计算机设备,其中所述操作系统还可操作以创建所述原子呈现请求以触发在所述第一显示器和所述第二显示器上同时呈现所述图像帧。
5.根据权利要求1所述的计算机设备,其中使所述多个显示器同步还包括使去往所述多个显示器的信令同步。
6.根据权利要求1所述的计算机设备,其中所述单个缓冲器包括交换链,所述交换链定义在不同时间与所述图像帧对应的一系列图像。
7.根据权利要求1所述的计算机设备,其中所述多个显示器还包括第三显示器,所述多个显示纹理还包括第三显示纹理,并且所述原子呈现请求还标识出所述第三显示纹理对应于所述第三显示器;并且
其中所述操作系统还可操作以向所述显示驱动器传输包括与所述第三显示器对应的所述第三显示纹理的第三图像帧数据。
8.一种用于以原子方式跨计算机设备的多个显示器从由所述多个显示器共享的单个缓冲器呈现图像的方法,所述方法包括:
在执行在所述计算机设备上的操作系统处使所述计算机设备的所述多个显示器同步;
发起原子呈现请求以将图像帧呈现在至少包括第一显示器和第二显示器的所述多个显示器上,所述原子呈现请求从与所述图像帧对应的、被存储在所述单个缓冲器中的多个显示纹理至少标识第一显示纹理和第二显示纹理,并且标识出所述第一显示纹理对应于所述第一显示器并且所述第二显示纹理对应于所述第二显示器;以及
从所述单个缓冲器向显示驱动器传输第一图像帧数据和第二图像帧数据的捆绑集合,其中所述第一图像帧数据包括与所述第一显示器对应的所述第一显示纹理,并且其中所述第二图像帧数据包括与所述第二显示器对应的所述第二显示纹理。
9.根据权利要求8所述的方法,其中所述第一显示纹理包括显示纹理的第一部分,并且所述第二显示纹理包括所述显示纹理的对应的第二部分。
10.根据权利要求8所述的方法,还包括:
确定与所述第一显示器相关联的第一平面和与所述第二显示器相关联的第二平面;以及
将所述第一显示纹理标识为与所述第一平面对应,并且将所述第二显示纹理标识为与所述第二平面对应,
其中所述第一显示纹理包括多个第一图像帧数据并且所述第二显示纹理包括多个第二图像帧数据,其中所述多个第二图像帧数据中的每个第二图像帧数据对应于所述多个第一图像帧数据中的一个第一图像帧数据。
11.根据权利要求8所述的方法,还包括创建所述原子呈现请求以触发在所述第一显示器和所述第二显示器上同时呈现所述图像帧。
12.根据权利要求8所述的方法,其中使所述多个显示器同步还包括使去往所述多个显示器的信令同步。
13.根据权利要求8所述的方法,其中所述单个缓冲器包括交换链,所述交换链定义在不同时间与多个图像帧对应的一系列图像。
14.根据权利要求8所述的方法,其中所述多个显示器还包括第三显示器,所述多个显示纹理还包括第三显示纹理,并且所述原子呈现请求还标识出所述第三显示纹理对应于所述第三显示器,并且
所述方法还包括:
向所述显示驱动器传输包括与所述第三显示器对应的所述第三显示纹理的第三图像帧数据。
15.一种存储由计算机设备可执行的指令的计算机可读介质,包括:
用于使得所述计算机设备使所述计算机设备的多个显示器同步的至少一个指令;
用于使得所述计算机设备发起原子呈现请求以将图像帧呈现在至少包括第一显示器和第二显示器的所述多个显示器上的至少一个指令,所述原子呈现请求从由所述多个显示器共享的单个缓冲器中存储的、与所述图像帧对应的多个显示纹理至少标识第一显示纹理和第二显示纹理,并且标识出所述第一显示纹理对应于所述第一显示器并且所述第二显示纹理对应于所述第二显示器;以及
用于使得所述计算机设备从所述单个缓冲器向显示驱动器传输第一图像帧数据和第二图像帧数据的捆绑集合的至少一个指令,其中所述第一图像帧数据包括与所述第一显示器对应的所述第一显示纹理,并且其中所述第二图像帧数据包括与所述第二显示器对应的所述第二显示纹理。
CN201980023041.3A 2018-03-29 2019-03-22 用于以原子方式呈现覆盖多个显示器的单个缓冲器的机制 Active CN112005209B (zh)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201862650016P 2018-03-29 2018-03-29
US62/650,016 2018-03-29
US15/988,627 US10719286B2 (en) 2018-03-29 2018-05-24 Mechanism to present in an atomic manner a single buffer that covers multiple displays
US15/988,627 2018-05-24
PCT/US2019/023496 WO2019190895A1 (en) 2018-03-29 2019-03-22 Mechanism to present in an atomic manner a single buffer that covers multiple displays

Publications (2)

Publication Number Publication Date
CN112005209A true CN112005209A (zh) 2020-11-27
CN112005209B CN112005209B (zh) 2024-03-19

Family

ID=68056141

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201980023041.3A Active CN112005209B (zh) 2018-03-29 2019-03-22 用于以原子方式呈现覆盖多个显示器的单个缓冲器的机制

Country Status (4)

Country Link
US (1) US10719286B2 (zh)
EP (1) EP3776168A1 (zh)
CN (1) CN112005209B (zh)
WO (1) WO2019190895A1 (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117499601B (zh) * 2024-01-02 2024-04-05 上海励驰半导体有限公司 用于SoC的调用多摄像头数据的方法

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5963200A (en) * 1995-03-21 1999-10-05 Sun Microsystems, Inc. Video frame synchronization of independent timing generators for frame buffers in a master-slave configuration
CN101236661A (zh) * 2007-11-20 2008-08-06 威盛电子股份有限公司 在计算机中管理纹理数据的系统与方法
CN102844735A (zh) * 2010-03-03 2012-12-26 高通股份有限公司 驱动和同步多个显示面板
CN103119547A (zh) * 2010-09-29 2013-05-22 高通股份有限公司 用于多个显示器的图像同步
US20150356045A1 (en) * 2014-06-09 2015-12-10 High Sec Labs Ltd. Multi-Host Docking Device
CN107660280A (zh) * 2015-05-28 2018-02-02 高通股份有限公司 低延迟屏幕镜像
CN107665485A (zh) * 2016-07-29 2018-02-06 三星电子株式会社 用于显示图形对象的电子装置和计算机可读记录介质

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8019883B1 (en) * 2005-05-05 2011-09-13 Digital Display Innovations, Llc WiFi peripheral mode display system
US8860765B2 (en) * 2008-09-08 2014-10-14 Qualcomm Incorporated Mobile device with an inclinometer
US9258516B2 (en) * 2014-03-14 2016-02-09 Tribune Broadcasting Company, Llc News production system with display controller

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5963200A (en) * 1995-03-21 1999-10-05 Sun Microsystems, Inc. Video frame synchronization of independent timing generators for frame buffers in a master-slave configuration
CN101236661A (zh) * 2007-11-20 2008-08-06 威盛电子股份有限公司 在计算机中管理纹理数据的系统与方法
CN102844735A (zh) * 2010-03-03 2012-12-26 高通股份有限公司 驱动和同步多个显示面板
CN103119547A (zh) * 2010-09-29 2013-05-22 高通股份有限公司 用于多个显示器的图像同步
US20150356045A1 (en) * 2014-06-09 2015-12-10 High Sec Labs Ltd. Multi-Host Docking Device
CN107660280A (zh) * 2015-05-28 2018-02-02 高通股份有限公司 低延迟屏幕镜像
CN107665485A (zh) * 2016-07-29 2018-02-06 三星电子株式会社 用于显示图形对象的电子装置和计算机可读记录介质

Also Published As

Publication number Publication date
US20190303084A1 (en) 2019-10-03
US10719286B2 (en) 2020-07-21
CN112005209B (zh) 2024-03-19
WO2019190895A1 (en) 2019-10-03
EP3776168A1 (en) 2021-02-17

Similar Documents

Publication Publication Date Title
KR101401216B1 (ko) 외부 디스플레이에 대한 그래픽 컨텐츠 미러링
TWI279709B (en) Method and system for generating a motion blur, and machine readable medium having stored therein a plurality of machine readable instructions
US8350864B2 (en) Serializing command streams for graphics processors
US20070250787A1 (en) Enhancing visual representation and other effects for application management on a device with a small screen
KR101239029B1 (ko) 그래픽스 처리 시스템의 오프-스크린 표면을 위한 멀티-버퍼 지원
US9875519B2 (en) Overlap aware reordering of rendering operations for efficiency
TW201539294A (zh) 跨平台顯像引擎
US20110134147A1 (en) Asymmetric Two-Pass Graphics Scaling
CN105190701B (zh) 基于原语的合成系统及方法
US20040085310A1 (en) System and method of extracting 3-D data generated for 2-D display applications for use in 3-D volumetric displays
US8327387B2 (en) Method for acquisition of GDI and directX data
US10412320B1 (en) Method and system for switching display from first video source to second video source
CN116672702A (zh) 一种图像渲染方法和电子设备
CN116821040A (zh) 基于gpu直接存储器访问的显示加速方法、装置及介质
US8854385B1 (en) Merging rendering operations for graphics processing unit (GPU) performance
CN112005209B (zh) 用于以原子方式呈现覆盖多个显示器的单个缓冲器的机制
CN111199569A (zh) 数据处理的方法、装置、电子设备及计算机可读介质
CN113034653A (zh) 一种动画渲染方法及装置
US8587599B1 (en) Asset server for shared hardware graphic data
US20220337868A1 (en) Rendering video frames for a user interface operation performed at a client device
US20130254704A1 (en) Multiple Simultaneous Displays on the Same Screen
CN117971087A (zh) 数据处理方法和相关装置
y Friedberg et al. Extending X for double-buffering, multi-buffering, and stereo
CN115705134A (zh) 图像处理方法、装置及设备
TW202134996A (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