掌桥专利:专业的专利平台
掌桥专利
首页

一种多屏同显方法和装置

文献发布时间:2024-04-18 20:01:55


一种多屏同显方法和装置

技术领域

本申请涉及终端技术领域,并且更具体地,涉及一种多屏同显方法和装置。

背景技术

为了高效的共享信息,在日常生活和工作中经常会遇到多屏同显的场景。多屏同显是指通过多个屏幕同时显示相同的内容,如会议中需要将主讲人的屏幕投影到公共屏幕显示出来。

现有的多屏同显装置可以包括至少一个应用、窗口管理器和多路显示驱动。窗口管理器需要根据该至少一个应用的应用窗口,为该多路显示驱动中的每路显示驱动执行一次目标图像的合成过程,得到该多路显示驱动各自的目标图像,并将该多路显示驱动各自的目标图像保存至该多路显示驱动各自的缓存区中,该多路显示驱动从各自的缓存区中读取各自的目标图像,并驱动对应的显示器进行显示。

然而,在多个显示器的显示内容一致的场景下,该窗口管理器需要多次执行相同的合成过程,且多路显示驱动各自的缓存区中存储的目标图像都是一样的,这样就会导致多屏同显装置的性能损耗,如中央处理器(central processing unit,CPU)占用率、图形处理器(graphics processing unit,GPU)占用率、显存空间)较大。

发明内容

本申请提供一种多屏同显方法和装置,能够降低多屏同显装置的性能损耗。

第一方面,本申请提供一种多屏同显方法,所述多屏同显方法应用于多屏同显装置,所述多屏同显装置包括:窗口管理器、第一路显示驱动、第二路显示驱动和公共缓存区,其中,所述第一路显示驱动和所述第二路显示驱动共享所述公共缓存区,所述方法包括:所述窗口管理器基于至少一个应用在第一帧时的应用窗口,合成第一目标图像;所述窗口管理器将所述第一目标图像保存至所述公共缓存区中的第一缓存区;所述第一路显示驱动从所述第一缓存区中读取所述第一目标图像;所述第一路显示驱动通过显示驱动器驱动所述第一路显示驱动对应的显示器显示所述第一目标图像;所述第二路显示驱动从所述第一缓存区中读取所述第一目标图像;所述第二路显示驱动通过所述显示驱动器驱动所述第二显示驱动对应的显示器显示所述第一目标图像。

采用本申请实施例提供的多屏同显方法,多路显示驱动共享一个公共缓存区,窗口管理器仅需要为多路显示驱动执行一次目标图像合成的过程,并将合成后的目标图像保存至该公共缓存区,该多路显示驱动均可以从该公共缓存区中读取合成后的目标图像,这样能够降低多屏同显装置的性能损耗,此外,还可以提高多屏同显装置的显示效率。

在一种可能的实现方式中,所述方法还包括:在所述第一路显示驱动从所述第一缓存区中读取所述第一目标图像之后,所述窗口管理器将所述第一缓存区的引用计数加一;在所述第二路显示驱动从所述第一缓存区中读取所述第一目标图像之后,所述窗口管理器将所述第一缓存区的引用计数加一。

在一种可能的实现方式中,所述方法还包括:在所述第一路显示驱动通过显示驱动器驱动所述第一显示驱动对应的显示器显示所述第一目标图像之后,所述窗口管理器基于第一垂直同步信号,将所述第一缓存区的引用计数减一,所述第一垂直同步信号用于指示所述第一路显示驱动已完成所述第一目标图像的显示;在所述第二路显示驱动通过所述显示驱动器驱动所述第二显示驱动对应的显示器显示所述第一目标图像之后,所述窗口管理器基于第二垂直同步信号,将所述第一缓存区的引用计数减一,所述第二垂直同步信号用于指示所述第二路显示驱动已完成所述第一目标图像的显示;当所述第一缓存区的引用计数为0时,所述窗口管理器释放所述第一缓存区。

也就是说,从该第一目标图像保存至该第一缓存区起,窗口管理器可以锁定该第一缓存区,直到各显示驱动完成该第一目标图像的显示,然后再释放该第一缓存区,这样可以提高每帧目标图像读写的可靠性。

在一种可能的实现方式中,所述方法还包括:所述窗口管理器基于所述至少一个应用在第二帧时的应用窗口,合成第二目标图像,所述第二帧位于所述第一帧之后;所述窗口管理器将所述第二目标图像保存至所述公共缓存区中的第二缓存区;所述第一路显示驱动基于所述第一垂直同步信号,从所述第二缓存区中读取所述第二目标图像;所述第一路显示驱动通过所述显示驱动器驱动所述第一显示驱动对应的显示器显示所述第二目标图像;所述第二路显示驱动基于所述第二垂直同步信号,从所述第二缓存区中读取所述第二目标图像;所述第二路显示驱动通过所述显示驱动器驱动所述第二显示驱动对应的显示器显示所述第二目标图像。

在一种可能的实现方式中,所述方法还包括:在所述第一路显示驱动从所述第二缓存区中读取所述第二目标图像之后,所述窗口管理器将所述第二缓存区的引用计数加一;在所述第二路显示驱动从所述第二缓存区中读取所述第二目标图像之后,所述窗口管理器将所述第二缓存区的引用计数加一。

第二方面,本申请还提供一种多屏同显装置,该装置可以包括:窗口管理器、第一路显示驱动、第二路显示驱动和公共缓存区,其中,所述第一路显示驱动和所述第二路显示驱动共享所述公共缓存区;

所述窗口管理器用于基于至少一个应用在第一帧时的应用窗口,合成第一目标图像;将所述第一目标图像保存至所述公共缓存区中的第一缓存区;

所述第一路显示驱动用于从所述第一缓存区中读取所述第一目标图像;通过显示驱动器驱动所述第一显示驱动对应的显示器显示所述第一目标图像;

所述第二路显示驱动用于从所述第一缓存区中读取所述第一目标图像;通过所述显示驱动器驱动所述第二显示驱动对应的显示器显示所述第一目标图像。

在一种可能的实现方式中,所述窗口管理器还用于:在所述第一路显示驱动从所述第一缓存区中读取所述第一目标图像之后,将所述第一缓存区的引用计数加一;在所述第二路显示驱动从所述第一缓存区中读取所述第一目标图像之后,将所述第一缓存区的引用计数加一。

在一种可能的实现方式中,所述窗口管理器还用于:在所述第一路显示驱动通过显示驱动器驱动所述第一显示驱动对应的显示器显示所述第一目标图像之后,基于第一垂直同步信号,将所述第一缓存区的引用计数减一,所述第一垂直同步信号用于指示所述第一路显示驱动已完成所述第一目标图像的显示;在所述第二路显示驱动通过所述显示驱动器驱动所述第二显示驱动对应的显示器显示所述第一目标图像之后,基于第二垂直同步信号,将所述第一缓存区的引用计数减一,所述第二垂直同步信号用于指示所述第二路显示驱动已完成所述第一目标图像的显示;当所述第一缓存区的引用计数为0时,释放所述第一缓存区。

在一种可能的实现方式中,所述窗口管理器还用于基于所述至少一个应用在第二帧时的应用窗口,合成第二目标图像,所述第二帧位于所述第一帧之后;将所述第二目标图像保存至所述公共缓存区中的第二缓存区;

所述第一路显示驱动还用于基于所述第一垂直同步信号,从所述第二缓存区中读取所述第二目标图像;通过所述显示驱动器驱动所述第以显示驱动对应的显示器显示所述第二目标图像;

所述第二路显示驱动还用于基于所述第二垂直同步信号,从所述第二缓存区中读取所述第二目标图像;通过所述显示驱动器驱动所述第二显示驱动对应的显示器显示所述第二目标图像。

在一种可能的实现方式中,所述窗口管理器还用于:在所述第一路显示驱动从所述第二缓存区中读取所述第二目标图像之后,将所述第二缓存区的引用计数加一;在所述第二路显示驱动从所述第二缓存区中读取所述第二目标图像之后,将所述第二缓存区的引用计数加一。

第三方面,本申请还通过一种多屏同显装置,该装置可以包括处理器和通信接口,所述处理器和所述通信接口耦合,所述处理器用于:基于至少一个应用在第一帧时的应用窗口,合成第一目标图像;将所述第一目标图像保存至公共缓存区中的第一缓存区;从所述第一缓存区中读取所述第一目标图像;通过显示驱动器驱动第一路显示驱动对应的显示器显示所述第一目标图像;从所述第一缓存区中读取所述第一目标图像;通过所述显示驱动器驱动第二显示驱动对应的显示器显示所述第一目标图像。

可选地,该装置还可以包括存储器,该存储器与该处理器耦合,该存储器中包括该公共缓存区。

在一种可能的实现方式中,所述处理器还用于:在从所述第一缓存区中读取所述第一目标图像之后,将所述第一缓存区的引用计数加一;在从所述第一缓存区中读取所述第一目标图像之后,将所述第一缓存区的引用计数加一。

在一种可能的实现方式中,所述处理器还用于:在通过显示驱动器驱动第一显示驱动对应的显示器显示所述第一目标图像之后基于第一垂直同步信号,将所述第一缓存区的引用计数减一,所述第一垂直同步信号用于指示所述第一路显示驱动已完成所述第一目标图像的显示;在通过所述显示驱动器驱动第二显示驱动对应的显示器显示所述第一目标图像之后,基于第二垂直同步信号,将所述第一缓存区的引用计数减一,所述第二垂直同步信号用于指示所述第二路显示驱动已完成所述第一目标图像的显示;当所述第一缓存区的引用计数为0时,释放所述第一缓存区。

在一种可能的实现方式中,所述处理器还用于:基于所述至少一个应用在第二帧时的应用窗口,合成第二目标图像,所述第二帧位于所述第一帧之后;将所述第二目标图像保存至所述公共缓存区中的第二缓存区;基于所述第一垂直同步信号,从所述第二缓存区中读取所述第二目标图像;通过所述显示驱动器驱动所述第一显示驱动对应的显示器显示所述第二目标图像;基于所述第二垂直同步信号,从所述第二缓存区中读取所述第二目标图像;通过所述显示驱动器驱动所述第二显示驱动对应的显示器显示所述第二目标图像。

在一种可能的实现方式中,所述处理器还用于:在从所述第二缓存区中读取所述第二目标图像之后,将所述第二缓存区的引用计数加一;在从所述第二缓存区中读取所述第二目标图像之后,将所述第二缓存区的引用计数加一。

第四方面,本申请还提供一种计算机可读存储介质,用于存储计算机程序,其特征在于,所述计算机程序包括用于实现上述第一方面或其任意可能的实现方式中所述的方法的指令。

第五方面,本申请还提供一种计算机程序产品,所述计算机程序产品中包含指令,其特征在于,当所述指令在计算机或处理器上运行时,使得所述计算机或所述处理器实现上述第一方面或其任意可能的实现方式中所述的方法。

本申请提供的多屏同显装置、计算机存储介质和计算机程序产品均用于执行上文所提供的多屏同显方法,因此,其所能达到的有益效果可参考上文所提供的多屏同显方法中的有益效果,此处不再赘述。

附图说明

图1是本申请实施例提供的多屏同显系统100的示意性框图;

图2是本申请实施例提供的多屏同显方法200的示意性流程图;

图3是本申请实施例提供的多屏同显方法的流程示意图;

图4是本申请实施例提供的多屏同显装置300的示意性框图;

图5是本申请实施例提供的多屏同显装置400的示意性框图。

具体实施方式

下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行描述。

请参考图1,图1示出了本申请实施例提供的多屏同显系统100的示意性框图。如图1所示,该多屏同显系统100可以包括:多屏同显装置110、显示驱动器120和多个显示器(如图1中示出的显示器131和显示器132)。其中,所述多屏同显装置110可以包括至少一个应用(如图1中示出的应用111和应用112)、窗口管理器113、多路显示驱动(如图1中示出的显示驱动114和显示驱动115)和该多路显示驱动共享的公共缓存区116。

可选地,该多屏同显装置110中的该至少一个应用是可选的。

在一种可能的实现方式中,该至少一个应用和该窗口管理器113耦合,该窗口管理器113和该多路显示驱动分别与该公共缓存区116耦合。

需要说明的是,该多路显示驱动可以通过显示驱动器120分别驱动与该每路显示驱动对应的显示器,也就是说,该多路显示驱动与该多个显示器一一对应(如图1中示出的第一路显示驱动114对应显示器131,第二路显示驱动115对应的显示器132)。该显示驱动器120和该多个显示器之间可以通过视频图形阵列(video graphics array,VGA)接口或高清多媒体接口(high definition multimedia interface,HDMI)连接。

该至少一个应用用于生成该至少一个应用的应用窗口。

该窗口管理器113用于根据该至少一个应用的应用窗口,为该多路显示驱动合成第一目标图像;将该第一目标图像保存至该公共缓存区116。

也就是说,窗口管理器113可以基于该至少一个应用的应用窗口为该多路显示驱动创建“合成”图像。

该每路显示驱动用于从该公共缓存区116中读取该第一目标图像,并通过该显示驱动器120驱动该每路显示驱动对应的显示器显示该第一目标图像。

在一种可能的实现方式中,该显示系统100的协议栈由顶至底可以包括:应用层、驱动层和物理层。其中,该至少一个应用和该窗口管理器113可以属于该应用层,该显示驱动114和该显示驱动115可以属于该驱动层,该显示驱动器120、该显示器131和该显示器132可以属于该物理层。

需要说明的是,上述双屏显示系统100中仅示意性示出2路显示驱动和与该2路显示驱动对应的2个显示器,但本申请不限于此。可选地,该双屏显示系统100中还可以包括更多数量的显示驱动和相应数量的显示器,本申请实施例对此不作限定。

可选地,本申请中对该多屏同显装置110上搭载的操作系统不做限定。示例的,该多屏同显装置110上可以搭载Windows、macOS、Linux、Android(安卓)等操作系统。

可选地,该多屏同显系统100可以为各种具备多个显示器的显示设备,该显示设备可以为电视机、电脑、平板电脑、游戏机、可穿戴设备等。

基于现有的多屏同显方法中存在的问题,本申请提供一种多屏同显方法、装置和系统,窗口管理器仅需要为多路显示驱动执行一次目标图像合成的过程,且多路显示驱动共享一个公共缓存区,这样能够降低系统的性能损耗。

下面将进一步介绍可以应用于上述多屏同显系统100的多屏同显方法。

图2示出了本申请实施例提供的多屏同显方法200的示意性流程图,该方法200可以用于图1中所述的多屏同显系统100。如图2所示,该方法200可以包括以下步骤,需要说明的是,以下所列步骤可以以各种顺序执行和/或同时发生,不限于图2所示的执行顺序。

下面将以多路显示驱动包括第一路显示驱动和第二路显示驱动为例进行介绍,但本申请不限于此。

可选地,当该多路显示驱动包括更多数量的显示驱动和对应的显示器时,各显示器显示图像的过程与该第一显示器和第二显示器类似,为避免重复,本申请不再赘述。

S201.所述窗口管理器基于至少一个应用在第一帧时的应用窗口,合成第一目标图像。

S202.所述窗口管理器将所述第一目标图像保存至所述公共缓存区中的第一缓存区。

S203.所述第一路显示驱动从所述第一缓存区中读取所述第一目标图像。

可选地,在S203之后,所述方法还可以包括:所述窗口管理器将所述第一缓存区的引用计数加一。

S204.所述第一路显示驱动通过显示驱动器驱动所述第一路显示驱动对应的显示器显示所述第一目标图像。

可选地,在S204之后,所述方法还可以包括:所述窗口管理器基于第一垂直同步信号,将所述第一缓存区的引用计数减一,所述第一垂直同步信号用于指示所述第一路显示驱动已完成所述第一目标图像的显示。

S205.所述第二路显示驱动从所述第一缓存区中读取所述第一目标图像。

可选地,在S205之后,所述方法还可以包括:所述窗口管理器将所述第一缓存区的引用计数加一。

S206.所述第二路显示驱动通过所述显示驱动器驱动所述第二显示驱动对应的显示器显示所述第一目标图像。

可选地,在S206之后,所述方法还可以包括:所述窗口管理器基于第二垂直同步信号,将所述第一缓存区的引用计数减一,所述第二垂直同步信号用于指示所述第二路显示驱动已完成所述第一目标图像的显示;当所述第一缓存区的引用计数为0时,所述窗口管理器释放所述第一缓存区。

可选地,所述方法还可以包括:所述窗口管理器基于所述至少一个应用在第二帧时的应用窗口,合成第二目标图像,所述第二帧位于所述第一帧之后;所述窗口管理器将所述第二目标图像保存至所述公共缓存区中的第二缓存区;所述第一路显示驱动基于所述第一垂直同步信号,从所述第二缓存区中读取所述第二目标图像;所述第一路显示驱动通过所述显示驱动器驱动所述第一显示驱动对应的显示器显示所述第二目标图像;所述第二路显示驱动基于所述第二垂直同步信号,从所述第二缓存区中读取所述第二目标图像;所述第二路显示驱动通过所述显示驱动器驱动所述第二显示驱动对应的显示器显示所述第二目标图像。

可选地,所述方法还可以包括:在所述第一路显示驱动从所述第二缓存区中读取所述第二目标图像之后,所述窗口管理器将所述第二缓存区的引用计数加一;在所述第二路显示驱动从所述第二缓存区中读取所述第二目标图像之后,所述窗口管理器将所述第二缓存区的引用计数加一。。

需要说明的是,本申请实施例中所述的第一垂直同步信号用于指示第一路显示驱动已完成第一帧对应的第一目标图像的显示。此外,第一垂直同步信号还用于指示第一路显示驱动读取并送显下一帧(即第二帧)对应的第二目标图像。

同理,本申请实施例中所述的第二垂直同步信号用于指示第二路显示驱动已完成第一帧对应的第一目标图像的显示。此外,第二垂直同步信号还用于指示第二路显示驱动读取并送显下一帧(即第二帧)对应的第二目标图像。

可选地,当所有显示驱动均完成第一帧对应的第一目标图像的显示时,窗口管理器可以释放用于保存该第一目标图像的缓存区(即第一缓存区)。

在一种可能的实现方式中,以多屏同显装置中的至少一个应用包括应用1和应用2,多路显示驱动包括第1路显示驱动和第2路显示驱动,该第1路显示驱动和该第2路显示驱动共享公共缓存区为例,图3示出了本申请实施例提供的多屏同显方法的流程示意图。如图3所示,该流程可以包括以下步骤(1)至步骤(21),需要说明的是,以下所列步骤可以以各种顺序执行和/或同时发生,不限于图3所示的执行顺序。

(1)窗口管理器基于应用1和应用2在第n帧时的应用窗口,合成目标图像1,n为大于0的整数。

(2)所述窗口管理器将所述目标图像1保存至该公共缓存区中的缓存区1(即第n帧占用的公共缓存区)。

(3)所述第1路显示驱动从所述缓存区1中读取所述目标图像1。

可选地,当n>1时,在步骤(3)之前,该流程还可以包括:所述窗口管理器获取所述第1路显示驱动的垂直同步信号1,所述垂直同步信号1用于指示所述第1路显示驱动已完成目标图像2的显示,该目标图像2是基于应用1和应用2在第n-1帧时的应用窗口合成的。其中,所述目标图像2保存在所述公共缓存区中的缓存区2(即第n-1帧占用的公共缓存区)中,且该缓存区2的引用计数在第1路显示驱动和第2路显示驱动完成目标图像3的显示后已更新至数值2,其中,该目标图像3是基于应用1和应用2在第n-2帧时的应用窗口合成的。

相应地,步骤(3)可以包括:所述第1路显示驱动基于所述垂直同步信号1,从所述缓存区1中读取所述目标图像1。

可选地,所述流程还可以包括:所述窗口管理器基于所述垂直同步信号1,将所述缓存区2的引用计数由数值2更新为数值1。

(4)所述窗口管理器将所述缓存区1的引用计数由数值0更新为数值1。

(5)所述第1路显示驱动通过显示驱动器驱动所述第1路显示驱动对应的显示器显示所述目标图像1。

(6)所述第2路显示驱动从所述缓存区1中读取所述目标图像1。

可选地,当n>1时,在步骤(6)之前,该流程还可以包括:所述窗口管理器获取所述第2路显示驱动的垂直同步信号2,所述垂直同步信号2用于指示所述第2路显示驱动已完成所述目标图像2的显示。

相应地,步骤(6)可以包括:所述第2路显示驱动基于所述垂直同步信号2,从所述缓存区1中读取所述目标图像1。

可选地,所述流程还可以包括:所述窗口管理器基于所述垂直同步信号2,将所述缓存区2的引用计数由数值1更新为数值0;并释放该缓存区2。

(7)所述窗口管理器将所述缓存区1的引用计数由所述数值1更新为数值2。

(8)所述第2路显示驱动通过所述显示驱动器驱动所述第2路显示驱动对应的显示器显示所述目标图像1。

(9)窗口管理器基于应用1和应用2在第n+1帧时的应用窗口,合成目标图像4。

(10)所述窗口管理器将所述目标图像4保存至该公共缓存区中的缓存区3(即第n+1帧占用的公共缓存区)。

(11)所述第1路显示驱动获取垂直同步信号3,所述垂直同步信号3用于指示所述第1路显示驱动已完成所述目标图像1的显示。

(12)所述第1路显示驱动基于所述垂直同步信号3,从所述缓存区3中读取所述目标图像4。

(13)所述窗口管理器将所述缓存区3的引用计数由数值0更新为数值1。

(14)所述第1路显示驱动通过所述显示驱动器驱动所述第1路显示驱动对应的显示器显示所述目标图像4。

(15)所述第2路显示驱动获取垂直同步信号4,所述垂直同步信号4用于指示所述第2路显示驱动已完成所述目标图像1的显示。

(16)所述第2路显示驱动基于所述垂直同步信号4,从所述缓存区3中读取所述目标图像4。

(17)所述窗口管理器将所述缓存区3的引用计数由所述数值1更新为数值2。

(18)所述第2路显示驱动通过所述显示驱动器驱动所述第2路显示驱动对应的显示器显示所述目标图像4。

(19)所述窗口管理器基于所述垂直同步信号3,将所述缓存区1的引用计数由数值2更新为数值1。

(20)所述窗口管理器基于所述垂直同步信号4,将所述缓存区1的引用计数由所述数值1更新为数值0。

(21)所述窗口管理器释放所述缓存区1。

需要说明的是,上面仅以第n帧图像和第n+1帧图像为例对本申请实施例提供的多屏同显方法进行介绍,其他帧图像的显示过程可以参考上述第n帧图像或第n+1帧图像,本申请在此不再赘述。

还需要说明的是,上面仅以2路显示驱动为例对本申请实施例提供的多屏同显方法进行介绍,其他数量路的显示驱动的显示过程可以参考上述2路显示驱动的显示过程,本申请在此不再赘述。

图4示出了本申请实施例提供的多屏同显装置300的示意性框图。该装置300可以包括:窗口管理器301、第一路显示驱动302、第二路显示驱动303和公共缓存区304。

可选地,该装置300可以用于上述系统100,进一步地,该装置300可以为上述系统100中的多屏同显装置110。

所述窗口管理器301用于基于至少一个应用在第一帧时的应用窗口,合成第一目标图像;将所述第一目标图像保存至所述公共缓存区中的第一缓存区。

所述第一路显示驱动302用于从所述第一缓存区中读取所述第一目标图像;通过显示驱动器驱动所述第一显示驱动对应的显示器显示所述第一目标图像。

所述第二路显示驱动303用于从所述第一缓存区中读取所述第一目标图像;通过所述显示驱动器驱动所述第二显示驱动对应的显示器显示所述第一目标图像。

在一种可能的实现方式中,所述窗口管理器301还用于:在所述第一路显示驱动从所述第一缓存区中读取所述第一目标图像之后,将所述第一缓存区的引用计数加一;在所述第二路显示驱动从所述第一缓存区中读取所述第一目标图像之后,将所述第一缓存区的引用计数加一。

在一种可能的实现方式中,所述窗口管理器301还用于:在所述第一路显示驱动通过显示驱动器驱动所述第一显示驱动对应的显示器显示所述第一目标图像之后,基于第一垂直同步信号,将所述第一缓存区的引用计数减一,所述第一垂直同步信号用于指示所述第一路显示驱动已完成所述第一目标图像的显示;在所述第二路显示驱动通过所述显示驱动器驱动所述第二显示驱动对应的显示器显示所述第一目标图像之后,基于第二垂直同步信号,将所述第一缓存区的引用计数减一,所述第二垂直同步信号用于指示所述第二路显示驱动已完成所述第一目标图像的显示;当所述第一缓存区的引用计数为0时,释放所述第一缓存区。

在一种可能的实现方式中,所述窗口管理器301还用于基于所述至少一个应用在第二帧时的应用窗口,合成第二目标图像,所述第二帧位于所述第一帧之后;将所述第二目标图像保存至所述公共缓存区中的第二缓存区;

所述第一路显示驱动302还用于基于所述第一垂直同步信号,从所述第二缓存区中读取所述第二目标图像;通过所述显示驱动器驱动所述第以显示驱动对应的显示器显示所述第二目标图像;

所述第二路显示驱动303还用于基于所述第二垂直同步信号,从所述第二缓存区中读取所述第二目标图像;通过所述显示驱动器驱动所述第二显示驱动对应的显示器显示所述第二目标图像。

在一种可能的实现方式中,所述窗口管理器301还用于:在所述第一路显示驱动从所述第二缓存区中读取所述第二目标图像之后,将所述第二缓存区的引用计数加一;在所述第二路显示驱动从所述第二缓存区中读取所述第二目标图像之后,将所述第二缓存区的引用计数加一。

需要说明的是,上述各模块之间的信息交互、执行过程等内容,由于与本申请方法实施例基于同一构思,其具体功能及带来的技术效果,具体可参见方法实施例部分,此处不再赘述。在一个可选例子中,该装置300可以具体为上述方法200实施例中的多屏同显装置,装置300可以用于执行上述方法200实施例中与多屏同显装置对应的各个流程和/或步骤,为避免重复,在此不再赘述。

图4所示实施例中的各个模块中的一个或多个可以通过软件、硬件、固件或其结合实现。所述软件或固件包括但不限于计算机程序指令或代码,并可以被硬件处理器所执行。所述硬件包括但不限于各类集成电路,如中央处理单元(CPU,Central Processing Unit)、数字信号处理器(DSP,Digital Signal Processor)、现场可编程门阵列(FPGA,FieldProgrammable Gate Array)或专用集成电路(ASIC,Application Specific IntegratedCircuit)。

请参见图5,图5示出了本申请实施例提供的多屏同显装置400的示意性框图,该装置400可以包括处理器401和通信接口402,该处理器401和该通信接口402耦合。

该通信接口402用于向处理器401提供数据,如应用窗口,和/或从该处理器401输出数据,如各目标图像;该处理器401用于运行计算机程序或指令,以使该装置400实现上述方法200实施例所描述的方法。

本申请实施例中的处理器401包括但不限于中央处理单元(Central ProcessingUnit,CPU)、通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(FieldProgrammable Gate Array,FPGA)、分立门或者晶体管逻辑器件或分立硬件组件等。通用处理器可以是微处理器、微控制器或者是任何常规的处理器等。

例如,该处理器401用于通过该通信接口402接收来自处理器的通知消息,该通知消息用于通知加速器执行第一命令,该通知消息包括第一工作队列缓存的标识信息、第一地址信息和第一传输模式信息,该第一工作队列缓存用于存储该第一命令,该第一地址信息用于指示该第一命令在该第一工作队列缓存内的存储地址,该第一传输模式信息用于指示该第一命令的传输模式,该传输模式包括同步模式或异步模式,其中,当该第一命令的传输模式为该同步模式时,该通知消息还包括该第一命令;基于该通知消息,获取该第一命令;执行该第一命令。

在一个可选例子中,本领域技术人员可以理解,该装置400可以具体为上述方法200、方法300或方法400实施例中的加速器,该装置400可以用于执行上述方法200、方法300或方法400实施例中与加速器对应的各个流程和/或步骤,为避免重复,在此不再赘述。

可选地,该装置400还可以包括存储器403。

该存储器403可以是易失性存储器或非易失性存储器,或可包括易失性和非易失性存储器两者。其中,非易失性存储器可以是只读存储器(Read-Only Memory,ROM)、可编程只读存储器(Programmable ROM,PROM)、可擦除可编程只读存储器(Erasable PROM,EPROM)、电可擦除可编程只读存储器(Electrically EPROM,EEPROM)或闪存。易失性存储器可以是随机存取存储器(Random Access Memory,RAM),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的RAM可用,例如静态随机存取存储器(Static RAM,SRAM)、动态随机存取存储器(Dynamic RAM,DRAM)、同步动态随机存取存储器(Synchronous DRAM,SDRAM)、双倍数据速率同步动态随机存取存储器(Double Data Rate SDRAM,DDR SDRAM)、增强型同步动态随机存取存储器(Enhanced SDRAM,ESDRAM)、同步连接动态随机存取存储器(Synchlink DRAM,SLDRAM)和直接内存总线随机存取存储器(Direct Rambus RAM,DRRAM)。

具体地,该存储器403用于存储该装置400的程序代码和指令。可选地,该存储器603还用于存储该处理器401执行上述方法200实施例过程中获得的数据,如各目标图像。

在一种可能的实现方式中,该存储器403可以包括上述方法200实施例中的公共缓存区。

可选地,存储器403可以为单独的器件或集成在处理器401中。

需要说明的是,图5仅仅示出了装置400的简化设计。在实际应用中,该装置400还可以分别包含必要的其他元件,包含但不限于任意数量的通信接口、处理器、控制器、存储器等,而所有可以实现本申请的装置400都在本申请的保护范围之内。

在一种可能的设计中,该装置400可以为芯片装置。可选地,该芯片装置还可以包括一个或多个存储器,用于存储计算机执行指令,当该芯片装置运行时,处理器可执行存储器存储的计算机执行指令,以使芯片装置执行上述多屏同显方法。

可选地,该芯片装置可以为实现相关功能的现场可编程门阵列,专用集成芯片,系统芯片,中央处理器,网络处理器,数字信号处理电路,微控制器,还可以采用可编程控制器或其他集成芯片。

应理解,在本申请的各种实施例中,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。

本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。

所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。

在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。

所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。

所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。

以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应所述以权利要求的保护范围为准

应理解,在本申请的各种实施例中,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。

本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。

所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。

在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。

所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。

所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。

以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应所述以权利要求的保护范围为准。

相关技术
  • 胚胎移植妊娠患者随访方法、系统及存储介质
  • 一种通过选择移植胚胎来降低试管婴儿患者异位妊娠发生率的方法
技术分类

06120116570539