CN108205456A - 一种跨进程的窗口渲染方法、设备及存储介质 - Google Patents
一种跨进程的窗口渲染方法、设备及存储介质 Download PDFInfo
- Publication number
- CN108205456A CN108205456A CN201711462449.XA CN201711462449A CN108205456A CN 108205456 A CN108205456 A CN 108205456A CN 201711462449 A CN201711462449 A CN 201711462449A CN 108205456 A CN108205456 A CN 108205456A
- Authority
- CN
- China
- Prior art keywords
- window
- part data
- data
- striding course
- equipment
- 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
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/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/543—User-generated data transfer, e.g. clipboards, dynamic data exchange [DDE], object linking and embedding [OLE]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/65—Updates
Abstract
本发明提供一种跨进程的窗口渲染方法、设备及计算机存储介质,包括:确定第一窗口与第二窗口的位置关系,其中所述第一窗口对应于第一进程,所述第二窗口对应于第二进程;当所述位置关系满足预设条件时,将第二窗口中显示的至少一部分数据从第二进程传送到第一进程;以及在所述第一窗口中显示所述至少一部分数据。
Description
技术领域
本发明涉及互联网技术领域,尤其涉及一种跨进程的窗口渲染方法、设备及计算机存储介质。
背景技术
随着互联网技术的蓬勃发展,在实现窗口渲染的过程中,有些效果被认定为不能直接呈现于屏幕,而需要在别的地方做额外的预合成处理,故在此需要下离屏渲染应运而生,从而不断给用户带来视觉上的新体验。
然而,当前离屏渲染仅仅局限于同一进程的不同窗口间的渲染,无法直接应用在不同进程间的窗口渲染,尤其无法直接应用在包括网页窗口在内的窗口渲染。
举例来说,若浏览器进程中所打开的网页窗口与游戏进程中的游戏窗口存在部分重叠,这样被覆盖部分的网页窗口将无法直观地呈现给用户。因此,有必要通过技术改进来扩展离屏渲染的应用范围,从而解决跨进程的窗口渲染问题,尤其是包括网页窗口在内的跨进程的窗口渲染问题。
目前,在中国专利申请公开CN104376016A中公开了一种浏览器中跨进程渲染方法,所述跨进程渲染方法通过全局策略对象来调度应用进程中的渲染策略,从而实现渲染进程的负载均衡。另外,在中国专利申请公开CN104965692A中公开了一种在桌面应用中跨进程显示数据的方法,该方法仅能传输特定的(即约定的)界面信息数据到桌面应用中显示。因此,基于上述现有技术,无法解决本申请前述所提及的跨进程的窗口渲染问题。
发明内容
鉴于上述问题,提出了本发明,以便提供一种克服上述问题或者至少部分地解决上述问题的一种跨进程的窗口渲染方法、设备及计算机存储介质。
依据本发明的第一方面,提供一种跨进程的窗口渲染方法,包括:确定第一窗口与第二窗口的位置关系,其中所述第一窗口对应于第一进程,所述第二窗口对应于第二进程;当所述位置关系满足预设条件时,将第二窗口中显示的至少一部分数据从第二进程传送到第一进程;以及在所述第一窗口中显示所述至少一部分数据。
可选的,在根据本发明的实施例的跨进程的窗口渲染方法中,所述第一窗口与第二窗口的位置关系包括:第一窗口完全覆盖第二窗口;或第一窗口部分覆盖第二窗口;或第一窗口与第二窗口不重叠。
可选的,在根据本发明的实施例的跨进程的窗口渲染方法中,所述预设条件包括:第一窗口完全覆盖第二窗口;或第一窗口至少部分覆盖第二窗口;或第一窗口与第二窗口之间的距离小于等于特定阈值。
可选的,在根据本发明的实施例的跨进程的窗口渲染方法中,将第二窗口中显示的至少一部分数据从第二进程传送到第一进程,包括:将第二内存内容从第二进程传送至第一进程,并进一步将第二内存内容添加至第一内存内容;其中,所述第二内存内容和第一内存内容分别对应于第二窗口和第一窗口,所述第二内存内容包括第二窗口中显示的至少一部分数据,所述第一内存内容包括第一窗口中显示的数据。
可选的,在根据本发明的实施例的跨进程的窗口渲染方法中,在所述第一窗口中显示所述至少一部分数据之前,所述方法还包括:按照特定合成策略将所述第二窗口中显示的至少一部分数据与第一窗口中显示的数据加以合成。
可选的,在根据本发明的实施例的跨进程的窗口渲染方法中,按照特定合成策略将所述第二窗口中显示的至少一部分数据与第一窗口中显示的数据加以合成,包括:将所述第二窗口中显示的至少一部分数据与第一窗口中显示的数据进行叠加。
可选的,在根据本发明的实施例的跨进程的窗口渲染方法中,在所述第一窗口中显示所述至少一部分数据,包括:在所述第一窗口中通过图层叠加的方式显示所述至少一部分数据。
可选的,在根据本发明的实施例的跨进程的窗口渲染方法中,所述方法还包括:在所述第一窗口中半透明显示所述至少一部分数据。
可选的,在根据本发明的实施例的跨进程的窗口渲染方法中,所述将第二窗口中显示的至少一部分数据从第二进程传送到第一进程,包括:通过共享内存在所述第一进程和第二进程间建立通信的方式将第二窗口中显示的至少一部分数据从第二进程传送到第一进程。
可选的,在根据本发明的实施例的跨进程的窗口渲染方法中,在所述第一窗口中显示所述至少一部分数据之后,所述方法还包括:若检测有针对所述至少一部分数据的更新操作,则在第二进程或第一进程中基于所述更新操作对所述至少一部分数据进行更新,得到更新后的至少一部分数据;在所述第一窗口中显示所述更新后的至少一部分数据。
依据本发明的第二方面,提供一种用于跨进程的窗口渲染的设备,包括:确定装置,用于确定第一窗口与第二窗口的位置关系,其中所述第一窗口对应于第一进程,所述第二窗口对应于第二进程;传送装置,用于当所述位置关系满足预设条件时,将第二窗口中显示的至少一部分数据从第二进程传送到第一进程;显示装置,用于在所述第一窗口中显示所述至少一部分数据。
可选的,在根据本发明的实施例的用于跨进程的窗口渲染的设备中,所述第一窗口与第二窗口的位置关系包括:第一窗口完全覆盖第二窗口;或第一窗口部分覆盖第二窗口;或第一窗口与第二窗口不重叠。
可选的,在根据本发明的实施例的用于跨进程的窗口渲染的设备中,所述预设条件包括:第一窗口完全覆盖第二窗口;或第一窗口至少部分覆盖第二窗口;或第一窗口与第二窗口之间的距离小于等于特定阈值。
可选的,在根据本发明的实施例的用于跨进程的窗口渲染的设备中,所述传送装置,还用于将第二内存内容从第二进程传送至第一进程,并进一步将第二内存内容添加至第一内存内容;其中,所述第二内存内容和第一内存内容分别对应于第二窗口和第一窗口,所述第二内存内容包括第二窗口中显示的至少一部分数据,所述第一内存内容包括第一窗口中显示的数据。
可选的,在根据本发明的实施例的用于跨进程的窗口渲染的设备中,所述设备还包括:合成装置,用于通过显示装置在所述第一窗口中显示所述至少一部分数据之前,按照特定合成策略将所述第二窗口中显示的至少一部分数据与第一窗口中显示的数据加以合成。
可选的,在根据本发明的实施例的用于跨进程的窗口渲染的设备中,所述合成装置,具体用于将所述第二窗口中显示的至少一部分数据与第一窗口中显示的数据进行叠加。
可选的,在根据本发明的实施例的用于跨进程的窗口渲染的设备中,所述显示装置,还用于在所述第一窗口中通过图层叠加的方式显示所述至少一部分数据。
可选的,在根据本发明的实施例的用于跨进程的窗口渲染的设备中,所述显示装置,还用于在所述第一窗口中半透明显示所述至少一部分数据。
可选的,在根据本发明的实施例的用于跨进程的窗口渲染的设备中,所述传送装置,还用于通过共享内存在所述第一进程和第二进程间建立通信的方式将第二窗口中显示的至少一部分数据从第二进程传送到第一进程。
可选的,在根据本发明的实施例的用于跨进程的窗口渲染的设备中,所述设备还包括:更新装置,用于通过显示装置在所述第一窗口中显示所述至少一部分数据之后,若检测有针对所述至少一部分数据的更新操作,则在第二进程或第一进程中基于所述更新操作对所述至少一部分数据进行更新,得到更新后的至少一部分数据;所述显示装置,还用于控制所述显示器在所述第一窗口中显示所述更新后的至少一部分数据。
依据本发明的第三方面,提供一种用于跨进程的窗口渲染的设备,包括:一个或者多个处理器;存储器;存储在所述存储器中的程序,当被所述一个或者多个处理器执行时,所述程序使所述处理器执行如第一方面、第一方面的任一项实施方式所述的方法。
依据本发明的第四方面,提供一种计算机可读存储介质,所述计算机可读存储介质存储有程序,当所述程序被处理器执行时,使得所述处理器执行如第一方面、第一方面的任一项实施方式所述的方法。
本发明实施例所述跨进行的窗口渲染方法,能够通过技术改进来扩展离屏渲染的应用范围,从而解决跨进程的窗口渲染问题。另外,在包括有网页窗口在内的跨进程的窗口渲染中,能够在游戏窗口或其他普通应用程序的窗口中实现网页窗口的半透明显示,有效实现跨进程窗口间的无缝贴合渲染,从而提升视觉效果,改善用户体验。而且,在有效实现网页窗口的半透明显示的基础上,还能够基于网页操作来实时跟进网页窗口的更新渲染,从而在达到增强网页窗口的背景烘托效果的基础上,使得视觉效果更炫,用户体验更好。
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
附图说明
通过参考附图阅读下文的详细描述,本发明示例性实施方式的上述以及其他目的、特征和优点将变得易于理解。在附图中,以示例性而非限制性的方式示出了本发明的若干实施方式,其中:
在附图中,相同或对应的标号表示相同或对应的部分。
图1示意性地示出了本发明的实施方式中设备的一个可选的软硬件结构示意图;
图2示意性地示出了本发明的实施方式中跨进程的窗口渲染方法的一实施例的流程图;
图3示意性地示出了本发明的实施方式中第一窗口与第二窗口的位置关系示意图;
图4示意性地示出了本发明一应用示例中跨进行的窗口渲染的显示效果图;
图5示意性地示出了本发明的实施方式中用于跨进程的窗口渲染的设备的组成结构示意图;
图6示意性地示出了根据本发明实施方式的用于跨进程的窗口渲染的设备的实现示意图;
图7示意性地示出了存储有实现根据本发明实施方式的跨进程的窗口渲染的方法的计算机程序的计算机可读存储介质的示意图。
具体实施方式
下面将参考若干示例性实施方式来描述本发明的原理和精神。应当理解,给出这些实施方式仅仅是为了使本领域技术人员能够更好地理解进而实现本发明,而并非以任何方式限制本发明的范围。相反,提供这些实施方式是为了使本发明更加透彻和完整,并且能够将本发明的范围完整地传达给本领域的技术人员。
下面结合附图对本发明的具体实施方式进行详细描述。
图1示意性地示出了本发明的实施方式中设备的一个可选的软硬件结构示意图。
参考图1,本发明实施例所述设备10包括如下几个组成部分:
至少包括存储介质111、处理器112以及网络接口的硬件层11;
至少包括框架层121、核心库层122以及驱动层123的操作系统层12;以及
至少包括页面渲染引擎131、JS解释器132、网络实时通信接口组件133以及应用程序接口(API,Application Programming Interface)134的浏览器内核13。
其中,所述存储介质111,可以是移动存储装置、随机存取存储器(RAM,RandomAccess Memory)、只读存储器(ROM,Read-Only Memory)、磁碟或者光盘等各种可以存储程序代码的介质。优选地,所述存储介质113可为非易失性存储介质。
所述处理器112,可以为中央处理器(CPU,Central Processing Unit)、微处理器(MCU,Micro Controller Unit)、数字信号处理器(DSP,Digital Signal Processing)或可编程逻辑器件(PLC,Programmable Logic Controller)等具有处理功能的电子元器件或电子元器件的集合。
网络接口113,用于设备10有线或无线方式的通信,网络接口113可以接入基于通信标准的无线网络,如WiFi、2G、3G、4G和5G的演进或它们的组合。
所述操作系统层12用于实现各种基础业务以及处理基于硬件层11的任务,本发明实施例中的操作系统可以是基于Linux内核的操作系统如安卓(Android)系统,还可以是iOS系统和类Unix系统。当然,本发明实施例的操作系统并不排除使用其他任意类型的操作系统。浏览器内核13能够在不同的操作系统上运行。
在操作系统层12之上的是浏览器内核13赖以运行的第三方库,通常来讲,包括图形(Graphics)库、网络(Network)库、存储(Storage)库、字体(Fonts)库、传感器(Sensors)库、音频/视频(A/V)库和小工具(Widgets)库等,完成基本的加载和渲染网页的操作,这些第三方库借助于操作系统平台上的预留给应用程序的调用接口API134向浏览器内核13提供调用。
浏览器内核13,用于在设备10所安装的应用客户端中主要实现如下两大功能:1)浏览器功能:浏览器内核13通过页面渲染引擎131(如网络核心(Web Core)引擎)在设备10所安装的应用客户端中实现网页的显示,包括加载网页的数据并渲染网页,典型的应用是包含了请求网页、加载数据、渲染网页的过程;通过JS解释器132解释并执行页面渲染引擎131渲染的网页中的JS,从而实现网页的交互功能及其增强功能,例如通过跨进程的窗口渲染增强网页窗口的背景烘托效果等。2)直连的多媒体通信功能:浏览器内核13可以采用网络实时通信接口组件133向设备10所安装的应用客户端提供进行实时通信的API134;其中,当API为JS接口时,网络实时通信接口组件133可以提供为后缀名为“.js”的JS文件的软件实施方式,根据需要由浏览器内核13中的JS解释器132解释执行,以调用API134建立能够传输任意格式数据的数据通道,且所述数据通道不需要通过第三方服务器进行中转;浏览器内核13还可以通过网络实时通信接口组件133提供调用设备10的外设如摄像头/麦克风的接口,采用音频/视频数据在通道中传输而实现多媒体通信的功能。
本领域技术人员可以理解,该设备10的框架图仅是本发明的实施方式可以在其中得以实现跨进程的窗口渲染的设备的示例。在实际应用中,所述设备10包括但不限于:现有的、正在研发的或将来研发的台式计算机、膝上型计算机、移动终端(包括智能手机、非智能手机、各种平板电脑)等。
图2示意性地示出了本发明的实施方式中跨进程的窗口渲染方法的一实施例的流程图。
如图2所示,本发明实施例跨进程的窗口渲染方法20包括:操作201,确定第一窗口与第二窗口的位置关系,其中所述第一窗口对应于第一进程,所述第二窗口对应于第二进程;操作202,当所述位置关系满足预设条件时,将第二窗口中显示的至少一部分数据从第二进程传送到第一进程;以及操作203,在所述第一窗口中显示所述至少一部分数据。
其中,所述第二窗口中显示的至少一部分数据可以为任意形式,如文字、图片、Flash动漫、动态网页(html5)等形式的数据。
需要补充说明点的是,在传统的跨进程窗口渲染中,以中国专利申请公开CN104965692A为例,偏向于传输特定的(即约定的)界面信息数据到桌面应用中显示。而本发明实施例在不同进程间所传送的不仅仅是特定的界面信息数据,而是在第二窗口中显示的任意形式的至少一部分数据。
本发明实施例中,所述第一进程可以为游戏进程或其他任意包括多媒体数据显示的普通应用程序的进程,所述第二进程可以为浏览器进程或其他与所述第一进程类似的进程;相应地,与所述第一进程相对应的第一窗口为游戏窗口或其他普通应用程序的窗口,与所述第二进程相对应的第二窗口可以为网页窗口或其他与第一窗口类似的游戏窗口及其普通应用程序的窗口。
图3示意性地示出了本发明的实施方式中第一窗口与第二窗口的位置关系示意图。
参考图3,在操作201,所述第一窗口与第二窗口的位置关系包括:第一窗口完全覆盖第二窗口,如图3中情况1所示;或第一窗口部分覆盖第二窗口,如图3中情况2所示;或第一窗口与第二窗口不重叠,如图3中情况3所示。
在实际应用中,所述确定第一窗口与第二窗口的位置关系可以通过比对两个窗口的渲染位图的坐标数据的方式来实现。
具体地,首先从所述第一窗口对应的第一内存内容中获取用于表征自身渲染位图的第一坐标数据,从所述第二窗口对应的第二内存内容中获取用于表征自身渲染位图的第二坐标数据;其次,比对所述第一坐标数据与所述第二坐标数据,得到比对结果;最后,若所述比对结果为所述第二坐标数据完全包含在所述第一坐标数据中,则可以确定所述第一窗口完全覆盖第二窗口;若所述比对结果为所述第二坐标数据部分包含在所述第一坐标数据中,则可以确定所述第一窗口部分覆盖第二窗口;若所述比对结果为所述第二坐标数据与所述第一坐标数据无任何包含关系,则可以确定所述第一窗口与所述第二窗口不重叠。
在操作202,所述预设条件包括:第一窗口完全覆盖第二窗口;或第一窗口至少部分覆盖第二窗口;或第一窗口与第二窗口之间的距离小于等于特定阈值。其中,所述特定阈值的设置可以根据实际需要确定。
根据本发明一实施方式,操作202在确定所述位置关系满足预设条件时,可以直接将第二内存内容从第二进程传送至第一进程,并进一步将第二内存内容添加至第一内存内容;其中,所述第二内存内容和第一内存内容分别对应于第二窗口和第一窗口,所述第二内存内容包括第二窗口中显示的至少一部分数据,所述第一内存内容包括第一窗口中显示的数据。其中,所述第二内存内容除了包括第二窗口中显示的至少一部分数据之外,还可以包括第二窗口中的各种操作控件、网页链接控件及其头像控件等。
这样,与中国专利申请公开CN104965692A中所公开的偏向于传输特定的(即约定的)界面信息数据到桌面应用中显示相比,本发明实施例能够实现在不同进程间传送的直接的、通用的、内容不用约定的数据,即整个第二窗口所对应的第二内存内容。
这里,所述将第二窗口中显示的至少一部分数据从第二进程传送到第一进程,包括:通过共享内存(也称Create File Mapping)在所述第一进程和第二进程间建立通信的方式将第二窗口中显示的至少一部分数据从第二进程传送到第一进程。
在实际应用中,除了通过共享内存的方式在所述第一进程和第二进程间建立通信外,还可以通过在不同进程间均启动一个后台服务,即共享接口(如Windows的API)的方式实现第一进行和第二进程间的数据通信。
根据本发明一实施方式,在操作203之前,所述方法还包括:按照特定合成策略将所述第二窗口中显示的至少一部分数据与第一窗口中显示的数据加以合成。其中,所述特定合成策略包括:简单的叠加;或,简单的拼接;或,特定数据处理后叠加;或,特定数据处理后的拼接。
在一实施方式中,在操作203,首先将所述第二窗口中显示的至少一部分数据与第一窗口中显示的数据进行叠加;进一步地,在所述第一窗口中通过图层叠加的方式显示所述至少一部分数据。
在一实施方式中,在操作203,可以在所述第一窗口中半透明显示所述至少一部分数据,以实现对第二窗口的半透明显示。
这样,本发明实施例通过在所述第一窗口中以图层叠加的方式半透明显示所述第二窗口(如网页窗口)的至少一部分数据,即无窗口句柄的窗口内容的叠加显示,从而实现跨进程窗口间的无缝贴合渲染,从而提升视觉效果,改善用户体验。
图4示意性地示出了本发明一应用示例中跨进程的窗口渲染的显示效果图。
如图4所示,所述第一窗口为“逍遥捕鱼”的游戏窗口,所述第二窗口包括“综合”、“新闻”、“公告”及其“活动”四个网页操作控件在内的网页窗口A,所述第二窗口还包括与“逍遥捕鱼”的游戏窗口相关联的附有“美人鱼”动漫图片的“七夕寻宝黄金大作战”的广告宣传类网页窗口B。通过本发明实施例所述跨进程的窗口渲染,在所述网页窗口A在游戏窗口上得到半透明显示,使得所述游戏窗口中的奖杯有了半透明的效果,从而避免了被覆盖部分的网页窗口无法直观地呈现给用户的问题。
根据本发明一实施方式,在操作203之后,若检测有针对所述至少一部分数据的更新操作,则在第二进程或第一进程中基于所述更新操作对所述至少一部分数据进行更新,得到更新后的至少一部分数据;在所述第一窗口中显示所述更新后的至少一部分数据。
这里,当有用户通过物理的/虚拟的鼠标或键盘在第二窗口上执行网页操作,且所述网页操作引起对所述第二窗口中显示的至少一部分数据的更新时,则可以确定检测有针对所述至少一部分数据的更新操作;进一步地,由于本发明实施例在操作202中已将包括第二窗口中的各种操作控件、网页链接控件及其头像控件的第二内存内容从第二进程传送至第一进程,并进一步添加至第一内存内容,故可以选择性地在第二进程或第一进程中利用所述操作控件、网页链接控件或头像控件来响应所述更新操作,以对所述至少一部分数据进行更新,从而得到更新后的至少一部分数据。
在一示例中,如图4所示,通过本发明实施例所述跨进程的窗口渲染,当检测有用户在包括“综合”、“新闻”、“公告”及其“活动”四个网页操作控件在内的网页窗口A上的点击操作,如点击“新闻”虚拟按键的操作,则所述网页窗口A将从显示有综合性广告条目的界面更新至仅包括有新闻类广告条目的界面。
在一示例中,如图4所示,通过本发明实施例所述跨进程的窗口渲染,当检测有用户在与“逍遥捕鱼”的游戏窗口相关联的附有“美人鱼”动漫图片的“七夕寻宝黄金大作战”的广告宣传类网页窗口B上的头像操作,如滚动“美人鱼”的操作,则所述网页窗口B的“美人鱼”头像将呈现滚动动画效果。
如此,本发明实施例所述跨进行的窗口渲染方法,能够通过技术改进来扩展离屏渲染的应用范围,从而解决跨进程的窗口渲染问题。另外,在包括有网页窗口在内的跨进程的窗口渲染中,能够在游戏窗口或其他普通应用程序的窗口中实现网页窗口的半透明显示,有效实现跨进程窗口间的无缝贴合渲染,从而提升视觉效果,改善用户体验。而且,在有效实现网页窗口的半透明显示的基础上,还能够基于网页操作来实时跟进网页窗口的更新渲染,即密切配合可操作网页的灵活、多变、快速的特点,从而在达到增强网页窗口的背景烘托效果的基础上,使得视觉效果更炫,用户体验更好。
图5示意性地示出了本发明的实施方式中用于跨进程的窗口渲染的设备的组成结构示意图。
如图5所示,本发明实施例提供一种用于跨进行的窗口渲染的设备50,该设备50包括:确定装置501,用于确定第一窗口与第二窗口的位置关系,其中所述第一窗口对应于第一进程,所述第二窗口对应于第二进程;传送装置502,用于当所述位置关系满足预设条件时,将第二窗口中显示的至少一部分数据从第二进程传送到第一进程;显示装置503,用于在所述第一窗口中显示所述至少一部分数据。
这里,所述第一窗口与第二窗口的位置关系包括:第一窗口完全覆盖第二窗口;或第一窗口部分覆盖第二窗口;或第一窗口与第二窗口不重叠。
这里,所述预设条件包括:第一窗口完全覆盖第二窗口;或第一窗口至少部分覆盖第二窗口;或第一窗口与第二窗口之间的距离小于等于特定阈值。
根据本发明一实施方式,所述传送装置502,还用于将第二内存内容从第二进程传送至第一进程,并进一步添加至第一内存内容;其中,所述第二内存内容和第一内存内容分别对应于第二窗口和第一窗口,所述第二内存内容包括第二窗口中显示的至少一部分数据,所述第一内存内容包括第一窗口中显示的数据。
根据本发明一实施方式,所述设备还包括合成装置504,用于通过显示装置503在所述第一窗口中显示所述至少一部分数据之前,按照特定合成策略将所述第二窗口中显示的至少一部分数据与第一窗口中显示的数据加以合成。
根据本发明一实施方式,所述合成装置504,具体用于将所述第二窗口中显示的至少一部分数据与第一窗口中显示的数据进行叠加。
根据本发明一实施方式,所述显示装置503,还用于在所述第一窗口中通过图层叠加的方式显示所述至少一部分数据。
根据本发明一实施方式,所述显示装置503,还用于在所述第一窗口中半透明显示所述至少一部分数据。
根据本发明一实施方式,所述传送装置502,还用于通过共享内存在所述第一进程和第二进程间建立通信的方式将第二窗口中显示的至少一部分数据从第二进程传送到第一进程。
根据本发明一实施方式,所述设备还包括:更新装置505,用于通过显示装置503在所述第一窗口中显示所述至少一部分数据之后,若检测有针对所述至少一部分数据的更新操作,则在第二进程或第一进程中基于所述更新操作对所述至少一部分数据进行更新,得到更新后的至少一部分数据;所述显示装置503,还用于在所述第一窗口中显示所述更新后的至少一部分数据。
根据本申请实施例的所述用于跨进程的窗口渲染的设备50中的各组成结构的具体配置和操作已经在上面参考图1到图4描述的跨进程的窗口渲染方法中详细介绍,并因此,将省略其重复描述。
示例性设备
在介绍了本发明示例性实施方式的方法和设备之后,接下来,介绍根据本发明的另一示例性实施方式的用于跨进程的窗口渲染的设备。
所属技术领域的技术人员能够理解,本发明的各个方面可以实现为系统、方法或程序产品。因此,本发明的各个方面可以具体实现为以下形式,即:完全的硬件实施方式、完全的软件实施方式(包括固件、微代码等),或硬件和软件方面结合的实施方式,这里可以统称为“电路”、“模块”或“系统”。
在一些可能的实施方式中,本发明的用于跨进程的窗口渲染的设备可以至少包括一个或多个处理器、以及至少一个存储器。其中,存储器存储有计算机程序,当计算机程序被处理器执行时,使得处理器执行本说明书中描述的跨进程的窗口渲染的方法的各个步骤,例如,处理器可以执行如图2中所示的操作201,确定第一窗口与第二窗口的位置关系,其中所述第一窗口对应于第一进程,所述第二窗口对应于第二进程;操作202,当所述位置关系满足预设条件时,将第二窗口中显示的至少一部分数据从第二进程传送到第一进程;操作203,在所述第一窗口中显示所述至少一部分数据。
图6示意性地示出了根据本发明实施方式的用于跨进程的窗口渲染的设备的实现示意图。
下面参照图6来描述根据本发明的这种实施方式的用于跨进程的窗口渲染的设备600。图6显示的设备600仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。
如图6所示,设备600以通用计算设备的形式示出,包括但不限于:上述至少一个处理器610、上述至少一个存储器620、连接不同系统组件(包括存储器620和处理器610)的总线660。
总线660包括地址总线,控制总线和数据总线。
存储器620可以包括易失性存储器,例如随机存取存储器(RAM)621和/或高速缓存存储器622,还可以进一步包括只读存储器(ROM)623。
存储器620还可以包括一组(至少一个)程序模块624,这样的程序模块624包括但不限于:操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。
设备600还可以与一个或多个外部设备60(例如键盘、指向设备、蓝牙设备等)通信。这种通信可以通过输入/输出(I/O)接口640进行,并在显示单元630上进行显示。并且,设备600还可以通过网络适配器650与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。如图所示,网络适配器650通过总线660与设备600中的其它模块通信。应当明白,尽管图中未示出,但可以结合设备600使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、RAID系统、磁带驱动器以及数据备份存储系统等。
示例性计算机程序产品
在一些可能的实施方式中,本发明的各个方面还可以实现为一种计算机程序产品的形式,其包括程序代码,当所述程序代码在被处理器执行时,所述程序代码用于使所述处理器执行上面描述的方法的各个步骤,例如,处理器可以执行如图2中所示的操作201,确定第一窗口与第二窗口的位置关系,其中所述第一窗口对应于第一进程,所述第二窗口对应于第二进程;操作202,当所述位置关系满足预设条件时,将第二窗口中显示的至少一部分数据从第二进程传送到第一进程;操作203,在所述第一窗口中显示所述至少一部分数据。
所述计算机程序产品可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。
图7示意性地示出了存储有实现根据本发明实施方式的跨进程的窗口渲染的方法的计算机程序的计算机可读存储介质的示意图。
如图7所示,描述了根据本发明的实施方式的程序产品700,其可以采用便携式紧凑盘只读存储器(CD-ROM)并包括程序代码,并可以在终端或服务器上运行。然而,本发明的程序产品不限于此,在本文件中,可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
可以以一种或多种程序设计语言的任意组合来编写用于执行本发明操作的程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如Java、C++等,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、部分在用户计算设备上执行、或者完全在远程计算设备或服务器上执行。在涉及远程计算设备的情形中,远程计算设备可以通过任意种类的网络——包括局域网(LAN)或广域网(WAN)—连接到用户计算设备,或者,可以连接到外部计算设备(例如利用因特网服务提供商来通过因特网连接)。
此外,尽管在附图中以特定顺序描述了本发明方法的操作,但是,这并非要求或者暗示必须按照该特定顺序来执行这些操作,或是必须执行全部所示的操作才能实现期望的结果。附加地或备选地,可以省略某些步骤,将多个步骤合并为一个步骤执行,和/或将一个步骤分解为多个步骤执行。
应当注意,尽管在上文详细描述中提及了用于软件测试的若干装置及子装置,但是这种划分并非强制性的。实际上,根据本发明的实施方式,上文描述的两个或更多装置的特征和功能可以在一个装置中具体化。反之,上文描述的一个装置的特征和功能可以进一步划分为由多个装置来具体化。
虽然已经参考若干具体实施方式描述了本发明的精神和原理,但是应该理解,本发明并不限于所公开的具体实施方式,对各方面的划分也不意味着这些方面中的特征不能组合以进行受益,这种划分仅是为了表述的方便。本发明旨在涵盖所附权利要求的精神和范围内所包括的各种修改和等同布置。
Claims (10)
1.一种跨进程的窗口渲染方法,包括:
确定第一窗口与第二窗口的位置关系,其中所述第一窗口对应于第一进程,所述第二窗口对应于第二进程;
当所述位置关系满足预设条件时,将第二窗口中显示的至少一部分数据从第二进程传送到第一进程;以及
在所述第一窗口中显示所述至少一部分数据。
2.根据权利要求1所述的方法,其中,所述第一窗口与第二窗口的位置关系包括:
第一窗口完全覆盖第二窗口;或
第一窗口部分覆盖第二窗口;或
第一窗口与第二窗口不重叠。
3.根据权利要求1所述的方法,其中,所述预设条件包括:
第一窗口完全覆盖第二窗口;或
第一窗口至少部分覆盖第二窗口;或
第一窗口与第二窗口之间的距离小于等于特定阈值。
4.根据权利要求1所述的方法,其中,将第二窗口中显示的至少一部分数据从第二进程传送到第一进程,包括:
将第二内存内容从第二进程传送至第一进程,并进一步将第二内存内容添加至第一内存内容;
其中,所述第二内存内容和第一内存内容分别对应于第二窗口和第一窗口,所述第二内存内容包括第二窗口中显示的至少一部分数据,所述第一内存内容包括第一窗口中显示的数据。
5.根据权利要求4所述的方法,其中,在所述第一窗口中显示所述至少一部分数据之前,所述方法还包括:
按照特定合成策略将所述第二窗口中显示的至少一部分数据与第一窗口中显示的数据加以合成。
6.根据权利要求5所述的方法,其中,按照特定合成策略将所述第二窗口中显示的至少一部分数据与第一窗口中显示的数据加以合成,包括:
将所述第二窗口中显示的至少一部分数据与第一窗口中显示的数据进行叠加。
7.根据权利要求6所述的方法,其中,在所述第一窗口中显示所述至少一部分数据,包括:
在所述第一窗口中通过图层叠加的方式显示所述至少一部分数据。
8.一种用于跨进程的窗口渲染的设备,包括:
确定装置,用于确定第一窗口与第二窗口的位置关系,其中所述第一窗口对应于第一进程,所述第二窗口对应于第二进程;
传送装置,用于当所述位置关系满足预设条件时,将第二窗口中显示的至少一部分数据从第二进程传送到第一进程;
显示装置,用于在所述第一窗口中显示所述至少一部分数据。
9.一种用于跨进程的窗口渲染的设备,包括:
一个或者多个处理器;
存储器;
存储在所述存储器中的程序,当被所述一个或者多个处理器执行时,所述程序使所述处理器执行如权利要求1-7中任意一项所述的方法。
10.一种计算机可读存储介质,所述计算机可读存储介质存储有程序,当所述程序被处理器执行时,使得所述处理器执行如权利要求1-7中任意一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711462449.XA CN108205456A (zh) | 2017-12-28 | 2017-12-28 | 一种跨进程的窗口渲染方法、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711462449.XA CN108205456A (zh) | 2017-12-28 | 2017-12-28 | 一种跨进程的窗口渲染方法、设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN108205456A true CN108205456A (zh) | 2018-06-26 |
Family
ID=62606120
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201711462449.XA Pending CN108205456A (zh) | 2017-12-28 | 2017-12-28 | 一种跨进程的窗口渲染方法、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108205456A (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109101148A (zh) * | 2018-06-28 | 2018-12-28 | 珠海麋鹿网络科技有限公司 | 一种基于操作对象移动获取对象的窗口响应方法及其装置 |
CN109471794A (zh) * | 2018-10-08 | 2019-03-15 | 深圳市广和通无线股份有限公司 | 软件测试方法、装置、计算机设备和可读存储介质 |
CN110347464A (zh) * | 2019-06-26 | 2019-10-18 | 腾讯科技(深圳)有限公司 | 应用程序的用户界面渲染方法、装置、介质及电子设备 |
CN114356475A (zh) * | 2021-12-16 | 2022-04-15 | 北京飞讯数码科技有限公司 | 一种显示处理方法、装置、设备及存储介质 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102843394A (zh) * | 2011-06-22 | 2012-12-26 | 腾讯科技(深圳)有限公司 | 网络应用的框架装置及运行方法 |
CN104376016A (zh) * | 2013-08-15 | 2015-02-25 | 腾讯科技(深圳)有限公司 | 一种浏览器中跨进程渲染方法和装置 |
CN104571842A (zh) * | 2013-10-28 | 2015-04-29 | 联想(北京)有限公司 | 一种信息处理方法及电子设备 |
CN104965692A (zh) * | 2014-05-08 | 2015-10-07 | 腾讯科技(深圳)有限公司 | 在桌面应用中跨进程显示数据的方法及系统 |
CN105955802A (zh) * | 2016-04-21 | 2016-09-21 | 青岛海信移动通信技术股份有限公司 | 一种移动终端的应用运行方法及移动终端 |
CN106095237A (zh) * | 2016-06-08 | 2016-11-09 | 联想(北京)有限公司 | 信息处理方法及电子设备 |
CN106855772A (zh) * | 2015-12-09 | 2017-06-16 | 阿里巴巴集团控股有限公司 | 一种信息展示方法及装置 |
-
2017
- 2017-12-28 CN CN201711462449.XA patent/CN108205456A/zh active Pending
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102843394A (zh) * | 2011-06-22 | 2012-12-26 | 腾讯科技(深圳)有限公司 | 网络应用的框架装置及运行方法 |
CN104376016A (zh) * | 2013-08-15 | 2015-02-25 | 腾讯科技(深圳)有限公司 | 一种浏览器中跨进程渲染方法和装置 |
CN104571842A (zh) * | 2013-10-28 | 2015-04-29 | 联想(北京)有限公司 | 一种信息处理方法及电子设备 |
CN104965692A (zh) * | 2014-05-08 | 2015-10-07 | 腾讯科技(深圳)有限公司 | 在桌面应用中跨进程显示数据的方法及系统 |
CN106855772A (zh) * | 2015-12-09 | 2017-06-16 | 阿里巴巴集团控股有限公司 | 一种信息展示方法及装置 |
CN105955802A (zh) * | 2016-04-21 | 2016-09-21 | 青岛海信移动通信技术股份有限公司 | 一种移动终端的应用运行方法及移动终端 |
CN106095237A (zh) * | 2016-06-08 | 2016-11-09 | 联想(北京)有限公司 | 信息处理方法及电子设备 |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109101148A (zh) * | 2018-06-28 | 2018-12-28 | 珠海麋鹿网络科技有限公司 | 一种基于操作对象移动获取对象的窗口响应方法及其装置 |
CN109471794A (zh) * | 2018-10-08 | 2019-03-15 | 深圳市广和通无线股份有限公司 | 软件测试方法、装置、计算机设备和可读存储介质 |
CN110347464A (zh) * | 2019-06-26 | 2019-10-18 | 腾讯科技(深圳)有限公司 | 应用程序的用户界面渲染方法、装置、介质及电子设备 |
CN110347464B (zh) * | 2019-06-26 | 2022-01-11 | 腾讯科技(深圳)有限公司 | 应用程序的用户界面渲染方法、装置、介质及电子设备 |
CN114356475A (zh) * | 2021-12-16 | 2022-04-15 | 北京飞讯数码科技有限公司 | 一种显示处理方法、装置、设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108205456A (zh) | 一种跨进程的窗口渲染方法、设备及存储介质 | |
EP4155920A1 (en) | Application screen splitting method and apparatus, storage medium and electric device | |
KR101278771B1 (ko) | 창 관리자에서 라이브 창의 썸네일을 조작하는 인터페이스및 시스템 | |
CN105159521B (zh) | 用表示远程应用的用户界面元素更新停靠栏的方法和系统 | |
US10706212B1 (en) | Cross-platform presentation of digital content | |
US9715750B2 (en) | System and method for layering using tile-based renderers | |
US20210303108A1 (en) | System and method for on-screen graphical user interface encapsulation and reproduction | |
US20120278750A1 (en) | Method and apparatus for presenting a window in a system having two operating system environments | |
US20130159874A1 (en) | Variable refresh rates for portions of shared screens | |
CN106575396A (zh) | 消息对话历史的快速导航 | |
CN107870711A (zh) | 页面导航方法、提供用户界面的方法及客户端 | |
CN107463627A (zh) | 一种图片加载方法及终端 | |
US20150188990A1 (en) | Associating network-hosted files with network-hosted applications | |
US20110307792A1 (en) | Accessing elements in an operating system | |
US20140026086A1 (en) | Methods and Systems for Cross-Platform Computing Applications Featuring Adaptable User Interfaces | |
US20190080017A1 (en) | Method, system, and device that invokes a web engine | |
WO2018120992A1 (zh) | 一种窗口渲染方法及终端 | |
CN104346463A (zh) | 一种页面标签的加载方法、装置和浏览器客户端 | |
US20180350029A1 (en) | Indirect Argument Buffers | |
CN115080886A (zh) | 一种基于移动端的三维医学模型glb文件解析与展示方法 | |
CN110007833A (zh) | 一种实现终端屏幕滚动截图的智能编程实现方法及装置 | |
CN108052677A (zh) | 页面处理方法、装置及可读存储介质 | |
WO2023093458A1 (zh) | 确定墨水屏的刷新模式的方法、电子设备和存储介质 | |
US11537413B2 (en) | Context framework | |
CN110187881A (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 | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20180626 |