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

双显示器同步显示控制方法、装置、设备及存储介质

文献发布时间:2023-06-19 12:10:19


双显示器同步显示控制方法、装置、设备及存储介质

技术领域

本发明涉及显示控制技术领域,尤其涉及一种双显示器同步显示控制方法、装置、设备及存储介质。

背景技术

云终端(VDI)对显示的要求比较高。使用双显示器时,在主屏点对点的情况下,若主屏与副屏的分辨率大小不一致,则副屏会出现拉伸或缩放等不理想情况,从而降低副屏的显示体验感。因此,发明一种双显示器同步显示控制已成为该领域技术人员亟待解决的问题。

发明内容

本发明实施例针对以上缺陷,提供了一种双显示器同步显示控制方法、装置、设备及存储介质,用以解决现有技术存在的问题。

第一方面,本发明实施例提供了一种双显示器同步显示控制方法,所述方法包括:

获取第一显示设备的当前物理分辨率;

在SurfaceFlinger中,控制第二显示设备申请缓冲内存;

控制所述第二显示设备的缓冲内存大小与所述第一显示设备的缓冲内存大小一致;

Windows管理器向所述SurfaceFlinger设置窗口大小时,限制所述第一显示设备及所述第二显示设备不做缩放设置;

在HWC层做硬件图层混合时,限制用户对所述第一显示设备及所述第二显示设备进行缩放设置;

获取当前显示数据的数据输出分辨率;

在kernel层中,依据所述当前显示数据的数据输出分辨率输出到所述第一显示设备及所述第二显示设备显示。

优选地,所述第一显示设备的当前物理分辨率为所述第一显示设备的最大物理分辨率。

优选地,所述控制所述第二显示设备的缓冲内存大小与所述第一显示设备的缓冲内存大小一致包括:

分别获取所述第一显示设备及所述第二显示设备的最大物理分辨率;

控制所述第一显示设备申请buffer缓冲内存;

控制所述第一显示设备的buffer缓冲内存小于等于所述第一显示设备的最大物理分辨率;

控制所述第二显示设备的buffer缓冲内存小于等于所述第一显示设备的最大物理分辨率。

优选地,所述第一显示设备为主显示设备,所述第二显示设备为副显示设备。

优选地,所述在kernel层中,依据所述当前显示数据的数据输出分辨率输出到所述第一显示设备及所述第二显示设备显示包括:

对比所述数据输出分辨率与所述第一显示设备的当前物理分辨率的大小;

若所述数据输出分辨率小于所述第一显示设备的当前物理分辨率则正常;

依据所述数据输出分辨率确认所述第一显示设备的输出物理分辨率;

通过设置VOP的寄存参数,依据所述数据输出分辨率做所述第一显示设备及所述第二显示设备的部分显示控制。

第二方面,本发明实施例提供了一种双显示器同步显示控制装置,所述装置包括:

第一确认模块,用于获取第一显示设备的当前物理分辨率;

缓冲申请模块,用于在SurfaceFlinger中,控制第二显示设备申请缓冲内存;

缓冲内存控制模块,用于控制所述第二显示设备的缓冲内存大小与所述第一显示设备的缓冲内存大小一致;

第一限制模块,用于Windows管理器向所述SurfaceFlinger设置窗口大小时,限制所述第一显示设备及所述第二显示设备不做缩放设置;

第二限制模块,用于在HWC层做硬件图层混合时,限制用户对所述第一显示设备及所述第二显示设备进行缩放设置;

数据输出分辨率获取模块,用于获取当前显示数据的数据输出分辨率;

显示控制模块,在kernel层中,依据所述当前显示数据的数据输出分辨率输出到所述第一显示设备及所述第二显示设备显示。

第三方面,本发明实施例提供了一种双显示器同步显示控制设备,包括:至少一个处理器、至少一个存储器以及存储在存储器中的计算机程序指令,当计算机程序指令被处理器执行时实现如上述实施方式中第一方面的方法。

第四方面,本发明实施例提供了一种存储介质,其上存储有计算机程序指令,当计算机程序指令被处理器执行时实现如上述实施方式中第一方面的方法。

综上所述,本发明实施例提供的双显示器同步显示控制方法、装置、设备及存储介质。本发明通过获取第一显示设备的当前物理分辨率;在SurfaceFlinger中,控制第二显示设备申请缓冲内存;控制所述第二显示设备的缓冲内存大小与所述第一显示设备的缓冲内存大小一致;Windows管理器向所述SurfaceFlinger设置窗口大小时,限制所述第一显示设备及所述第二显示设备不做缩放设置;在HWC层做硬件图层混合时,限制用户对所述第一显示设备及所述第二显示设备进行缩放设置;获取当前显示数据的数据输出分辨率;在kernel层中,依据所述当前显示数据的数据输出分辨率输出到所述第一显示设备及所述第二显示设备显示。因此,本发明的双显示器同步显示控制方法能够基于双显示器中的主屏点对点的情况下,避免副屏做拉伸或缩放,提升双显示器的显示效果。

附图说明

为了更清楚地说明本发明实施例的技术方案,下面将对本发明实施例中所需要使用的附图作简单地介绍,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1是本发明实施例双显示器同步显示控制方法的流程图。

图2是本发明实施例双显示器同步显示控制方法的所述控制所述第二显示设备的缓冲内存大小与所述第一显示设备的缓冲内存大小一致的流程图。

图3是本发明实施例的双显示器同步显示控制方法的所述在kernel层中,依据所述当前显示数据的数据输出分辨率输出到所述第一显示设备及所述第二显示设备显示的流程图。

图4是本发明实施例双显示器同步显示控制方法的工作原理示意图。

图5是本发明实施例的双显示器同步显示控制装置的结构示意图。

图6是本发明实施例的双显示器同步显示控制设备的结构示意图。

具体实施方式

下面将详细描述本发明的各个方面的特征和示例性实施例,为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细描述。应理解,此处所描述的具体实施例仅被配置为解释本发明,并不被配置为限定本发明。对于本领域技术人员来说,本发明可以在不需要这些具体细节中的一些细节的情况下实施。下面对实施例的描述仅仅是为了通过示出本发明的示例来提供对本发明更好的理解。

需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

请参见图1,本发明实施例提供了一种双显示器同步显示控制方法,本发明的双显示器同步显示控制方法能够基于双显示器中的主屏点对点的情况下,避免副屏做拉伸或缩放,提升双显示器的显示效果。所述方法包括如下步骤:

S1、获取第一显示设备的当前物理分辨率;

S2、在SurfaceFlinger中,控制第二显示设备申请缓冲内存;

具体地,在本实施例中,SurfaceFlinger是Androidmultimedia的一个部分,在Android的实现中作为一个service,提供系统范围内的surface composer功能,它能够将各种应用程序的2D、3D surface进行组合,接受来自多个来源的数据缓冲区,对它们进行合成,然后发送到显示设备。

S3、控制所述第二显示设备的缓冲内存大小与所述第一显示设备的缓冲内存大小一致;

S4、Windows管理器向所述SurfaceFlinger设置窗口大小时,限制所述第一显示设备及所述第二显示设备不做缩放设置;

S5、在HWC层做硬件图层混合时,限制用户对所述第一显示设备及所述第二显示设备进行缩放设置;

S6、获取当前显示数据的数据输出分辨率;

S7、在kernel层中,依据所述当前显示数据的数据输出分辨率输出到所述第一显示设备及所述第二显示设备显示。

优选地,所述第一显示设备的当前物理分辨率为所述第一显示设备的最大物理分辨率。

优选地,请参阅图2,所述控制所述第二显示设备的缓冲内存大小与所述第一显示设备的缓冲内存大小一致包括:

S31、分别获取所述第一显示设备及所述第二显示设备的最大物理分辨率;

S32、控制所述第一显示设备申请buffer缓冲内存;

S33、控制所述第一显示设备的buffer缓冲内存小于等于所述第一显示设备的最大物理分辨率;

S34、控制所述第二显示设备的buffer缓冲内存小于等于所述第一显示设备的最大物理分辨率。

优选地,所述第一显示设备为主显示设备,所述第二显示设备为副显示设备。

优选地,请参阅图3,所述在kernel层中,依据所述当前显示数据的数据输出分辨率输出到所述第一显示设备及所述第二显示设备显示包括:

S71、对比所述数据输出分辨率与所述第一显示设备的当前物理分辨率的大小;

S72、若所述数据输出分辨率小于所述第一显示设备的当前物理分辨率则正常;

S73、依据所述数据输出分辨率确认所述第一显示设备的输出物理分辨率;

S74、通过设置VOP的寄存参数,依据所述数据输出分辨率做所述第一显示设备及所述第二显示设备的部分显示控制。

具体地,在一个优选地实施例中,请参阅图4,应用向窗口管理器WindowManger申请buffer缓冲器时,控制所述第二显示设备的buffer缓冲器内存大小与所述第一显示设备的buffer缓冲器内存大小一致;在SurfaceFlinger中display device显示设备申请buffer时限制在最大物理分辨率2560x1600;控制WindowManger向SurfaceFlinger设置窗口大小时不做任何缩放设置,并查询所述第一显示设备即主屏的分辩率来设置,如1920x1080;HWC层做硬件图层混合时也不做任何缩放;而后在kernel层VOP驱动中通过偏移参数来做部分显示输出控制。

请参阅图5,明实施例提供了一种双显示器同步显示控制装置,所述装置包括:

第一确认模块1,用于获取第一显示设备的当前物理分辨率;

缓冲申请模块2,用于在SurfaceFlinger中,控制第二显示设备申请缓冲内存;

缓冲内存控制模块3,用于控制所述第二显示设备的缓冲内存大小与所述第一显示设备的缓冲内存大小一致;

第一限制模块4,用于Windows管理器向所述SurfaceFlinger设置窗口大小时,限制所述第一显示设备及所述第二显示设备不做缩放设置;

第二限制模块5,用于在HWC层做硬件图层混合时,限制用户对所述第一显示设备及所述第二显示设备进行缩放设置;

数据输出分辨率获取模块6,用于获取当前显示数据的数据输出分辨率;

显示控制模块7,在kernel层中,依据所述当前显示数据的数据输出分辨率输出到所述第一显示设备及所述第二显示设备显示。

另外,结合图1描述的本发明实施例的双显示器同步显示控制方法可以由双显示器同步显示控制设备来实现。图6示出了本发明实施例提供的双显示器同步显示控制设备的硬件结构示意图。

双显示器同步显示控制设备可以包括处理器401以及存储有计算机程序指令的存储器402。

具体地,上述处理器401可以包括中央处理器(CPU),或者特定集成电路(Application Specific Integrated Circuit,ASIC),或者可以被配置成实施本发明实施例的一个或多个集成电路。

存储器402可以包括用于数据或指令的大容量存储器。举例来说而非限制,存储器402可包括硬盘驱动器(Hard Disk Drive,HDD)、软盘驱动器、闪存、光盘、磁光盘、磁带或通用串行总线(Universal Serial Bus,USB)驱动器或者两个或更多个以上这些的组合。在合适的情况下,存储器402可包括可移除或不可移除(或固定)的介质。在合适的情况下,存储器402可在数据处理装置的内部或外部。在特定实施例中,存储器402是非易失性固态存储器。在特定实施例中,存储器402包括只读存储器(ROM)。在合适的情况下,该ROM可以是掩模编程的ROM、可编程ROM(PROM)、可擦除PROM(EPROM)、电可擦除PROM(EEPROM)、电可改写ROM(EAROM)或闪存或者两个或更多个以上这些的组合。

处理器401通过读取并执行存储器402中存储的计算机程序指令,以实现上述实施例中的任意一种双显示器同步显示控制方法。

在一个示例中,双显示器同步显示控制设备还可包括通信接口403和总线410。其中,如图6所示,处理器401、存储器402、通信接口403通过总线410连接并完成相互间的通信。

通信接口403,主要用于实现本发明实施例中各模块、装置、单元和/或设备之间的通信。

总线410包括硬件、软件或两者,将双显示器同步显示控制设备的部件彼此耦接在一起。举例来说而非限制,总线可包括加速图形端口(AGP)或其他图形总线、增强工业标准架构(EISA)总线、前端总线(FSB)、超传输(HT)互连、工业标准架构(ISA)总线、无限带宽互连、低引脚数(LPC)总线、存储器总线、微信道架构(MCA)总线、外围组件互连(PCI)总线、PCI-Express(PCI-X)总线、串行高级技术附件(SATA)总线、视频电子标准协会局部(VLB)总线或其他合适的总线或者两个或更多个以上这些的组合。在合适的情况下,总线410可包括一个或多个总线。尽管本发明实施例描述和示出了特定的总线,但本发明考虑任何合适的总线或互连。

另外,结合上述实施例中的双显示器同步显示控制方法,本发明实施例可提供一种计算机可读存储介质来实现。该计算机可读存储介质上存储有计算机程序指令;该计算机程序指令被处理器执行时实现上述实施例中的任意一种双显示器同步显示控制方法。

综上所述,本发明实施例提供的双显示器同步显示控制方法、装置、设备及存储介质。本发明通过获取第一显示设备的当前物理分辨率;在SurfaceFlinger中,控制第二显示设备申请缓冲内存;控制所述第二显示设备的缓冲内存大小与所述第一显示设备的缓冲内存大小一致;Windows管理器向所述SurfaceFlinger设置窗口大小时,限制所述第一显示设备及所述第二显示设备不做缩放设置;在HWC层做硬件图层混合时,限制用户对所述第一显示设备及所述第二显示设备进行缩放设置;获取当前显示数据的数据输出分辨率;在kernel层中,依据所述当前显示数据的数据输出分辨率输出到所述第一显示设备及所述第二显示设备显示。因此,本发明的双显示器同步显示控制方法能够基于双显示器中的主屏点对点的情况下,避免副屏做拉伸或缩放,提升双显示器的显示效果。

还需要说明的是,本发明中提及的示例性实施例,基于一系列的步骤或者装置描述一些方法或系统。但是,本发明不局限于上述步骤的顺序,也就是说,可以按照实施例中提及的顺序执行步骤,也可以不同于实施例中的顺序,或者若干步骤同时执行。

以上所述,仅为本发明的具体实施方式,所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,上述描述的系统、模块和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。应理解,本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本发明的保护范围之内。

相关技术
  • 双显示器同步显示控制方法、装置、设备及存储介质
  • 一种车辆平视显示器的控制方法、装置、设备及存储介质
技术分类

06120113195852