CN117519860A - 应用窗口显示方法、装置及相关设备 - Google Patents
应用窗口显示方法、装置及相关设备 Download PDFInfo
- Publication number
- CN117519860A CN117519860A CN202210912641.9A CN202210912641A CN117519860A CN 117519860 A CN117519860 A CN 117519860A CN 202210912641 A CN202210912641 A CN 202210912641A CN 117519860 A CN117519860 A CN 117519860A
- Authority
- CN
- China
- Prior art keywords
- image data
- description information
- window
- region description
- application
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 69
- 239000000872 buffer Substances 0.000 description 46
- 238000009877 rendering Methods 0.000 description 16
- 238000004891 communication Methods 0.000 description 9
- 238000010586 diagram Methods 0.000 description 8
- 230000006870 function Effects 0.000 description 5
- 230000003139 buffering effect Effects 0.000 description 4
- 238000004590 computer program Methods 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 4
- 230000001360 synchronised effect Effects 0.000 description 4
- 230000003993 interaction Effects 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 239000007787 solid Substances 0.000 description 2
- 238000003491 array Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000004927 fusion Effects 0.000 description 1
- 238000003384 imaging method Methods 0.000 description 1
- 230000000873 masking effect Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/451—Execution arrangements for user interfaces
- G06F9/452—Remote windowing, e.g. X-Window System, desktop virtualisation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0484—Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- User Interface Of Digital Computer (AREA)
Abstract
一种应用窗口显示方法,包括:获取客户机操作***GuestOS中应用窗口的图像数据和该图像数据的区域描述信息,该区域描述信息用于指示应用窗口的显示位置,从而根据该图像数据与区域描述信息的关联关系执行图像处理,得到图像处理结果,并输出该图像处理结果,该图像处理结果用于显示该应用窗口。由于在显示应用窗口的过程中,根据应用窗口的图像数据与该图像数据的区域描述信息之间的关联关系执行图像处理,并得到图像处理结果,这使得在拖动该应用窗口的过程中,在根据图像处理结果显示该应用窗口的每帧图像数据时,能够仅对应于一个显示位置,不会对应于多个显示位置,以此可以尽可能避免应用窗口在拖动过程中出现拖影的问题,提高用户体验。
Description
技术领域
本申请涉及虚拟化技术领域,尤其涉及一种应用窗口显示方法、装置及相关设备。
背景技术
随着虚拟化技术的发展,在物理机器中通常可以运行虚拟机(virtual machine,VM),其中,物理机器中安装的操作***可以称之为宿主机操作***(host operatingsystem,HostOS),虚拟机的操作***可以称之为客户机操作***(guest operatingsystem,GuestOS)。
目前,通常可以基于窗口区域获取技术,获取GuestOS中一个或者多个应用窗口相关的描述信息,并结合该描述信息以及GuestOS中应用窗口的图像进行送显,从而实现在HostOS中显示GuestOS中应用的窗口。
但是,在GuestOS中应用窗口被拖动的过程中,容易存在拖影,如图1所示。因此,如何尽可能避免GuestOS中的应用窗口在被拖动的过程中产生拖影,成为亟需解决的重要问题。
发明内容
本申请提供了一种应用窗口显示方法、装置、计算设备、计算机可读存储介质及计算机程序产品,用以实现尽可能避免GuestOS中的应用窗口在被拖动的过程中产生拖影,提高用户体验。
第一方面,本申请提供一种应用窗口显示方法,该方法包括:获取客户机操作***GuestOS中应用窗口的图像数据和该图像数据的区域描述信息,该区域描述信息用于指示应用窗口的显示位置,从而根据该图像数据与区域描述信息的关联关系执行图像处理,得到图像处理结果,并输出该图像处理结果,该图像处理结果用于显示该应用窗口。
由于在显示应用窗口的过程中,根据应用窗口的图像数据与该图像数据的区域描述信息之间的关联关系执行图像处理,得到用于显示应用窗口的图像处理结果,这使得在拖动该应用窗口的过程中,在根据图像处理结果显示该应用窗口的每帧图像数据时,能够仅对应于一个显示位置,不会对应于多个显示位置,以此可以尽可能避免应用窗口在拖动过程中出现拖影的问题,提高用户体验。
在一种可能的实施方式中,将图像数据与区域描述信息建立关联关系的关联操作可以包括:将区域描述信息以及图像上保存在同一存储空间;或,将区域描述信息保存为数据结构,并建立该数据结构与图像数据之间的关联关系;或,分别为图像数据以及区域描述信息添加同一标识,该标识用于关联区域描述信息以及图像数据。如此,在显示应用窗口的过程中,可以实现应用窗口的图像数据与区域描述信息进行一对一关联,以便后续在显示该应用窗口时,该应用窗口仅在一个位置处进行显示,而不会同时在多个位置处进行显示。
在一种可能的实施方式中,图像数据的区域描述信息包括多个应用的窗口的图像数据分别对应的区域描述信息,则,不同应用的窗口在显示时不存在重叠。如此,通过将多个窗口的图像数据对应的区域描述信息基于应用粒度划分为多个集合,每个集合对应于一个应用,这使得每个应用的窗口可以在最终呈现的图像中独立显示,即不同应用的窗口之间可以不存在显示区域的重叠,以此可以进一步提高用户通过窗口与应用进行交互的体验。
在一种可能的实施方式中,在执行图像处理时,具体可以是对多个应用的窗口的图像数据分别对应的区域描述信息进行划分,得到多个集合,每个集合包括同一应用的至少一个窗口的图像数据分别对应的区域描述信息;然后根据该多个集合与多个应用的窗口的图像数据的关联关系执行图像处理,得到图像处理结果。如此,在最终显示各个应用的窗口时,不同应用的窗口之间可以不存在显示区域的重叠,以此可以进一步提高用户通过窗口与应用进行交互的体验。
在一种可能的实施方式中,上述应用窗口显示方法应用于终端;或者,上述应用窗口显示方法应用于提供虚拟化服务的服务器,例如可以是提供桌面云服务的服务器等,该服务器中运行有一个或者多个虚拟机。
第二方面,本申请还提供了一种应用窗口显示装置,所述应用窗口显示装置包括用于执行第一方面或第一方面任一种可能实现方式中的应用窗口显示方法的各个模块。
第三方面,本申请还提供了一种计算设备,包括:处理器和存储器;该存储器用于存储计算机指令,该处理器用于根据存储器存储的计算机指令执行上述第一方面或第一方面的任一实现方法中应用窗口显示方法。需要说明的是,该存储器可以集成于处理器中,也可以是独立于处理器之外。计算设备还可以包括总线。其中,处理器通过总线连接存储器。其中,存储器可以包括可读存储器以及随机存取存储器。
进一步地,计算设备还可以包括输入输出设备,从而处理器执行计算机指令所处理得到的图像处理结果,可以输出给该输入输出设备,并利用该输入输出设备显示一个或者多个应用的窗口。
第四方面,本申请提供一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述第一方面以及第一方面中任意一种实施方式所述方法的操作步骤。
第五方面,本申请提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述第一方面以及第一方面中任意一种实施方式所述方法的操作步骤。
本申请在上述各方面提供的实现方式的基础上,还可以进行进一步组合以提供更多实现方式。
附图说明
图1为本申请提供的一示例性拖动应用窗口的示意图;
图2为本申请提供的一示例性数据处理***200的示意图;
图3为本申请提供的另一示例性数据处理***200的示意图;
图4为本申请提供的一种应用窗口显示方法的流程示意图;
图5为本申请提供的另一种应用窗口显示方法的流程示意图;
图6为本申请提供的一种应用窗口显示装置的结构示意图;
图7为本申请提供的一种计算设备的硬件结构示意图。
具体实施方式
在基于Linux的统一操作***(unified operating system,UOS)、银河麒麟操作***(KylinOS)中,通常需兼容已有的windows应用。目前,通常采用虚拟机方式实现在Linux***中兼容windows***中的应用。在此过程中,通常会采用窗口区域获取技术,实现在Linux***下对windows***中应用的窗口融合切换。但是,在对windows***中应用窗口进行拖动时,容易出现拖影的问题。
为了解决拖动GuestOS中的应用窗口的过程中所产生的拖影问题,本申请提供一种应用窗口显示方法,通过将显示应用窗口所需的图像数据与该图像数据的区域描述信息进行关联,并根据关联关系执行图像处理,这使得即使应用窗口处于被拖动的状态,根据图像处理结果在显示应用窗口时不会发生拖影问题。
下面将结合本申请实施例中的附图,对本申请中的技术方案进行描述。
参见图2,为本申请提供的一示例性数据处理***的架构示意图。如图2所示,数据处理***200包括宿主机201(也可称之为物理机),并且在宿主机201上可以创建一个或者多个虚拟机202,图2中以创建一个虚拟机202作为示例进行说明。
其中,宿主机201以及虚拟机202可以基于相同类型的操作***运行,如宿主机201以及虚拟机202的操作***均为Linux操作***,或者均为Windows操作***等。或者,宿主机201以及虚拟机202可以基于不同类型的操作***运行,如宿主机201基于Linux操作***运行,虚拟机202基于Windows操作***运行等,从而可以在宿主机201上利用虚拟机202实现兼容其它操作***的生态应用。
虚拟机202的操作***(也可以称为GuestOS)中可以运行有一个或者多个应用(application),并且,该应用在运行过程中,通常会创建一个或者多个窗口(window),该窗口即为应用与用户进行数据交互的界面,可以在完成图像渲染后由宿主机201或者与宿主机201连接的显示装置显示给用户。
示例性地,宿主机201可以通过具有计算能力的设备实现,如服务器等。其中,具有计算能力的设备中可以设置一个或多个处理器,如利用中央处理器(central processingunit,CPU)或专用集成电路(application-specific integrated circuit,ASIC)实现,或可编程逻辑器件(programmable logic device,PLD)实现,上述PLD可以是复杂程序逻辑器件(complex programmable logical device,CPLD)、FPGA、通用阵列逻辑(generic arraylogic,GAL)或其任意组合实现等。
实际应用时,宿主机201可以是配置有显示装置(如显示器等)的终端,如个人计算机(personal computer,PC)等,从而虚拟机202可以在宿主机201上呈现该应用的一个或者多个窗口。或者,宿主机201可以是服务器,如可以是提供虚拟化服务的服务器等,该虚拟化服务例如可以是桌面云(cloud desktop)服务。此时,虚拟机202在完成对应用窗口的图像数据的渲染后,可以将渲染后的数据通过网络发送给用户侧的显示装置(如瘦终端等),从而在该显示装置上显示一个或者多个应用的窗口。
为便于理解,下面以宿主机201为配置有显示装置的终端为例,对数据处理***200进行进一步说明。
参见图3,示出了一种数据处理***200的结构示意图。在图3所示的数据处理***200中,宿主机201基于Linux操作***运行,虚拟机202基于Windows操作***运行,并且,虚拟机202的GuestOS中可以运行有两个应用,如图3所示的应用1以及应用2。本实施例中是以应用1以及应用2为例进行示例性说明,并不用于对GuestOS所能运行的应用的数量进行限定。其中,应用1在运行时可以创建窗口1,并通过图像渲染的方式生成该窗口1的图像数据。类似地,应用2在运行时可以创建窗口2以及窗口3,并分别渲染得到该窗口2以及窗口3的图像数据。
并且,虚拟机202还包括直接扩展运行环境(direct extension runtime)2021、用户态显示驱动(user mode display driver,UMD)2022、直接扩展图形内核子***(directextension graphics kernel subsystem)2023、内核态显示驱动(kernel mode displaydriver,KMD)2024、图形处理器驱动2025以及虚拟显示器2026。
其中,直接扩展运行环境2021用于响应于应用1或应用2针对窗口的图像渲染,调用UMD2022缓存各应用渲染得到的图像数据,并记录每个窗口的图像数据的区域描述信息(如窗口大小等信息),该区域描述信息能够用于指示该窗口的图像数据的显示位置。
UMD2022可以创建一个或者多个图形表面(surface),该图形表面可以作为缓冲区(buffer),其中,一个surface关联至少一个缓冲区,每个缓冲区用于缓存一个或者多个窗口的图像数据。进一步地,UMD2022还可以利用该图形表面缓存每个窗口的图像数据的区域描述信息。
直接扩展图形内核子***2023,用于在完成窗口的图像数据的缓存以及区域描述信息的记录后,控制KMD2024对缓存的一个或者多个窗口的图像数据进行合成,并指示KMD2024申请相应的内存空间,作为缓存区域描述信息以及合成后的图像数据的缓冲区。
KMD2024,用于在直接扩展图形内核子***2023的控制下,对一个或者多个窗口的图像数据进行合成,并对合成所得到的图像数据再次执行渲染操作,并在预先申请的缓冲区中保存渲染得到的图像数据。然后,KMD2024将渲染得到的图像数据以及各个窗口的图像数据的区域描述信息提供给图形处理器驱动2025;或者,KMD2024可以通过与虚拟显示器2026之间的虚拟机通信通道,将渲染得到的图像数据以及相应的区域描述信息提供给虚拟显示器2026。
图形处理器驱动2025,用于将渲染得到的图像数据以及每个窗口的图像数据的区域描述信息输出给虚拟显示器2026。
虚拟显示器2026,用于根据接收到的区域描述信息以及图像数据在宿主机201上显示包括窗口1至窗口3内容的图像。
实际应用场景中,用户可能会在宿主机102上对呈现的一个或者多个窗口进行拖动。相应地,数据处理***200会根据用户持续的拖动操作,实时更新并显示被拖动窗口的位置。但是,虚拟显示器2026获得图像数据的时延与获得区域描述信息的时延容易存在不一致的问题。比如,当宿主机201的算力较低时,渲染得到窗口的图像数据的耗时可能会过长,导致虚拟显示器2026获取图像数据的时延高于获取区域描述信息的时延。这使得,虚拟显示器2026在接收到应用窗口的一帧图像数据时,可能已经接收到该应用窗口对应的多个区域描述信息(该多个区域描述信息基于用户的持续拖动操作所产生),从而在根据该多个区域描述信息显示一个应用窗口的图像数据时,可能会在显示图像中沿着用户拖动路径上的多个位置处均呈现该应用窗口,从而导致用户在拖动应用窗口的过程中产生拖影的问题,例如图1所示。
为此,本申请实施例提供的一种应用窗口显示方法,在显示应用窗口的过程中,根据应用窗口的图像数据与该图像数据的区域描述信息之间的关联关系执行图像处理操作,得到图像处理结果,该图像处理结果例如可以是最终所要显示的图像,或者是用于生成最终显示图像的数据,这使得在拖动该应用窗口的过程中,虚拟显示器2026在根据图像处理结果显示该应用窗口的每帧图像数据时,能够仅对应于一个显示位置,不会对应于多个显示位置,以此可以尽可能避免应用窗口在拖动过程中出现拖影的问题,提高用户体验。
值得注意的是,上述图3所示的数据处理***200仅作为一种示例,实际应用时,上述应用窗口显示方法也可以适用于其它可能的数据处理***中,比如,在其它可能的数据处理***中,可能包括更多功能的单元等,本实施例对此并不进行限定。
下面,结合附图进一步介绍本申请提供的显示GuestOS中的应用窗口的过程。
参见图4,图4为本申请实施例提供的一种应用窗口显示方法的流程示意图,其中,该方法可以应用于图2或者图3所示的数据处理***200,或者可以应用于其它数据处理***,本实施例对此并不进行限定。为便于描述,下面结合图3所示的数据处理***200为例进行示例性说明。如图4所示,该方法具体可以包括:
S401:获取GuestOS中应用窗口的图像数据、以及该图像数据的区域描述信息,该区域描述信息用于描述应用窗口的显示位置。
本实施例中,虚拟机202的GuestOS中的应用1或者应用2,可以在运行过程中创建一个或者多个应用窗口,用于实现与用户进行数据交互。为便于理解,本实施例以显示应用1所创建的一个窗口(即窗口1)为例进行示例性说明。
其中,应用1在创建窗口1时,可以根据该窗口1中包括的内容进行渲染处理,生成相应的一帧图像数据,并生成这帧图像数据的区域描述信息,该区域描述信息能够用于指示应用窗口在最终显示时所在的显示位置。作为一些示例,图像数据的区域描述信息,例如可以是窗口1的大小、透明边框大小、标题描述等中的一种或者多种信息,或者可以是其它类型的信息,比如,当同一应用创建多个窗口时,每个窗口的图像数据的区域描述信息还可以包括该窗口与其它窗口之间的父子关系信息等。
应用1在渲染得到图像数据后,可以输出该图像数据以及区域描述信息。
S402:根据所述图像数据与区域描述信息的关联关系执行图像处理,得到图像处理结果。
由于在部分应用场景中,输出图像数据与输出区域描述信息在数据处理***200中处理的时延可能存在差异,为此,本实施例中,可以将应用窗口的图像数据与该图像数据的区域描述信息进行一对一关联(或者称之为绑定),以便于最终送显(即发送给虚拟显示器2026进行显示)时的图像数据与区域描述信息能够对应于同一时机,即图像数据的真实显示区域与该区域描述信息所指示的显示区域一致。
示例性地,本实施例提供了以下几种将应用窗口的图像数据以及区域描述信息进行一对一关联的实现示例。
在第一种实现示例中,应用1在渲染时,可以调用直接扩展(direct extension)接口(一种多媒体编程接口),并枚举该窗口1的句柄信息,该句柄信息用于对窗口1进行标识。直接扩展运行环境2021响应于应用1针对该DX接口的调用,通过windows***图形驱动模型(windows display driver model,WDDM)指定UMD2022将窗口1的图像数据与该图像数据对应的区域描述信息保存至同一存储空间,以实现图像数据与区域描述信息之间的一一关联。具体实现时,UMD2022可以为该窗口1创建图形表面(surface),如图3中的图形表面1,并为该图形表面申请相应的内存空间。其中,图形表面1可以作为上述同一存储空间中的部分存储空间,用于缓存窗口1的图像数据,这样,在应用1渲染得到窗口1的一帧图像数据后,UMD2022可以将该图像数据保存在窗口1对应的图形表面1,以缓存该帧图像数据。实际应用时,应用1可以为窗口1连续渲染多帧图像数据,而UMD2022可以利用该surface缓存该窗口1每一帧图像数据。并且,图形表面1还可以配置有与之对应的扩展缓冲区,如图3中的扩展缓冲区1,该扩展缓冲区1为上述同一存储空间中的部分存储空间,其逻辑地址可以与图形表面1的逻辑地址连续,用于存储该图像数据对应的区域描述信息。如此,利用图形表面1以及扩展缓冲区1分别缓存图像数据以及区域描述数据,可以实现将应用窗口的图像数据以及区域描述信息进行一对一关联。
实际应用时,可以在UMD2022中为应用所创建的每个窗口单独创建一个图形表面以及扩展缓冲区,以用于存储该窗口所对应的图像数据以及区域描述信息,如图3中为窗口2创建的图形表面2以及扩展缓冲区2、为窗口3创建的图形表面3以及扩展缓冲区3。
在第二种实现示例中,UMD2022可以将窗口1的图像数据存储至为该窗口1创建的图形表面1,并将窗口1的区域描述信息保存为数据结构。其中,数据结构,是指包括多个数据元素的集合,该多个数据元素例如可以是上述窗口大小、透明边框大小、标题描述等。UMD2022可以将数据结构保存至任意的存储区域,如UMD2022可以在单独申请的一段内存空间存储一个或者多个区域描述信息所对应的数据结构等。然后,UMD2022可以建立图形表面1的标识与该数据结构的名称之间的关联关系并进行记录。其中,图形表面1的标识,例如可以是图像表面1的名称、编号、ID、首地址中的一种或多种,或者可以其它可用于标识图像表面1的信息。如此,通过建立图形表面1的标识与该数据结构之间的关联关系,可以实现将窗口1的图像数据与所述区域描述信息进行一对一关联。
在第三种实现示例中,UMD2022可以将窗口1的图像数据存储至为该窗口1创建的图形表面1,并在单独申请的一段内存空间存储该图像数据对应的区域描述信息,然后,UMD2022可以分别为该应用窗口的图像数据以及该区域描述信息添加同一标识,以便利用该标识一对一关联窗口1的区域描述信息以及窗口1的图像数据。其中,所添加的标识,具体可以是应用1在渲染得到一帧图像数据时的帧标识,如帧的编号等;或者,该标识,具体可以是可以用于指示应用1在渲染得到一帧图像数据的时刻的时间戳。如此,利用帧标识或者时间戳,可以将图像数据的真实显示区域与该区域描述信息所指示的显示区域一致。
UMD2022在保存窗口1的图像数据以及区域描述信息后,可以通知直接扩展图形内核子***2023针对UMD2022中的图像数据执行进一步的渲染操作,以生成能够方便显示器进行显示的图像数据。
本实施例中,在基于该图像数据执行渲染操作之前,直接扩展图形内核子***2023可以指示KMD2024创建显示图形表面(display surface),如图3中的显示图形表面1,并为该显示图形表面1申请相应的内存空间。其中,显示图形表面1可以作为图像缓冲区缓存KMD2024执行渲染操作所生成的图像数据。然后,直接扩展图形内核子***2023可以从UMD2022访问得到窗口1的图像数据,并控制KMD2024根据该窗口1的图像数据执行渲染操作。在完成渲染操作后,KMD2024可以将渲染得到的图像数据保存在显示图形表面1。
并且,直接扩展图形内核子***2023还可以将窗口1的区域描述信息保存至KMD2024中的存储空间。示例性地,直接扩展图形内核子***2023可以控制KMD2024创建扩展缓冲区A1,如图3所示,并且,直接扩展图形内核子***2023可以将该窗口1的区域描述信息保存至该扩展缓冲区A1中。实际应用时,KMD2024中可以针对多个应用创建多个扩展缓冲区,如图3中的扩展缓冲区A1以及扩展缓冲区A2,其中,扩展缓冲区A1用于存储属于应用1的一个或者多个窗口的图像数据的区域描述信息,扩展缓冲区A2用于存储属于应用2的一个或者多个窗口的图像数据的区域描述信息。或者,KMD2024也可以是将窗口1的区域描述信息保存在其它存储空间,本实施例对此并不进行限定。
值得注意的是,KMD2024在保存窗口1的区域描述信息以及渲染得到的图像数据时,将区域描述信息与该KMD2024所渲染得到的图像数据建立一对一的关联关系,其实现同步关联的具体实现方式可以参见前述相关之处描述,在此不做赘述。
然后,KMD2024可以将渲染得到的图像数据与区域描述信息发送给虚拟显示器2026。其中,KMD2024可以通过图形处理器驱动2025将其转发给虚拟显示器2026;或者,KMD2024可以建立虚拟机通信通道,并通过该虚拟机通信通道将渲染得到的图像数据与区域描述信息发送给虚拟显示器2026。由于KMD2024所渲染得到的图像数据与区域描述信息具有一对一的关联关系,这使得该区域描述信息即可跟随窗口1的图像数据参与应用窗口的显示,从而后续可以根据关联的区域描述信息,确定窗口1在显示时的唯一显示位置,避免该窗口1显示时存在多个显示位置而产生拖影的问题。
虚拟显示器2026在获得窗口1的区域描述信息以及显示图形表面1中的图像数据后,可以根据该区域描述信息以及该图像数据之间的关联关系执行图像处理,得到图像处理结果,该图像处理结果例如可以是生成最终用于显示给用户的图像。通常情况下,最终显示的图像中可以包括窗口显示区域以及非窗口显示区域,其中,窗口显示区域中的图像内容即为窗口1中的内容。非窗口显示区域的图像内容,例如可以是背景图像的内容等,本实施例对此并不进行限定。或者,虚拟显示器2026执行图像处理所得到的图像处理结果,可以是用于生成最终显示的图像的数据,本实施例对于图像处理结果的表现形式并不进行限定。
作为一种实现示例,虚拟显示器2026可以根据区域描述信息确定窗口1在最终显示的图像中的成像区域,也即确定上述窗口显示区域。然后,虚拟显示器2026可以将KMD2024提供的图像数据填充至预设图像(如背景图像等)中窗口显示区域,以此可以生成最终显示给用户的图像。其中,该图像中的非窗口显示区域的图像内容,即为该预设图像中的内容。
S403:输出图像处理结果,该图像处理结果用于显示应用窗口。
本实施例中,虚拟显示器2026在得到图像处理结果后,可以根据该图像处理结果,利用宿主机201的显示装置显示包括窗口1的图像。
而当宿主机201未配置显示装置时,如宿主机为桌面云场景下的服务器等,此时,虚拟显示器2026可以向与宿主机201连接的显示设备(通常位于用户侧)发送该图像处理结果,以便该显示设备根据该图像处理结果显示包括窗口1的图像。
实际应用时,应用1可以针对窗口1连续生成多帧图像数据,从而可以基于上述步骤S401至步骤S403,依次显示该窗口1的每一帧图像数据。
并且,上述步骤S401至步骤S403所示的显示应用窗口的过程,是以显示一个窗口的图像数据为例进行说明,当GuestOS中的应用创建多个窗口时,可以按照上述类似过程分别显示该多个窗口分别对应的图像数据,本实施例在此不做赘述。
由于在显示应用窗口的过程中,UMD2022以及KMD2024将窗口1的图像数据与窗口1的区域描述信息进行一对一关联,这使得虚拟显示器2026所接收到窗口1的每帧图像数据,均具有与这帧图像数据唯一关联的区域描述信息相对应,从而在拖动该窗口1的过程中,窗口1的图像数据在显示时可以仅对应于一个显示位置,不会对应于多个显示位置,以此可以尽可能避免应窗口1在拖动过程中出现拖影的问题,提高用户体验。
实际应用场景中,GuestOS中可能同时运行多个应用,并且,该多个应用中的每个应用均可能创建一个或者多个窗口,此时,在显示多个应用的窗口时,可能存在不同应用的窗口相互覆盖的问题,如应用1的窗口1与应用2的窗口2在最终显示的图像中的显示区域可能存在重叠,从而可能导致部分应用的窗口遮盖其它应用的窗口的部分或者全部内容。为此,本申请实施例提供了另一种应用窗口显示方法,以尽可能避免所显示的不同应用的窗口之间存在显示区域的重叠。下面,显示图3中的应用1以及应用2的窗口为例进行示例性说明。
参见图5,示出了本申请实施例提供的另一种应用窗口显示方法流程示意图,如图5所示,该方法具体可以包括:
S501:获取GuestOS中多个应用的窗口分别对应的图像数据、以及每个窗口的图像数据的区域描述信息,每个窗口的图像数据的区域描述信息用于描述该窗口的显示位置。
其中,步骤S501的具体实现,可参见前述实施例的步骤S401的相关之处描述,在此不做赘述。
S502:对多个应用的窗口的图像数据分别对应的区域描述信息进行划分,得到多个集合,每个集合包括同一应用的至少一个窗口的图像数据分别对应的区域描述信息。
S503:建立多个集合与多个应用的窗口的图像数据之间的关联关系。
本实施例中,UMD2022可以对多个应用的窗口的图像数据以及区域描述信息进行缓存,并且,UMD2022在缓存数据时,可以将多个窗口中的每个窗口的图像数据以及该图像数据的区域描述信息建立一对一的关联关系。示例性地,本实施例提供了以下三种建立关联关系的实现方式。
在第一种实现方式中,UMD2022可以针对窗口1至窗口3分别申请一段存储空间,每个存储空间用于存储一个窗口的图像数据以及该图像数据的区域描述信息。具体实现时,UMD2022可以创建相应的图形表面1至图形表面3,每个图形表面对应于一个窗口,如图3所示,用于存储该窗口的图像数据。并且,UMD2022还为每个图形表面创建扩展缓冲区,如图3所示的扩展缓冲区1至扩展缓冲区3,每个扩展缓冲区在逻辑上的存储地址可以与该扩展缓冲区对应的图形表面的存储地址连续,用于存储区域描述信息。如此,可以将每个窗口的图像数据以及该图像数据的区域描述信息保存在同一存储空间。如图3所示,在为窗口1申请的一段存储空间中,图行表面1用于缓存窗口1的图像数据,扩展缓冲区1用于缓存窗口1的区域描述信息;在为窗口2申请的一段存储空间中,图行表面2用于缓存窗口2的图像数据,扩展缓冲区2用于缓存窗口2的区域描述信息;在为窗口3申请的一段存储空间中,图行表面3用于缓存窗口3的图像数据,扩展缓冲区3用于缓存窗口3的区域描述信息。如此,利用图形表面以及扩展缓冲区分别缓存图像数据以及区域描述数据,可以实现将各个窗口的图像数据以及该图像数据的区域描述信息实现一对一的关联。实际应用时,UMD2022缓存多个窗口的图像数据的图形表面,可以形成矩形缓冲区(或者圆形缓冲区)。
在第二种实现方式中,UMD2022利用图形表面1至图形表面3分别缓存窗口1至窗口3的图像数据,并可以将窗口1至窗口3的区域描述信息分别保存为数据结构,并针对同一窗口,建立图形表面与数据结构之间的关联关系,如建立图形表面的标识与数据结构的名称之间的关联关系,以此实现将各个窗口的图像数据以及该图像数据的区域描述信息进行一对一关联。
在第三种实现方式中,UMD2022利用图形表面1至图形表面3分别缓存窗口1至窗口3的图像数据,并将窗口1至窗口3分别对应的区域描述信息缓存至单独申请的存储区域,然后,UMD2022可以分别为该应用窗口的图像数据以及该区域描述信息添加同一标识,以便利用该标识一对一关联各个窗口的图像数据以及该图像数据的区域描述信息。如此,针对每个窗口的图像数据以及该图像数据对应的区域描述信息,可以利用同一标识(如帧标识或者时间戳等)实现图像数据与区域描述信息的一对一关联。
本实施例中,UMD2022在将多个窗口的图像数据与该图像数据的区域描述信息进行关联后,每个窗口的区域信息数据会跟随该窗口的图像数据一起,能够被KMD2024读写访问。针对多个应用的窗口,KMD2024可以对继续对各个窗口的图像数据进行渲染,并在完成渲染操作后,可以对各个窗口渲染得到的图像数据执行合成操作,执行合成操作后所得到的图像数据可以缓存至显示图形表面。
并且,KMD2024还可以将窗口1至窗口3分别对应的区域描述信息,按照各个窗口所属的应用进行划分,得到2个集合,分别为集合1以及集合2,其中,集合1中包括应用1所创建的窗口1对应的区域描述信息,集合2中包括应用2所创建的窗口2以及窗口3分别对应的区域描述信息。如此,可以是应用为粒度,实现对多个区域描述信息的划分。
然后,KMD2024可以将划分得到的多个集合分别保存至KMD2024所创建的扩展缓冲区A1以及扩展缓冲区A2,其中,扩展缓冲区A1用于存储集合1中的区域描述信息,也即存储应用1所创建的所有窗口(即窗口1)的图像数据所对应的区域描述信息;扩展缓冲区A2用于存储集合2中的区域描述信息,也即存储应用2所创建的所有窗口(即窗口2以及窗口3)的图像数据所对应的区域描述信息。
并且,KMD2024在缓存图像数据以及多个集合时,将该多个集合与图像数据建立一对一的关联关系,以便每个窗口的图像数据的区域描述信息能够跟随该窗口的图像数据完成送显。其中,KMD2024建立每个集合与合成得到的图像数据之间的关联关系的具体实现过程,可参见前述关联区域描述信息以及图像数据的相关之处描述,在此不再进行赘述。
S504:根据多个集合与多个应用的窗口的图像数据之间的关联关系执行图像处理,得到图像处理结果。
S505:输出图像处理结果,该图像处理结果用于显示应用窗口。
本实施例中,虚拟显示器2026可以通过图形处理器驱动2025获取显示图形表面1中的图像数据、扩展缓冲区(A1和A2)所存储的多个集合中的区域描述信息,或者可以直接与KMD2024建立虚拟机通信通道,并通过该虚拟机通信通道获得显示图形表面1中的图像数据、扩展缓冲区(A1和A2)中多个集合的区域描述信息。然后,虚拟显示器2026在获得多个集合中的区域描述信息以及显示图形表面1中的图像数据后,可以对多个集合中的区域描述信息以及该图像数据执行图像处理,得到图像处理结果,并根据该图像处理结果显示应用1与应用2的窗口。
具体实现时,虚拟显示器2026可以根据2个集合中的区域描述信息,在最终所要显示的图像中创建2个集合的窗口显示区域,分别为窗口显示区域1以及窗口显示区域2,并且,这两个窗口显示区域在该图像上的位置不存在重叠。然后,虚拟显示器2026可以截取显示图形表面1中属于集合1对应的应用1的图像数据,并将截取的图像数据填充至该窗口显示区域1中;并截取显示图形表面1中属于集合2对应的应用2的图像数据,将截取的图像数据填充至该窗口显示区域2中,即应用1以及应用2所创建的窗口显示在不同的窗口显示区域,这使得在显示应用窗口时,应用1的窗口不会被应用2的窗口所覆盖或遮掩,同时也不会覆盖或者遮掩应用2的窗口。另外,该图像中还包括非窗口显示区域,该窗口显示区域的图像内容例如可以利用指定的图像数据进行填充等,以此可以生成最终显示给用户的图像。如此,最终显示的图像中,不同应用的窗口可以独立显示,从而可以避免部分应用的窗口被其它应用的窗口所覆盖或遮掩的问题。
在进一步的实施方式中,当窗口显示区域的图像内容包括多个窗口的图像数据时,如窗口显示区域2中包括窗口2以及窗口3的图像数据,此时,不同窗口可以在该窗口显示区域内独立显示,即窗口显示区域内的多个窗口之间也可以不存在覆盖或遮掩;或者不同窗口之间可以存在覆盖或遮掩,比如,当窗口2与窗口3满足父子关系时(如窗口3可以基于窗口2得到),在窗口显示区域2内,窗口3的图像内容可以覆盖或者遮掩窗口2的图像内容等。本实施例中,对于每个窗口显示区域内的多个窗口之间的显示方式并不进行限定。
本实施例中,虚拟显示器2026在生成上述图像后,可以将其作为图像处理结果,并利用宿主机201的显示装置显示包括窗口1以及窗口3的图像。而当宿主机201未配置显示装置时,如宿主机201为提供虚拟化服务的服务器等,此时,虚拟显示器2026可以向与宿主机201连接的显示设备(通常位于用户侧)发送该图像处理结果,以便该显示设备根据该图像处理结果显示该包括窗口1至窗口3的图像。实际应用时,虚拟显示器2026所输出的图像处理结果,也可以是用于指示最终所要显示的图像的数据,如包括上述窗口显示区域以及非窗口显示区域的位置信息、各个窗口显示区域内的图像数据、非窗口显示区域的数据,从而宿主机201的显示装置或者预宿主机201连接的显示装置可以根据该图像处理结果,生成包括窗口1至窗口3的图像。
实际应用时,应用1以及应用2可以针对各自创建的窗口连续生成多帧图像数据,从而可以基于上述步骤S501至步骤S505,依次显示该多个窗口的每一帧图像数据。
由于在显示应用窗口的过程中,各个窗口的图像数据与该图像数据的区域描述信息一对一关联,这使得拖动部分窗口的过程中,被拖动的窗口的图像数据在显示时可以仅对应于一个显示位置,不会对应于多个显示位置,以此可以尽可能避免该窗口在拖动过程中出现拖影的问题,提高用户体验。
并且,通过将多个窗口的图像数据对应的区域描述信息基于应用粒度划分为多个集合,每个集合对应于一个应用,这使得每个应用的窗口可以在最终呈现的图像中独立显示,即不同应用的窗口之间可以不存在显示区域的重叠,以此可以进一步提高用户通过窗口与应用进行交互的体验。
值得注意的是,本领域的技术人员根据以上描述的内容,能够想到的其他合理的步骤组合,也属于本申请的保护范围内。其次,本领域技术人员也应该熟悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作并不一定是本申请所必须的。
上文中结合图1至图5,详细描述了本申请所提供的应用窗口显示方法,下面将结合图6至图7,描述根据本申请所提供的应用窗口显示装置和计算设备。
图6为本申请提供的一种应用窗口显示装置的结构示意图。其中,应用窗口显示装置600应用于终端,或者应用于提供虚拟化服务的服务器(该服务器上运行有虚拟机)等,实施例对此并不进行限定。如图6所示,应用窗口显示装置600可以包括:
获取模块601,用于获取客户机操作***GuestOS中应用窗口的图像数据和所述图像数据的区域描述信息,所述区域描述信息用于指示所述应用窗口的显示位置;
图像处理模块602,用于根据所述图像数据与所述区域描述信息的关联关系执行图像处理,得到图像处理结果;
输出模块603,用于输出所述图像处理结果,所述图像处理结果用于显示所述应用窗口。
在一种可能的实施方式中,所述图像数据与所述区域描述信息的关联关系通过关联操作进行建立,所述关联操作包括:
将所述区域描述信息以及所述图像上保存在同一存储空间;或,
将所述区域描述信息保存为数据结构,并建立所述数据结构与所述应用窗口的图像数据之间的关联关系;或,
分别为所述应用窗口的图像数据以及所述区域描述信息添加同一标识,所述标识关联所述区域描述信息以及所述应用窗口的图像数据。
在一种可能的实施方式中所述图像数据的区域描述信息包括多个应用的窗口的图像数据分别对应的区域描述信息,则,不同应用的窗口在显示时不存在重叠。
在一种可能的实施方式中,所述图像处理模块602,用于:
对所述多个应用的窗口的图像数据分别对应的区域描述信息进行划分,得到多个集合,每个集合包括同一应用的至少一个窗口的图像数据分别对应的区域描述信息;
根据所述多个集合与所述多个应用的窗口的图像数据的关联关系执行图像处理,得到图像处理结果。
在一种可能的实施方式中,所述装置600应用于终端,或者所述装置600应用于提供虚拟化服务的服务器。
应理解的是,本发明本申请实施例的应用窗口显示装置600通过软件实现图1至图5所示的应用窗口显示方法时,应用窗口显示装置600及其各个模块也可以为软件模块。
根据本申请实施例的应用窗口显示装置600可对应于执行本申请实施例中描述的方法,并且应用窗口显示装置600的各个模块的上述和其它操作和/或功能为了实现图3以及图4中的各个方法的相应流程,为了简洁,在此不再赘述。
本实施例中,由于在显示应用窗口的过程中,各个窗口的图像数据与该图像数据的区域描述信息一对一关联,这使得拖动部分窗口的过程中,被拖动的窗口的图像数据在显示时可以仅对应于一个显示位置,不会对应于多个显示位置,以此可以尽可能避免该窗口在拖动过程中出现拖影的问题,提高用户体验。
图7为本申请提供的一种计算设备700的示意图,如图所示,所述计算设备700包括处理器701、存储器702、通信接口703以及总线704。其中,处理器701、存储器702、通信接口703通过总线704进行通信,也可以通过无线传输等其他手段实现通信。该总线704除包括数据总线之外,还可以包括电源总线、控制总线和状态信号总线等。但是为了清楚说明起见,在图中将各种总线都标为总线704。
处理器701可以是CPU,该处理器701还可以是其他通用处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立器件组件等。
存储器702可以包括只读存储器和随机存取存储器,并向处理器701提供计算机指令和数据。并且,存储器702可以是易失性存储器或非易失性存储器,或可包括易失性和非易失性存储器两者。其中,非易失性存储器可以是只读存储器(read-only memory,ROM)、可编程只读存储器(programmable ROM,PROM)、可擦除可编程只读存储器(erasable PROM,EPROM)、电可擦除可编程只读存储器(electrically EPROM,EEPROM)或闪存。易失性存储器可以是随机存取存储器(random access memory,RAM),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的RAM可用,例如静态随机存取存储器(static RAM,SRAM)、动态随机存取存储器(DRAM)、同步动态随机存取存储器(synchronous DRAM,SDRAM)、双倍数据速率同步动态随机存取存储器(double data date SDRAM,DDR SDRAM)、增强型同步动态随机存取存储器(enhanced SDRAM,ESDRAM)、同步连接动态随机存取存储器(synchlinkDRAM,SLDRAM)和直接内存总线随机存取存储器(direct rambus RAM,DR RAM)。
进一步地,计算设备700还可以包括输入输出(input/output,IO)设备705,其中,输入输出设备705通过总线704与处理器701、存储器702进行通信,该输入输出设备705例如可以是具有显示功能的设备,如显示器等,从而处理器701可以将处理得到的图像处理结果可以发送给输入输出设备705以显示一个或者多个窗口的窗口。
作为一种可能的实现方式,计算设备700可以通过通信接口703与输入输出设备706进行通信。其中,输入输出设备706的具体形态与输入输出设备705类似,包括具有显示功能的设备,如显示器,从而处理器701可以将处理得到的图像处理结果可以通过通信接口703发送给输入输出设备706以显示一个或者多个窗口的窗口。
应理解,根据本申请实施例的计算设备700可对应于本申请实施例中的应用窗口显示装置600,并可以对应于执行根据本申请实施例中图3以及4所示方法,并且计算设备700所实现的上述和其它操作和/或功能分别为了实现图3以及4中的各个方法的相应流程,为了简洁,在此不再赘述。
上述实施例,可以全部或部分地通过软件、硬件、固件或其他任意组合来实现。当使用软件实现时,上述实施例可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载或执行所述计算机程序指令时,全部或部分地产生按照本申请实施例所述的流程或功能。所述计算机可以为通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集合的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质。半导体介质可以是固态硬盘(solid state drive,SSD)
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以权利要求的保护范围为准。
Claims (12)
1.一种应用窗口显示方法,其特征在于,所述方法包括:
获取客户机操作***GuestOS中应用窗口的图像数据和所述图像数据的区域描述信息,所述区域描述信息用于指示所述应用窗口的显示位置;
根据所述图像数据与所述区域描述信息的关联关系执行图像处理,得到图像处理结果;
输出所述图像处理结果,所述图像处理结果用于显示所述应用窗口。
2.根据权利要求1所述的方法,其特征在于,所述图像数据与所述区域描述信息的关联关系通过关联操作进行建立,所述关联操作包括:
将所述区域描述信息以及所述图像上保存在同一存储空间;或,
将所述区域描述信息保存为数据结构,并建立所述数据结构与所述图像数据之间的关联关系;或,
分别为所述图像数据以及所述区域描述信息添加同一标识,所述标识关联所述区域描述信息以及所述图像数据。
3.根据权利要求1或2所述的方法,其特征在于,所述图像数据的区域描述信息包括多个应用的窗口的图像数据分别对应的区域描述信息,则,不同应用的窗口在显示时不存在重叠。
4.根据权利要求3所述的方法,其特征在于,所述根据所述图像数据与所述区域描述信息的关联关系执行图像处理,包括:
对所述多个应用的窗口的图像数据分别对应的区域描述信息进行划分,得到多个集合,每个集合包括同一应用的至少一个窗口的图像数据分别对应的区域描述信息;
根据所述多个集合与所述多个应用的窗口的图像数据的关联关系执行图像处理,得到图像处理结果。
5.根据权利要求1至4任一项所述的方法,其特征在于,所述方法应用于终端,或者所述方法应用于提供虚拟化服务的服务器。
6.一种应用窗口显示装置,其特征在于,所述装置包括:
获取模块,用于获取客户机操作***GuestOS中应用窗口的图像数据和所述图像数据的区域描述信息,所述区域描述信息用于指示所述应用窗口的显示位置;
图像处理模块,用于根据所述图像数据与所述区域描述信息的关联关系执行图像处理,得到图像处理结果;
输出模块,用于输出所述图像处理结果,所述图像处理结果用于显示所述应用窗口。
7.根据权利要求6所述的装置,其特征在于,所述图像数据与所述区域描述信息的关联关系通过关联操作进行建立,所述关联操作包括:
将所述区域描述信息以及所述图像上保存在同一存储空间;或,
将所述区域描述信息保存为数据结构,并建立所述数据结构与所述应用窗口的图像数据之间的关联关系;或,
分别为所述应用窗口的图像数据以及所述区域描述信息添加同一标识,所述标识关联所述区域描述信息以及所述应用窗口的图像数据。
8.根据权利要求6或7所述的装置,其特征在于,所述图像数据的区域描述信息包括多个应用的窗口的图像数据分别对应的区域描述信息,则,不同应用的窗口在显示时不存在重叠。
9.根据权利要求8所述的装置,其特征在于,所述图像处理模块,用于:
对所述多个应用的窗口的图像数据分别对应的区域描述信息进行划分,得到多个集合,每个集合包括同一应用的至少一个窗口的图像数据分别对应的区域描述信息;
根据所述多个集合与所述多个应用的窗口的图像数据的关联关系执行图像处理,得到图像处理结果。
10.根据权利要求6至9任一项所述的装置,其特征在于,所述装置应用于终端,或者所述装置应用于提供虚拟化服务的服务器。
11.一种计算设备,所述计算设备包括处理器和存储器,所述存储器,用于存储计算机指令;所述处理器,用于根据所述计算机指令执行如权利要求1至5任一项所述方法的操作步骤。
12.一种计算机可读存储介质,其特征在于,包括指令,当该指令在计算设备上运行时,使得所述计算设备执行如权利要求1至5中任一项所述方法的操作步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210912641.9A CN117519860A (zh) | 2022-07-30 | 2022-07-30 | 应用窗口显示方法、装置及相关设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210912641.9A CN117519860A (zh) | 2022-07-30 | 2022-07-30 | 应用窗口显示方法、装置及相关设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117519860A true CN117519860A (zh) | 2024-02-06 |
Family
ID=89765076
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210912641.9A Pending CN117519860A (zh) | 2022-07-30 | 2022-07-30 | 应用窗口显示方法、装置及相关设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117519860A (zh) |
-
2022
- 2022-07-30 CN CN202210912641.9A patent/CN117519860A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20200364821A1 (en) | Unified memory systems and methods | |
US10310879B2 (en) | Paravirtualized virtual GPU | |
US10074206B1 (en) | Network-optimized graphics library for virtualized graphics processing | |
US8065687B2 (en) | Bypass virtualization | |
WO2018119951A1 (zh) | Gpu虚拟化方法、装置、***及电子设备、计算机程序产品 | |
CN112114916B (zh) | 一种在Linux操作***上兼容运行Android应用的方法和装置 | |
CN111240626A (zh) | 一种基于Hypervisor智能座舱操作***双屏互动的方法和*** | |
US20080077917A1 (en) | Virtual machine system and a method for sharing a graphics card amongst virtual machines | |
EP3627319B1 (en) | Display resource scheduling method and device for embedded system | |
KR20080036047A (ko) | 데스크톱 합성을 위한 방법, 컴퓨터 및 시스템 | |
US20240037060A1 (en) | Computing device, virtualization acceleration device, remote control method and storage medium | |
CN114741044B (zh) | 一种基于异构渲染的跨运行环境显示输出共享方法 | |
WO2018120992A1 (zh) | 一种窗口渲染方法及终端 | |
CN113051047B (zh) | 识别安卓***绘制线程的方法、装置、移动终端及存储介质 | |
WO2023087778A1 (zh) | 窗口信息处理方法、装置、电子设备及存储介质 | |
CN107077376B (zh) | 帧缓存实现方法、装置、电子设备和计算机程序产品 | |
CN115309511B (zh) | 基于Xen的数据交互方法、装置、存储介质以及电子设备 | |
US20200192691A1 (en) | Targeted page migration for guest virtual machine | |
CN101464843B (zh) | 在多操作***中共享显示卡的方法和计算机*** | |
CN108733602B (zh) | 数据处理 | |
CN111857943A (zh) | 数据处理的方法、装置与设备 | |
CN110941408B (zh) | 一种kvm虚拟机图形界面输出方法及装置 | |
WO2023221822A1 (zh) | 数据处理方法、电子设备和可读存储介质 | |
US9058299B2 (en) | Efficient copying between storage devices | |
CN117519860A (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 |