用于将显示面分割成多个虚拟显示区域的装置和方法

文档序号:2582577阅读:246来源:国知局
专利名称:用于将显示面分割成多个虚拟显示区域的装置和方法
技术领域
本公开涉及显示并且涉及将单一物理显示器的显示面分割成多个虚拟显示。
背景技术
为了监控既定的应用程序,具有将显示面拆分成多个部分的能力是方便的。例如,用户可能希望使应用程序在显示的一部分中运行,并且使因特网聊天应用程序在另一分区中运行。通过这种方式,用户可以在与一个或多个游戏伙伴或其它朋友运行聊天对话的同时参与在线游戏应用程序。在另一实施例中,用户可能希望在继续监控诸如股票报价、新闻等其它项的同时在一个分区中运行主要的应用程序。存在允许用户创建分区的一些实用程序。不幸的是,应用程序设置优先于分区并 且使得这些现有的实用程序不能适应一些使用情况的方案。例如,当应用程序在“全屏模式”运行时,即在正常情况下应用程序窗口遍及实际显示面的整个区域运行时,应用程序将遮住任何设定的分区,从而不再能看到任何其它的应用程序。换句话说,诸如全屏模式的应用程序设置优先于由现有的分区实用程序创建的任何显示分区设置。因此,对于这样的装置和方法存在需求所述装置和方法能够在不受应用程序干涉的情况下对显示面进行分区,使得在全屏模式下运行的应用程序将保留在设定分区内并且不妨碍在其它分区中显示的其它应用程序。


图I为根据实施方案的装置的框图。图2为根据实施方案的具有两个虚拟显示分区的显示面的图。图3为根据实施方案的具有两个虚拟显示分区的显示面的图,其中一个应用程序在不妨碍另一虚拟显示分区的情况下在全屏模式下运行。图4为根据实施方案的具有两个虚拟显示分区的显示面的图,其中使一个应用程序窗口移动而横过虚拟显示边界。图5为根据实施方案的具有两个虚拟显示分区的显示面的图,其中使光标移动而横过虚拟显示边界。图6为根据实施方案的具有两个虚拟显示分区的显示面的图,其中第二显示提供了虚拟显示分区中的一个的代用件。图7为根据实施方案以呈现出图像撕裂的方式图示出帧成分的流程图。图8为根据实施方案图示出虚拟显示的硬件中断处理和硬件中断模拟的流程图。图9为根据实施方案图示出硬件终端处理和虚拟显示更新的流程图。图10为根据实施方案图示出在光标在各个虚拟显示分区之间移动时光标的处理的流程图。图11为图示出各个实施方案的高级操作的流程图。图12为图示出各个实施方案的高级操作的流程图。
图13为图示出当应用程序在全屏模式下运行时各个实施方案的高级操作的流程图。图14为图示出根据各个实施方案的具有多个虚拟分区的拆分显示的启动的流程图。图15为图示出根据各个实施方案的拆分显示的关闭的流程图。图16为根据实施方案的拆分显示配置应用程序窗口的实施例。图17为根据实施方案可设置在拆分显示配置应用程序窗口中的示例性的显示配置的图。
具体实施例方式本公开提供了一种方法,包括将单一显示器的可视区域分割成至少两个虚拟可 视区域;以及通过操作系统将至少两个虚拟可视区域仿真为至少两个仿真物理显示,使得操作系统表现得好像与两个实际的物理显示器交互一样。所述方法实现了以各种方式对至少两个仿真物理显示的仿真。例如,所述方法为操作系统提供响应于来自操作系统对于显示信息的查询而生成的每个仿真物理显示的显示标识数据(诸如EDID,“扩展显示标识数据”)。在另一实施例中,该方法通过如下操作对至少两个仿真物理显示进行仿真接收来自图形处理单元的中断通知(其中中断对应于单一物理显示器);以及将与至少两个仿真物理显示相对应的至少两组中断报告信息报告给操作系统,好像接收到两个中断一样。操作系统因此“假装”动作,好像是两个物理显示器正在操作一样。该方法进一步提供在至少两个虚拟可视区域中的被仿真为物理显示的一个虚拟可视区域内在全屏模式下显示第一应用程序窗口,其中全屏模式下的应用程序仅在一个虚拟可视区域的周边内扩展。该方法可进一步包括在至少两个虚拟可视区域中的被仿真为另一物理显示的另一虚拟可视区域内显示第二应用程序窗口,而在一个虚拟可视区域内在全屏模式下显示第一应用程序;以及继续在全屏模式下显示第一应用程序而第二应用程序窗口被访问,例如集中关注第二应用程序窗口。该方法包括用于编写显示数据帧的双缓冲方法,其中每个数据帧包括来自至少两个虚拟可视区域中的两个虚拟可视区域的数据。该方法包括将显示数据帧发送到单一显示器。该方法还可以包括确定在至少两个虚拟可视区域的第一虚拟可视区域内显示的显示数据已经改变;以及将来自至少两个虚拟可视区域的第二虚拟可视区域的显示数据复制到第一显示数据帧中。该方法还可以包括接收与将单一显示器的可视区域分割成至少两个虚拟可视区域的显不配置相对应的选择输入。在该实施方案中,该方法响应于所述选择输入而将单一显示器的可视区域分割成至少两个虚拟可视区域。在一些实施方案中,该方法还可以通过如下操作将至少两个虚拟可视区域仿真为至少两个仿真物理显示接收来自操作系统的缓冲数据已准备好在至少两个仿真物理显示中的一个上显示的通知;确定至少两个仿真物理显示中的第一仿真物理显示上的显示数据已经变化;将显示数据未变化但是不在至少两个仿真物理显示中的第一数据帧中的第二仿真物理显示的显示数据复制到第一数据帧中,并且对于第一和第二仿真物理显示在第一数据帧中将标记设定为完成;以及对于第一仿真物理显示在第二数据帧中将标记设定为未完成。仿真的方法还可以包括接收来自操作系统的缓冲数据已准备好在至少两个仿真物理显示中的一个上显示的通知;确定至少两个仿真物理显示中的第二仿真物理显示上的显示数据已经变化;将至少两个仿真物理显示中的显示数据未改变但是不在第二数据帧中的第一仿真物理显示以及第二仿真物理显示这两者的显示数据复制到第二数据帧中,并且对于第一和第二仿真物理显示在第二数据帧中将标记设定为完成;以及对于第二仿真物理显示在第一数据巾贞中将标记设定为未完成。该方法还可以包括光标控制例如,接收与光标位置对应的通知;确定至少两个仿真物理显示中的光标所在的仿真物理显示;以及将相对于光标所在的仿真物理显示的光标相对位置转换为与单一显示器的总显示面对应的物理位置。所公开的实施方案还提供了一种具有至少一个可编程处理器以及与可编程处理器可操作联接的存储器的装置。所述存储器收容由至少一个处理器执行的可执行指令。当至少一个可编程处理器执行可执行指令时,可编程处理器可操作以将单一显示器的可视区域分割成至少两个虚拟可视区域并且通过操作系统将至少两个虚拟可视区域仿真为至少两个仿真物理显示,使得操作系统表现为好像与两个实际的物理显示器交互(interface) 一样。装置的至少一个可编程处理器在执行可执行指令时还可操作以通过将响应于来自操作系统对显示信息的查验而生成的至少两个仿真物理显示中的每个的显示标识数据提供给操作系统而将至少两个虚拟可视区域仿真为至少两个仿真物理显示。至少一个可编程处理器还可操作以通过接收来自装置的图形处理单元的中断通知并且将与至少两个仿真物理显示对应的至少两组中断报告信息报告给操作系统而仿真至少两个仿真物理显示,其中所述中断对应于单一显示器,好像是接收到两个中断一样。所述装置还可包括显示器,所述显示器可操作以在至少两个虚拟可视区域的一个虚拟可视区域内以全屏模式显示第一应用程序窗口,其中全屏模式下的应用程序窗口仅在一个虚拟可视区域的周边内扩展。所述显示器可进一步在至少两个虚拟可视区域的另一虚拟可视区域内显示第二应用程序窗口,而在一个虚拟可视区域内以全屏模式显示第一应用程序。所述显示器随后继续以全屏模式显示第一应用程序窗口,而第二应用程序窗口被访问,例如集中关注第二应用程序窗口。所公开装置的至少一个可编程处理器也可编写显示数据帧,其中每个数据帧包括来自至少两个虚拟可视区域中的两个的数据。所述显示数据帧被发送到单一显示器。至少一个可编程处理也可以确定在至少两个虚拟可视区域的第一虚拟可视区域内显示的显示数据已经变化;以及将来自至少两个虚拟可视区域的第二虚拟可视区域的显示数据复制到第一显示数据帧中。在一些实施方案中,还为拆分显示的配置以及选择如何布置虚拟显示区域提供了用户接口。因此,装置的至少一个可编程处理器还可操作以接收将单一显示器的可视区域分割成至少两个虚拟可视区域的与显示配置对应的选择输入。单一显示器的可视区域随后响应于选择输入而被分割成至少两个虚拟可视区域。在一些实施方案中,装置的至少一个可编程处理器可操作以通过如下操作将至少两个虚拟可视区域仿真为至少两个仿真物理显示接收来自操作系统的缓冲数据已准备好至少两个仿真物理显示中的一个上的显示的通知;确定至少两个仿真物理显示中的第一仿真物理显示上的显示数据已经变化;将至少两个仿真物理显示中的显示数据未改变的第二仿真物理显示的显示数据复制到第一数据帧中,并且对于第二仿真物理显示在第一数据帧中设定标记为完成;以及对于第二仿真物理显示在第二数据帧中设定标记为未完成。可编程处理器还可操作以通过如下操作来仿真物理显示接收来自操作系统的缓冲数据已准备好至少两个仿真物理显示中的一个上的显示的通知;确定至少两个仿真物理显示中的第一仿真物理显示上的显示数据已经变化;复制至少两个仿真物理显示中的显示数据未变化但是不在第一数据帧中的第一仿真物理显示和第二仿真物理显示的显示数据复制到第一数据帧中,并且对于第一和第二仿真物理显示在第一数据帧中将标记设定为完成;以及对于第一仿真物理显示在第二数据帧中将标记设定为未完成。可编程处理器还可操作以通过如下操作来仿真物理显示接收来自操作系统的缓冲数据已准备好至少两个仿真物理显示中的一个上的显示的通知;确定至少两个仿真物理显示中的第二仿真物理显示上的显示数据已经变化;将至少两个仿真物理显示中的显示数据已改变的第二仿真物理显示以及显示数据未改变但是不在第二数据帧中的第一仿真物理显示的显示数据复制到第二数据帧中,并且对于第一和第二仿真物理显示在第二数据帧中设定标记为完成;以及对于第二仿真物理显示在第一数据帧中设定标记为未完成。 至少一个可编程处理器还可操作以实现光标控制,包括接收与光标位置对应的通知;确定至少两个仿真物理显示中的光标所在的仿真物理显示;以及将相对于光标所在的仿真物理显示的光标相对位置转换为与单一显示器的总显示面对应的物理位置。本公开进一步提供了计算机可读存储器,所述计算机可读存储器包含由至少一个处理器执行的可执行指令,当执行可执行指令时使得至少一个处理器执行依照上文所列的实施方案的操作和方法。例如,当执行可执行指令时,可执行指令可使得至少一个处理器将单一显示器的可视区域分割成至少两个虚拟可视区域,并且通过操作系统将至少两个虚拟可视区域仿真为至少两个仿真物理显示,使得操作系统表现得好像与两个实际物理显示器交互一样。计算机可读存储器可以为可用于将可执行指令或程序代码装载到诸如下面要进一步详细说明的其它处理器件或电子器件的任何适当的非易失性存储器,诸如但不限于诸如EEPR0M、快擦写ROM (拇指驱动)、光盘(⑶)、数字视频盘(DVD)等可编程芯片。本文所使用的术语“模块”可以包括在一个或多个可编程处理器、ASIC、DSP、硬布线逻辑或它们的组合上执行的软件和/或固件,并且可存在于电子器件/装置内和/或显示器件内。现在转到附图,在附图中相同的标记表示相同的部件,图I图示出根据实施方案的装置或电子器件。所述装置可以为例如膝上型计算机、台式计算机、诸如但不限于移动电话、电子书阅读器、PDA等手持式电子器件,或利用显示的任何这样的电子器件,而无论显示是处于在电子器件的外部或集成到电子器件内。图I的装置包括中央处理单元CPU 209,以及与CPU209可操作联接的图形处理单元GPU215。CPU 209包括操作系统207以及与操作系统207可操作联接的图形模块201。在一些实施方案中,图形模块201可以实现为核模式驱动器。操作系统207还与也可在CPU 209上执行的配置用户接口 203可操作地联接。配置用户接口 203连同图形模块201 —起形成拆分显示系统200。在各个实施方案中,CPU209和GPU 215可以各种方式来实现。例如,CPU和GPU可包括一个或多个处理磁心并且可以以物理方式位于单独的集成电路上,甚至可位于单独的印制电路板上。然而,在一些实施方案中,CPU 209和GPU 215可以为集成到单个集成电路管芯上的集成电路。CPU和GPU可共享系统存储器,系统存储器还可物理上位于CPU和GPU的外部或位于与CPU和GPU相同的管芯或印制电路板上。系统存储器可以包括帧缓冲器219。然而,在一些实施方案中,GPU 215可具有专用存储器并且可包含帧缓冲器219。在另外的实施方案中,帧缓冲器219可分布在GPU 215专用存储器和由CPU 209与GPU 215共享的系统存储器之间。因此,根据实施方案,帧缓冲器219可存储在任何适当的存储器中,无论是系统存储器还是诸如GPU 215专用存储器之类的专用存储器。帧缓冲器219包括两个主要部分,虚拟显示缓冲组221和物理显示帧缓冲器223。操作系统207将逻辑接口 213提供给帧缓冲器219,然而经由接口 217在GPU215和帧缓冲器219之间发生实际的物理数据传送。根据实施方案,GPU 215将数据提供给虚拟显示缓冲器组221,其中虚拟显示缓冲器分别对应于诸如物理显示器101之类的物理显示器的虚拟显示区域。由虚拟缓冲器221提供给物理显示帧缓冲器223的数据为显示数据,即,对应于虚拟显示的显示数据。物理显示缓冲器223对显示数据进行缓冲并且将显示 数据发送到物理显示器101,以便在虚拟显示区域109和111上进行显示。物理显示缓冲器223被分割为两个帧,即帧A和帧B,其中帧A和B中的每个均包含来自两个虚拟显示的显示数据。也就是说,帧A将包含虚拟显示区域#1和虚拟显示区域#2的显示数据。同样,帧B将包含虚拟显示区域#1和虚拟显示区域#2的显示数据。物理显示器101为显示器件并且可以为例如电视机、计算机监控器或集成到诸如膝上型计算机、手持式计算器件、移动电话、PDA等另一电子器件中的显示器。显示器件可以为例如CRT、IXD平板、LED平板、等离子体屏等,即任何适当的显示技术。物理显示器101与GPU 215可操作地联接,并且还与CPU 209可操作地联接(例如经由GPU 215)。物理显示器101可操作以显示与应用程序和/或诸如但不限于JPG/JPEG、GIF、MPEG等各种文件类型的电子文件、和/或由诸如但不限于doc”、“. pdf”等文件“扩展名”确定的文件有关的信息和图像。物理显示器101可以包括能对与在其屏幕空间上显示的图像有关的图像品质设置进行调节或配置的存储器和/或逻辑。物理显示器101包括接收并且响应诸如但不限于“EDID”信息(“扩展显示标识数据”)之类的信息的查询的能力。如图I中接近顶部所示,物理显示器101包括物理显示可视面100。根据实施方案,通过边界107将物理显示可视面100分割为虚拟显示区域#1109和虚拟显示区域#2111。因此,虚拟显示区域为物理显示器101的可视面区域的分割部分。虚拟显示区域还可被视为与“虚拟显示”即,下面将进一步描述的仿真物理显示相对应。两个虚拟显示区域均具有对应的虚拟显示缓冲器,即,分别为虚拟显示缓冲器#1和虚拟显示缓冲器#2。尽管在图I所示的示例性实施方案中,物理显示可视面100仅被分割成两个虚拟显示区域,但是根据实施方案物理显示可视面100可被分割成任何期望数量的虚拟显示区域。因此,帧缓冲器219可在虚拟显示缓冲器组221内具有I至N个虚拟显示缓冲器。如图I所示,在每个显示配置内确定虚拟显示缓冲器组221。如上所述,显示配置可以是用户利用配置用户接口 203确定的。虚拟显示缓冲器组221将显示数据提供给物理显示帧缓冲器223,物理显示帧缓冲器223将虚拟显示缓冲器数据合并到显示数据的单帧中并且通过接口 225将它们提供给物理显不器101。根据各个实施方案,图形模块201提供关于CPU 209的可视化以及关于GPU 215的物理显示映射,如逻辑可视化/物理显示映射边界211所示。在操作中,操作系统207经由逻辑接口 213将虚拟显示区域109和111觉察(perceive)为与CPU可操作联接的多个物理显示器。然而,从GPU215的观点看,仅存在单个物理显示器,即物理显示器101,并且该物理显示器与整个系统可操作地联接。图形模块201在操作系统207和GPU 215之间作接口以处理中断并且在它们之间提供信息,以使得操作系统表现得好像其与多个物理显示器交互一样。图形模块201和GPU 215之间的交互使GPU能够正常地表现为好像仅连接单个物理显示器一样,然而,实际上是来自虚拟显示区域的信息转回与物理显示器101的物理显示可视面100相对应的信息以使该信息能够提供给GPU 215的情况。换句话说,逻辑边界211的物理显示映射部分为图形模块201和GPU 215之间的接口。下面的图从图2至图6用于理解各个实施方案的操作。例如,图2图示出了物理显示器101的物理显示可视面100如何分割成两个虚拟显示区域109和111。虚拟显示区域由垂直边界107限定。如图2所示,各个应用程序窗口可以被显示并且在各个虚拟显示 区域内操作。例如,显示出虚拟显示区域109被显示具有应用程序窗口 I至3,而虚拟显示区域111被显示具有应用程序窗口 4至6。此外,图2示出的是鼠标光标105,其由本文所述的方法和装置处理并且下面将进行详细说明。转到图3,显示为应用程序窗口 2处于全屏模式,在该实施例中全屏模式为“独占模式”。也就是说,应用程序窗口 2扩展以占据虚拟显示区域109的整个显示区域或屏幕空间,并且不显示任何边界。然而,不同于现有的分割实用程序,本文公开的各个实施方案使应用程序窗口 #2能够在虚拟显示区域109内处于全屏模式,而不妨碍或遮住其它的虚拟显示区域111。因此,如图3所示,在应用程序窗口 #2在第一虚拟显示区域109内处于全屏模式的同时,存在于虚拟显示区域111内的应用程序窗口 4至6仍可被用户被看到并且仍可成为关注焦点且被操作。使窗口成为关注焦点包括例如这样的操作在所述操作之后,计算器件或电子器件的用户通常通过将鼠标光标在屏幕空间上的区域内移动并且点击来进行选择,即“选择”应用程序窗口,从而查看在应用程序窗口内显示的信息或者继续进行一些其它与应用程序或应用程序窗口有关的操作(诸如但不限于调整应用程序窗口的尺寸或者移动应用程序窗口)。在另一实施例中,应用程序窗口还可被置为全屏模式,其中应用程序窗口的边界仍可被显示并且沿着虚拟显示区域的周边延伸。在此情况下,应用程序窗口也不妨碍相邻的虚拟显示区域或在相邻的虚拟显示区域内显示的任何应用程序。也就是说,“全屏模式”可以为例如如在例如应用程序屏幕填满显示器的可视区域并且不具有边界的游戏(或其它)应用程序中使用的“独占模式”,或应用程序窗口在显示的可视区域内完全扩充但是仍可显示出应用程序窗口周边周围的边界的全屏窗口应用程序。图4图示出各个实施方案的进一步的能力。在图4中,应用程序窗口 2被显示为移动而部分横过两个虚拟显示区域109和111或者在两个虚拟显示区域109和111之间移动。从图4中可以看出,应用程序窗口 #2移动到虚拟显示区域111中不会妨碍各个应用程序窗口在虚拟显示区域111内的操作。图I所示的装置在操作系统207和GPU 215之间进行必要的转换。也就是说,图形模块201采取适当的措施以使诸如应用程序窗口 #2之类的对象越过边界107,从而使GPU 215接收适当的物理显示映射并且使操作系统207接收适合于与虚拟显示区域109和111相对应的两个仿真物理显示的适当的信息。图5图示出鼠标光标105在两个虚拟显示区域109和111之间移动的方案。在图5中,显示出在光标105从一个虚拟显示区域移动至另一虚拟显示区域时光标105越过边界
107。各个实施方案同样处理这样的鼠标光标移动方案,下面将进行进一步讨论。图6示出了另一使用情况方案。在图6中,物理显示器101与第二物理显示器601结合使用。第二物理显示器601包括物理显示器101上显示出的桌面或虚拟显示区域109的代用件。如图6所示,物理显示器101上的应用程序窗口 #2可移动而越过虚拟显示区域边界107。然而,相对于物理显示器601上显示出的虚拟显示区域109的代用件,物理显示器101上的虚拟显示区域边界107对应于物理显示器601的实际物理显示可视面的端,以使应用程序窗口 #2移动而离开可视显示区域,即在监控器窗口之外。通过图7至图15中提供的流程图来最佳地理解各个实施方案的操作以及实施方案如何处理前面的图中所示的各种方案,现在将进行讨论。 为了实现各个实施方案的操作,图形模块201执行各种显示管理任务,包括目标管理、EDID管理、连接管理、模式列表管理、显示属性管理以及逆拓扑管理,所述逆拓扑管理为诸如Vsync中断之类的中断的管理。根据实施方案图形模块必须执行的其它任务与渲染管理有关。因此,在众多其它事项中,根据实施方案的图形模块必须执行显示渲染检测、可显示帧成分以及包括帧缓冲器、命令缓冲器及成分背景管理以及光标管理在内的资源管理。因此,图形模块201保持从物理显示器101获得的一个或多个虚拟显示并且将与虚拟显示有关的信息报告给操作系统207。虚拟显示或者与虚拟显示区域对应的仿真物理显示被赋予与实际的物理显示器相同的属性,例如EDID、连接性、视频输出类型和中断。图形模块201可将专用存储器块作为将在物理显示器101上显示的最终图像的交换链保存在系统存储器或专用存储器中。图形模块201迫使仿真物理显示与物理显示器101共享相同的同步信号(Vsync)。例如,在一些实施方案中,图形模块201可与桌面窗口管理器(DWM)交互。例如,当桌面窗口管理器为关闭时,图形模块可在专用存储器块中构建帧以便在物理显示器101上显示。显示数据帧的构建可以基于通过例如“present () ”或“flip () ”对两个仿真物理显示上的表面的新渲染请求的检测。对于桌面窗口管理器打开的情况,图形模块201可将同步信号(Vsync)报告给两个虚拟显示的操作系统。当翻转请求接收到DWM打开或者全屏模式时,对于虚拟显示区域(即,仿真物理显示)中的任一个,图形模块201执行从仿真物理显示的帧到交换链的一个帧的合成并且在物理显示器101上显示出新构建的帧。因为图形模块201确保了虚拟显示区域的应用程序独立性并且保持该状态而无论来自可能在各个虚拟显示区域内运行的各个应用程序的任何配置变化如何,所以各个实施方案对于应用程序而言是透明的。为了保持用户感受的连续性和稳定性,如果配置在由用户制作的各个虚拟显示区域上变化,则图形模块201根据需要来采取措施。例如,通过图形模块201来处理桌面的再定位或显示器上分辨率的变化。转到图7,该图示出了依照实施方案的帧合成方法。帧合成方法实质上为对于虚拟显示区域的特定必要性而调整的双缓冲操作。例如,在701中,操作系统具有准备显示在一个虚拟显示区域上的缓冲数据,在703中,图形模块接收来自操作系统的情况如此的通知。双缓冲方案将物理显示帧缓冲器223划分为两个部分,即帧A和帧B。因此,如果待显示的下个可视帧为如705中所示的帧A,则在707中确定是否准备好显示左屏面或右屏面的判定。从707延伸的流程图的两侧是对称的,因为,如果一个虚拟显示区域存在新渲染帧,则相对的或其它的虚拟显示区域表面数据被复制并且相对于该特定虚拟显示区域帧被标记为完成。例如,如果在711所示的帧A中,右屏面表面存在新渲染帧,则如727所示仅复制左屏面表面数据。然后,相对于如729中所示的帧A中的左屏面信息,缓冲器被标记为完成。因为如731所示必须更新帧B,所以相对于左屏面帧B未被标记。然后,方法继续进行到块733至743,其中相对于操作系统207响应中断。图8示出了依照实施方案的仿真物理显示的硬件中断处理和硬件中断模拟。例如,GPU 215可发送硬件中断,如801所示。在所述的一些实施方案中,该中断可以为Vsync中断。如块803所示,图形模块201得到与GPU的控制器ID相关联的目标ID。图形模块201随后将得到如805所示的与控制器ID相关联的源ID,并且在807中将判定特定源是否正在参与拆分显示模式。如果为否,则图形模块201将取回的目标ID以及块817中所示的表面地址报告给OS,并且将在819中将控制返回到OS。如果807中的源正在参与拆分显示模式,则图形模块201查验任何附加的源是否正在参与如809中所示的拆分显示模式。如果为是,则图形模块将搜索正在参与如811所示的拆分显示的下个源ID和目标ID的阵列。图形模块随后将找到的源ID作为取回如813所示的相关表面地址的索引。表面地址可从例如可存储于系统存储器中的表831中获得。当正在参与拆分显示的所有源已由809确定时,图形模块201将如框817和819所示的报告给操作系统。因此,图形模块201模拟仿真物理显示对操作系统的中断,以使操作系统将不能偶然得出硬件未正确运行的结论并且不能偶然地将GPU 215置为复位模式。应当理解的是,在图8中,目标ID可被视为作为与物理显示器对应的ID的监控器ID。因此,图形模块201必须针对虚拟显示区域来模拟目标ID,使得操作系统将虚拟显示区域视为单独的物理显示器。源ID对应于诸如虚拟显示区域109和111等虚拟显示区域或虚拟桌面。图9示出了当桌面窗口管理器(DWM)未运行时合成的处理。图形模块201通过诸如Vsync中断回调之类的硬件中断用GPU 215来创建回调901。在此情况下,当中断发生时,在903中图形模块201将查验两个虚拟显示的两个新内容状态。如果两个虚拟显示区域909均发生变化,则图形模块201将两个虚拟显示区域复制到物理显示帧缓冲器223中的第一显示帧A中。如果任一虚拟显示区域909发生变化,则图形模块201仅将特定虚拟显示区域复制到物理显示帧缓冲器223中的第一显示帧A中。然而,图形模块不需要将任何信息报告给操作系统207。 图10示出了与例如图5所示的方案对应的光标管理的方法,其中光标105移动而越过虚拟显示区域边界107。在此情况下,图形模块201判定光标是否位于左屏面或右屏面上,也就是,图形模块201判定出鼠标光标存在于如1005所示的哪个虚拟显示上。鼠标光标的位置从虚拟显示区域上的相对位置转换为与整个物理显示器101的物理显示可视面100对应的物理显示位置。该信息随后提供给如1009所示的GPU 215。图11-13总结了各个实施方案的操作。如图11所示,块1101,单一物理显示器的可视区域可分割为至少两个虚拟可视区域。各个实施方案的图形模块201随后可以将虚拟可视区域仿真为相对于操作系统207的物理显示。图12示出了系统200可以包括配置用户接口 203。因此,在1201中,用户接口 203可被设置以用于虚拟显示的配置。在1203中,图形模块201可经由逻辑接口 205接收来自配置用户接口 203的显示布置的用户选择输入。如1205中所示,图形模块201将虚拟显示数据映射到图形模块201和GPU 215之间的硬件接口上的物理显示器101上。图形模块201随后将处理如1209所示的越过虚拟显示部的图形移动。图13示出了当应用程序显示为处于全屏模式时虚拟显示区域的操作。在1301中,第一应用程序可在第一虚拟可视区域内以全屏模式显示。在第二虚拟可视区域中为第二应用程序设置入口,而第一应用程序在如1302所示的第一虚拟可视区域内以全屏模式显不。图14和图15为示出配置用户接口 203的进一步操作并且示出物理显示器101上的拆分显示模式的启动和关闭的流程图。在1401中,配置用户接口 203可将用户希望进入拆分显示模式的通知发送给图形模块201。在1403中,图形模块201将拆分显示启动序列的开始通知给配置用户接口 203。这可通过利用例如“暂停”事件来实现。在1405中,图形模块203保存拆分显示数据并且通知操作系统207,原始显示,即物理显示器101被分离并且现在两个新显示被关联。两个新显示实际上为物理显示器101中的图I所示的虚拟显示区域109和111的仿真物理显示。操作系统随后查询如1407所示的显示信息,并且图形模块201生成两个虚假的EDID并且将两个虚假的EDID提供给操作系统207。操作系统207随后查询监控器模式,图形模块201为操作系统207提供如1409所示的监控器源模式。在 1411中,操作系统207查询模式列表,图形模块201为操作系统207提供支持模式列表。在1413中,操作系统207将该模式设定在两个显示上,即,与对应于两个虚拟显示区域109和111的两个仿真物理显示对应。在1415中,图形模块201利用例如“继续执行”事件将拆分显示序列结束通知给配置用户接口 203。在1417中,操作系统207开始在两个虚拟显示区域上进行渲染,图形模块201在单一物理显示器101上合成两个独立的桌面。图15为示出了拆分模式关闭的操作的另一流程图。图形模块201通过将两个虚假显示即与两个虚假EDID对应的两个仿真物理显示分离并且现在如1505所示原始物理显示器101联接通知给操作系统207来关闭拆分显示模式。图形模块201为操作系统207提供如块1509至1515所示所需的信息,以使操作系统可再次在如1517所示的物理显示器101的物理显示可视面100上开始进行渲染。因此,依照各个实施方案,在一些实施方案中,图形模块201可实现为核模式驱动器,在操作系统207和图形处理单元215 (以及诸如芯组等相关图形硬件)之间提供接口,以使操作系统207觉察到多个物理显示器的操作,即,图形处理单元以及相关的图形硬件相对于其特定操作仅觉察到单一物理显示器。因此,物理显示器可被分割为如上所述的各个虚拟显示区域。图16示出了可用作配置用户接口 203的部分的示例性应用程序窗口。应用程序窗口 1600允许用户通过例如下拉菜单1603来挑选显示布局。配置用户接口 203的应用程序窗口 1600可提供物理显示可视面1601的可视图形并且示出诸如物理显示划分边界1609之类的选定虚拟显示区域划分。用户随后可利用光标1607来点击确认并且如图14中的块1401所示进入拆分显示模式,其中配置用户接口 203将拆分显示模式的通知发送给图形模块201。因此,图14的块1401所示的动作可以是在配置用户接口 203的应用程序窗口 1600内用户动作的结果。应用程序窗口 1600是用于解释可能的用户接口的简化的示例性应用程序窗口。然而,应用程序窗口 1600应当被理解为仅为示例性的,因此可在所能理解的各个实施方案内使用应用程序窗口 1600的其它各种布局和配置。例如,下拉菜单1603可提供物理显示可视区域的配置的文本描述,然而,下拉菜单还可提供如图17所示的配置类型1700所示的配置类型的符号。如图17所示,各种配置类型1700可被提供而作为应用程序窗口 1600的下拉菜单1603的部分。因此,用户可仅选择下拉菜单并且从配置类型1700的配置选项中选择出适当的配置。当然,配置类型1700不应被视为包含一切的组,而是应被视为仅示例了各个实施方案可用的一些可能的配置。也就是,尽管图17所示的示例性的配置类型1700示出了最多四个虚拟显示区域,可存在大于四个的更多虚拟显示区域。此外,图17所示的虚拟显示区域由垂直位置边界和水平位置边界限定。然而,虚拟显示区域不需仅由水平或垂直边界限定,而是可由各种几何形状和图案限定,这些形状和图案诸如但不限于三角形、矩形、圆形或其它形状的虚拟显示区域边界图案。因此,本文已经公开了将显示面分割为多个虚拟显示区域的操作的装置和方法。 与本文所公开的实施方案等同的其它变型例对于本领域技术人员而言将是显而易见的,并且这些变型例仍与由随附的权利要求书限定的实施方案的范围相一致。
权利要求
1.ー种方法,包括 将单ー显示器的可视区域分割为至少两个虚拟可视区域;以及通过操作系统将所述至少两个虚拟可视区域仿真为至少两个仿真物理显示,使得所述操作系统表现得好像与两个实际的物理显示器交互一祥。
2.如权利要求I中所述的方法,其中,将所述至少两个虚拟可视区域仿真为至少两个仿真物理显示包括 将响应于来自所述操作系统对显示信息的查询而生成的所述至少两个仿真物理显示中的每个的显示标识数据提供给所述操作系统。
3.如权利要求I中所述的方法,其中,将所述至少两个虚拟可视区域仿真为至少两个仿真物理显示包括 接收来自图形处理单元的中断通知,其中所述中断对应于所述单ー显示器;以及将与所述至少两个仿真物理显示对应的至少两组中断报告信息报告给所述操作系统,好像接收到两个中断一祥。
4.如权利要求I中所述的方法,包括 在所述至少两个虚拟可视区域的ー个虚拟可视区域内以全屏模式显示第一应用程序窗ロ,其中处于所述全屏模式的应用程序窗ロ仅在所述ー个虚拟可视区域的周边内扩展。
5.如权利要求4所述的方法,包括 在所述至少两个虚拟可视区域的另一虚拟可视区域内显示第二应用程序窗ロ,而在所述ー个虚拟可视区域内以所述全屏模式显示所述第一应用程序窗ロ ;以及 在所述第二应用程序窗ロ成为关注焦点的同时继续以所述全屏模式显示所述第一应用程序窗ロ。
6.如权利要求I所述的方法,包括 合成显示数据帧,其中每个数据帧包括来自所述至少两个虚拟可视区域中的两个的数据;以及 将所述显示数据帧发送给所述单ー显示器。
7.如权利要求6所述的方法,包括 确定在所述至少两个虚拟可视区域的第一虚拟可视区域内显示的显示数据已经变化;以及 将来自所述至少两个虚拟可视区域中的第二虚拟可视区域的显示数据复制到第一显示数据帧中。
8.如权利要求I所述的方法,包括 接收与将所述单ー显示器的可视区域分割为所述至少两个虚拟可视区域的显示配置对应的选择输入;以及 其中,将单ー显示器的可视区域分割为至少两个虚拟可视区域是对所述选择输入的响应。
9.如权利要求I所述的方法,其中,将所述至少两个虚拟可视区域仿真为至少两个仿真物理显示包括 接收来自所述操作系统的缓冲数据已准备好在所述至少两个仿真物理显示中的ー个上显示的通知;确定所述至少两个仿真物理显示中的第一仿真物理显示上的显示数据已经变化;将所述至少两个仿真物理显示中的第二仿真物理显示的显示数据复制到第一数据帧中,其中所述第二仿真物理显示的显示数据不变,并且其中所述第二仿真物理显示的所述显示数据不存在于所述第一数据帧中,并且对于所述第一和第二仿真物理显示在所述第一数据巾贞中将标记设定为完成;以及 对于所述第一仿真物理显示在第二数据帧中将标记设定为未完成。
10.如权利要求I所述的方法,其中,将所述至少两个虚拟可视区域仿真为至少两个仿真物理显示包括 接收来自所述操作系统的缓冲数据已准备好在所述至少两个仿真物理显示中的ー个上显示的通知; 确定所述至少两个仿真物理显示中的第一仿真物理显示上的显示数据未变化并且不存在于第二数据帧中; 复制所述第一仿真物理显示以及第ニ仿真物理显示这两者的显示数据,其中所述第二仿真物理显示的显示数据已变化,将所述第一和第二仿真物理显示的所述显示数据复制到所述第二数据帧中,并且对于所述第一和第二仿真物理显示在所述第二数据帧中将标记设定为完成;以及 对于所述第二仿真物理显示,在第一数据帧中将标记设定为未完成。
11.如权利要求I所述的方法,其中,将所述至少两个虚拟可视区域仿真为至少两个仿真物理显示包括 接收来自所述操作系统的缓冲数据已准备好在所述至少两个仿真物理显示中的ー个上显示的通知; 确定所述至少两个仿真物理显示中的第一仿真物理显示的显示数据已经变化,并且来自第二仿真物理显示的第二显示数据未变化并且存在于第一数据帧中; 将所述第一仿真物理显示的显示数据复制到所述第一数据帧中,并且对于所述第一仿真物理显示在所述第一数据帧中将标记设定为完成;以及 对于所述第一仿真物理显示在第二数据帧中将标记设定为未完成。
12.如权利要求I所述的方法,其中,将所述至少两个虚拟可视区域仿真为至少两个仿真物理显示包括 接收与光标位置对应的中断; 确定所述至少两个仿真物理显示中的所述光标所在的仿真物理显示;以及将相对于所述光标所在的所述仿真物理显示的所述光标的相对位置转换为与所述单一显示器的总显示面对应的物理位置。
13.ー种装置,包括 至少ー个可编程处理器;以及 存储器,其与所述可编程处理器可操作地联接,其中所述存储器收容由所述至少ー个处理器执行的可执行指令,其中所述至少一个可编程处理器在执行所述可执行指令时可进行如下操作 将单ー显示器的可视区域分割为至少两个虚拟可视区域;以及 通过操作系统将所述至少两个虚拟可视区域仿真为至少两个仿真物理显示,以使所述操作系统表现得好像与两个实际的物理显示器交互一祥。
14.如权利要求13所述的装置,其中,所述至少一个可编程处理器在执行所述可执行指令时可进行如下操作 通过将响应于来自所述操作系统对于显示信息的查询而生成的所述至少两个仿真物理显示中的每个的显示标识数据提供给所述操作系统,将所述至少两个虚拟可视区域仿真为至少两个仿真物理显示。
15.如权利要求13所述的装置,其中,所述至少一个可编程处理器在执行所述可执行指令时可操作以通过如下操作将所述至少两个虚拟可视区域仿真为至少两个仿真物理显示 接收来自图形处理单元的中断通知,其中所述中断对应于所述单ー显示器;以及将与所述至少两个仿真物理显示对应的至少两组中断报告信息报告给所述操作系统,好像接收到两个中断一祥。
16.如权利要求13所述的装置,进ー步包括 显示器,其与所述至少一个处理器可操作地联接,其中所述显示器可操作以在所述至少两个虚拟可视区域中的ー个虚拟可视区域内以全屏模式显示第一应用程序窗ロ,其中处于所述全屏模式的所述应用程序窗ロ仅在所述ー个虚拟可视区域的周边内扩展。
17.如权利要求16所述的装置,其中所述显示器可进行如下操作 在所述至少两个虚拟可视区域中的另一虚拟可视区域内显示至少第二应用程序窗ロ,而在所述ー个虚拟可视区域内以所述全屏模式显示所述第一应用程序窗ロ。
18.如权利要求13所述的装置,其中,所述至少一个可编程处理器在执行所述可执行指令时可进行如下操作 合成显示数据帧,其中每个数据帧包括来自所述至少两个虚拟可视区域中的两个的数据;以及 将所述显示数据帧发送给所述单ー显示器。
19.如权利要求18所述的装置,其中,所述至少一个可编程处理器在执行所述可执行指令时可进行如下操作 确定所述至少两个虚拟可视区域中的第一虚拟可视区域内显示的显示数据已经变化;以及 将来自所述至少两个虚拟可视区域中的第二虚拟可视区域的显示数据复制到第一显示数据帧中。
20.如权利要求13所述的装置,其中,所述至少一个可编程处理器在执行所述可执行指令时可进行如下操作 接收与将所述单ー显示器的可视区域分割为所述至少两个虚拟可视区域的显示配置对应的选择输入;以及 其中,将单ー显示器的可视区域分割为至少两个虚拟可视区域是对所述选择输入的响应。
21.如权利要求13所述的装置,其中,所述至少一个可编程处理器在执行所述可执行指令时可操作以通过如下操作将所述至少两个虚拟可视区域仿真为至少两个仿真物理显示接收来自所述操作系统的缓冲数据已准备好在所述至少两个仿真物理显示中的ー个上显示的通知; 确定所述至少两个仿真物理显示中的第一仿真物理显示上的显示数据已经变化; 将所述至少两个仿真物理显示中的第二仿真物理显示的显示数据复制到第一数据帧中,其中所述第二仿真物理显示的显示数据不变化,并且其中,所述第二仿真物理显示的显示数据不存在于所述第一数据帧中,并且对于所述第二仿真物理显示在所述第一和第二数据中贞中将标记设定为完成;以及 对于所述第一仿真物理显示在第二数据帧中将标记设定为未完成。
22.如权利要求13所述的装置,其中,所述至少一个可编程处理器在执行所述可执行指令时可操作以通过如下操作将所述至少两个虚拟可视区域仿真为至少两个仿真物理显示 接收来自所述操作系统的缓冲数据已准备好在所述至少两个仿真物理显示中的ー个上显示的通知; 确定所述至少两个仿真物理显示中的第一仿真物理显示上的显示数据未变化并且不存在于第一和第二数据帧中的第二数据帧中; 复制所述第一仿真物理显示和第二仿真物理显示这两者的显示数据,其中所述第二仿真物理显示的显示数据已变化,将第一和第二仿真物理显示的所述显示数据都复制到所述第二数据帧中,并且对于所述第一和第二仿真物理显示在所述第二数据帧中将标记设定为完成;以及 对于所述第二仿真物理显示在第一数据帧中将标记设定为未完成。
23.如权利要求13所述的装置,其中,所述至少一个可编程处理器在执行所述可执行指令时可操作以通过如下操作将所述至少两个虚拟可视区域仿真为至少两个仿真物理显示 接收来自所述操作系统的缓冲数据已准备好在所述至少两个仿真物理显示中的ー个上显示的通知; 确定所述至少两个仿真物理显示中的第一仿真物理显示上的显示数据已经变化,并且来自第二仿真物理显示的第二显示数据未变化并且存在于第一数据帧中; 将所述第一仿真物理显示的显示数据复制到所述第一数据帧中,并且对于所述第一仿真物理显示在所述第一数据帧中将标记设定为完成;以及 对于所述第一仿真物理显示在第二数据帧中将标记设定为未完成。
24.如权利要求13所述的装置,其中,所述至少一个可编程处理器在执行所述可执行指令时可操作以通过如下操作将所述至少两个虚拟可视区域仿真为至少两个仿真物理显示 接收与光标位置对应的通知; 确定所述至少两个仿真物理显示中的所述光标所在的仿真物理显示;以及 将相对于所述光标所在的所述仿真物理显示的所述光标的相对位置转换为与所述单一显示器的总显示面对应的物理位置。
25.一种计算机可读存储器,包括 由至少ー个处理器执行的可执行指令,当被执行时所述可执行指令使得所述至少ー个处理器 将单ー显示器的可视区域分割成至少两个虚拟可视区域;以及 通过操作系统将所述至少两个虚拟可视区域仿真为至少两个仿真物理显示,以使所述操作系统表现得好像与两个实际的物理显示器交互一祥。
26.如权利要求25所述的计算机可读存储器,其中所述可执行指令当被执行时进ー步使得一个或多个处理器 通过将响应于来自所述操作系统的显示信息的查询而生成的所述至少两个仿真物理显示中的每个的显示标识数据提供给所述操作系统,将所述至少两个虚拟可视区域仿真为至少两个仿真物理显示。
27.如权利要求25所述的计算机可读存储器,其中,所述可执行指令当被执行时进ー步使得所述ー个或多个处理器通过如下操作将所述至少两个虚拟可视区域仿真为至少两个仿真物理显示 接收来自图形处理单元的中断通知,其中所述中断对应于所述单ー显示器;以及 将与所述至少两个仿真物理显示对应的至少两组中断报告信息报告给所述操作系统,好像接收到两个中断一祥。
28.如权利要求25所述的计算机可读存储器,其中,所述可执行指令当被执行时进ー步使得所述ー个或多个处理器 在显示器上的所述至少两个虚拟可视区域的ー个虚拟可视区域内以全屏模式显示第ー应用程序窗ロ,其中处于所述全屏模式的所述应用程序仅在所述ー个虚拟可视区域的周边内扩展。
29.如权利要求28所述的计算机可读存储器,其中,所述可执行指令当被执行时进ー步使得所述ー个或多个处理器 在所述显示器上的所述至少两个虚拟可视区域中的另一虚拟可视区域内显示第二应用程序窗ロ,而在所述ー个虚拟可视区域内以所述全屏模式显示所述第一应用程序窗ロ。
30.如权利要求25所述的计算机可读存储器,其中,所述可执行指令当被执行时进ー步使得所述ー个或多个处理器 接收与将所述单ー显示器的可视区域分割成所述至少两个虚拟可视区域的显示配置对应的选择输入;以及 其中将单ー显示器的可视区域分割成至少两个虚拟可视区域是对所述选择输入的响应。
全文摘要
将单一显示器的可视区域分割成至少两个虚拟可视区域并且通过操作系统将至少两个虚拟可视区域仿真为至少两个仿真物理显示以使操作系统表现得好像与至少两个实际的独立物理显示器交互一样的方法和装置。所述方法为操作系统提供响应于来自操作系统的查询而生成的每个仿真物理显示的显示标识数据(诸如“EDID”)。所述方法和装置还接收中断通知(其中中断对应于单一物理显示器),并且将与至少两个仿真物理显示对应的至少两组中断报告信息报告给操作系统,好像接收到两个中断一样。操作系统因此“假装”好像两个物理显示器正在运行中一样动作。
文档编号G09G5/00GK102782747SQ201080057011
公开日2012年11月14日 申请日期2010年12月10日 优先权日2009年12月15日
发明者伊南·蒋, 沙赫里亚·佩泽什基, 钱明伟 申请人:Ati科技无限责任公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1