CN111258715B - 多操作系统渲染处理方法及装置 - Google Patents
多操作系统渲染处理方法及装置 Download PDFInfo
- Publication number
- CN111258715B CN111258715B CN202010034032.9A CN202010034032A CN111258715B CN 111258715 B CN111258715 B CN 111258715B CN 202010034032 A CN202010034032 A CN 202010034032A CN 111258715 B CN111258715 B CN 111258715B
- Authority
- CN
- China
- Prior art keywords
- rendering
- operating system
- opengles
- renderer
- client
- 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.)
- Active
Links
- 238000009877 rendering Methods 0.000 title claims abstract description 220
- 238000003672 processing method Methods 0.000 title claims abstract description 23
- 238000000034 method Methods 0.000 claims abstract description 72
- 230000008569 process Effects 0.000 claims abstract description 49
- 238000004590 computer program Methods 0.000 claims description 13
- 238000004891 communication Methods 0.000 abstract description 13
- 230000005540 biological transmission Effects 0.000 description 5
- 238000005516 engineering process Methods 0.000 description 5
- 238000010586 diagram Methods 0.000 description 4
- 230000009471 action Effects 0.000 description 3
- 239000000470 constituent Substances 0.000 description 2
- 239000003995 emulsifying agent Substances 0.000 description 2
- 230000007613 environmental effect Effects 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 239000000463 material Substances 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000005192 partition Methods 0.000 description 1
- 230000036632 reaction speed 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/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45504—Abstract machines for programme code execution, e.g. Java virtual machine [JVM], interpreters, emulators
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T1/00—General purpose image data processing
- G06T1/20—Processor architectures; Processor configuration, e.g. pipelining
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Image Generation (AREA)
Abstract
本发明实施例提供一种多操作系统渲染处理方法及装置,方法包括:捕获各云操作系统和/或各客户端调用的渲染指令;将所述渲染指令发送给OpenglES渲染器,使得所述OpenglES渲染器针对各云操作系统和/或各客户端发送的渲染指令进行多任务独立并行的渲染处理。本发明实施例由于在独立于Qemu虚拟化引擎的进程外的进程中设置渲染器,因此,使得渲染处理过程独立于Qemu虚拟化引擎之外实现,从而使得渲染处理过程不会对Qemu虚拟化引擎产生影响,Qemu虚拟化引擎仅需要通过进程间通信与渲染器传输渲染指令即可,从而解决了Qemu虚拟化引擎由于OpenglES渲染库导致的不稳定问题。
Description
技术领域
本发明涉及计算机技术领域,尤其涉及一种多操作系统渲染处理方法及装置。
背景技术
当前操作系统领域对CPU、硬盘、网络等计算机组成单元的虚拟化支持较好,但在GPU相关的虚拟化方面工作尚处于早期阶段,仅有的可查GPU虚拟化相关的技术主要在Google公司的Android模拟器中,Android模拟器采用emulator程序通过emulator内封装的QemuPipe,实现了Android系统OpenglES指令向Qemu虚拟化引擎的传输,并且在Qemu内实现了OpenglES指令的拆解渲染。
OpenglES指令的拆解分发在Qemu虚拟化引擎中实现,导致需要强稳定性的底层渲染引擎不得不调用并不稳定的OpenglES渲染库,易发生未知的Qemu虚拟化引擎崩溃。
发明内容
针对现有技术中的问题,本发明实施例提供一种多操作系统渲染处理方法及装置。
第一方面,本发明实施例提供了一种多操作系统渲染处理方法,包括:
捕获各云操作系统和/或各客户端调用的渲染指令;
将所述渲染指令发送给OpenglES渲染器,使得所述OpenglES渲染器针对各云操作系统和/或各客户端发送的渲染指令进行多任务独立并行的渲染处理;
其中,所述OpenglES渲染器运行在独立于虚拟化引擎进程外的进程中。
进一步地,将所述渲染指令发送给OpenglES渲染器,使得所述OpenglES渲染器针对各云操作系统和/或各客户端发送的渲染指令进行多任务独立并行的渲染处理,具体包括:
将所述渲染指令发送给OpenglES渲染器,使得所述OpenglES渲染器开启多任务并行处理模式,其中,每个任务处理模式对应一个操作系统或一个客户端的渲染指令的渲染处理。
进一步地,所述多操作系统渲染处理方法,还包括:
接收所述OpenglES渲染器针对各云操作系统和/或各客户端的渲染结果;
将针对各云操作系统和/或各客户端的渲染结果发送给各云操作系统和/或各客户端。
进一步地,所述捕获各云操作系统和/或各客户端调用的渲染指令,具体包括:
捕获各云操作系统和/或各客户端对GPU用户态驱动和OpenglES动态库调用的渲染指令。
第二方面,本发明实施例提供了一种多操作系统渲染处理装置,包括:
捕获模块,用于捕获各云操作系统和/或各客户端调用的渲染指令;
并行处理模块,用于将所述渲染指令发送给OpenglES渲染器,使得所述OpenglES渲染器针对各云操作系统和/或各客户端发送的渲染指令进行多任务独立并行的渲染处理;
其中,所述OpenglES渲染器运行在独立于虚拟化引擎进程外的进程中。
进一步地,所述并行处理模块,具体用于:
将所述渲染指令发送给OpenglES渲染器,使得所述OpenglES渲染器开启多任务并行处理模式,其中,每个任务处理模式对应一个操作系统或一个客户端的渲染指令的渲染处理。
进一步地,所述多操作系统渲染处理装置,还包括:
接收模块,用于接收所述OpenglES渲染器针对各云操作系统和/或各客户端的渲染结果;
发送模块,用于将针对各云操作系统和/或各客户端的渲染结果发送给各云操作系统和/或各客户端。
第三方面,本发明实施例还提供了一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如第一方面所述多操作系统渲染处理方法的步骤。
第四方面,本发明实施例还提供了一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如第一方面所述多操作系统渲染处理方法的步骤。
第五方面,本发明实施例还提供了一种计算机程序产品,其上存储有可执行指令,该指令被处理器执行时使处理器实现如第一方面所述多操作系统渲染处理方法的步骤。
由上面技术方案可知,本发明实施例提供的多操作系统渲染处理方法及装置,由于在独立于Qemu虚拟化引擎的进程外的进程中设置OpenglES渲染器,因此,使得渲染处理过程独立于Qemu虚拟化引擎之外实现,从而使得渲染处理过程不会对Qemu虚拟化引擎产生影响,Qemu虚拟化引擎仅需要通过进程间通信与OpenglES渲染器传输渲染指令即可,从而解决了Qemu虚拟化引擎由于OpenglES渲染库导致的不稳定问题。此外,由于OpenglES渲染器设置在一个独立进程中,因此,OpenglES渲染器具备了一个不受约束的环境,因此能够独立承接多个云操作系统和/或各客户端的渲染指令,从而可以实现多云操作系统和/或各客户端的独立并行渲染操作。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明一实施例提供的多操作系统渲染处理方法的流程图;
图2为本发明一实施例提供的多Android操作系统的并行独立渲染处理过程示意图;
图3为本发明一实施例提供的多操作系统渲染处理装置的结构示意图;
图4为本发明一实施例提供的电子设备的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
为方便理解本发明各实施例的内容,在对本发明各实施例的内容进行介绍之前,先对云操作系统和客户端的含义进行解释说明。云操作系统是指云端智能设备上安装的操作系统。云端智能设备为在云服务器上虚拟出来的虚拟机(云端智能设备可以为云手机、云电脑、云手表等智能设备),客户端是指能够远程操作云端智能设备的客户端(如智能手机、移动设备、汽车、个人电脑、平板电脑和个人数字助理等)。云端智能设备和客户端一般通过分布式网络建立通信,由于云端智能设备为虚拟机,没有输入输出设备,因此在对云端智能设备上的应用进行操作时,需要借助于客户端设备的输入输出设备进行输入和输出操作,例如,通过客户端对云端智能设备上的应用进行输入操作(如点击、滑动等输入操作),并通过客户端对云端智能设备上的应用进行输出操作(如进行云端智能设备上相关应用的内容显示等输出操作)。
图1示出了本发明实施例提供的多操作系统渲染处理方法的流程图。如图1所示,本发明实施例提供的多操作系统渲染处理方法包括如下步骤:
步骤101:捕获各云操作系统和/或各客户端调用的渲染指令;
步骤102:将所述渲染指令发送给OpenglES渲染器,使得所述OpenglES渲染器针对各云操作系统和/或各客户端发送的渲染指令进行多任务独立并行的渲染处理;
其中,所述OpenglES渲染器运行在独立于虚拟化引擎进程外的进程中。
在本实施例中,需要说明的是,本实施例提供的多操作系统渲染处理方法的实现过程如下所示:在独立于Qemu虚拟化引擎的进程外的进程中设置OpenglES渲染器,捕获各云操作系统和/或各客户端对GPU调用的渲染指令,将所述渲染指令发送给OpenglES渲染器,使得所述OpenglES渲染器针对各云操作系统和/或各客户端发送的渲染指令进行多任务独立并行的渲染处理。在本实施例中,可以理解的是,由于在独立于Qemu虚拟化引擎的进程外的进程中设置OpenglES渲染器,因此,使得渲染处理过程独立于Qemu虚拟化引擎之外实现,从而使得渲染处理过程不会对Qemu虚拟化引擎产生影响,Qemu虚拟化引擎仅需要通过进程间通信与OpenglES渲染器传输渲染指令即可,从而解决了Qemu虚拟化引擎由于OpenglES渲染库导致的不稳定问题。
在本实施例中,需要说明的是,所述OpenglES渲染器能够独立承接多个云端智能设备Android操作系统的渲染指令并将渲染指令并行下发到物理GPU执行渲染操作,这是因为OpenglES渲染器设置在一个独立进程中,因此,OpenglES渲染器具备了一个不受约束的环境前提,因此能够独立承接多个云操作系统和/或各客户端的渲染指令,OpenglES渲染器接收到这些渲染指令后,将这些渲染指令并行下发到物理GPU执行渲染操作,从而实现多云操作系统和/或各客户端的独立并行渲染操作,具体处理过程如图2所示。这里的云操作系统,一般指云端智能设备Android操作系统(当然也可以为其他操作系统),每个云端智能设备Android操作系统也可以称为一个Android虚拟化实例。
在本实施例中,可以理解的是,由于OpenglES渲染器设置在一个独立进程中,因此Qemu虚拟化引擎通过进程间通信与OpenglES渲染器通信实现渲染指令的传输。
在本实施例中,需要说明的是,云端智能设备为在云服务器上虚拟出来的虚拟机,云端智能设备Android操作系统指虚拟机Android操作系统。此外,客户端是指能够远程操作云端智能设备的客户端,如安装在远程操作设备如智能手机、移动设备、汽车、个人电脑、平板电脑和个人数字助理上的用于操作云端智能设备的应用程序等)。需要说明的是,云端智能设备和远程操作设备之间一般通过分布式网络建立通信。
在本实施例中,由于需要将渲染指令发送给OpenglES渲染器进行处理,因此需要捕获各云操作系统和/或各客户端对GPU调用的渲染指令。在本实施例中,如图2所示,对GPU调用的渲染指令可以为云操作系统发出的,也可以为客户端APP发出的,还可以为云操作系统和客户端APP发出的。在本实施例中,通过实现一个GPU用户态驱动和OpenglES动态库的渲染数据流捕获器,修改Android操作系统的GPU用户态驱动和OpenglES动态库,即可全部捕获Android操作系统本身以及APP对GPU调用的渲染指令,这里的渲染数据流捕获器是一个篡改过的、被所有执行OpenglES渲染的程序调用的动态库。
在本实施例中,在将渲染指令发送给OpenglES渲染器时,可以利用一个数据通讯器将所捕获到的渲染指令发送到OpenglES渲染器,使得所述OpenglES渲染器调用物理GPU资源对接收到的针对各云操作系统和/或各客户端的渲染指令执行渲染操作。
由上面技术方案可知,本发明实施例提供的多操作系统渲染处理方法,应用于云端智能设备,其实际上为一种多虚拟机操作系统独立并行的渲染处理方法,由于在独立于Qemu虚拟化引擎的进程外的进程中设置OpenglES渲染器,因此,使得渲染处理过程独立于Qemu虚拟化引擎之外实现,从而使得渲染处理过程不会对Qemu虚拟化引擎产生影响,Qemu虚拟化引擎仅需要通过进程间通信与OpenglES渲染器传输渲染指令即可,从而解决了Qemu虚拟化引擎由于OpenglES渲染库导致的不稳定问题。此外,由于OpenglES渲染器设置在一个独立进程中,因此,OpenglES渲染器具备了一个不受约束的环境,因此能够独立承接多个云操作系统和/或各客户端的渲染指令,从而可以实现多云操作系统和/或各客户端的独立并行渲染操作。
基于上述实施例的内容,在本实施例中,所述步骤102捕获各云操作系统和/或各客户端对GPU调用的渲染指令,具体可通过如下方式实现:
捕获各云操作系统和/或各客户端对GPU用户态驱动和OpenglES动态库调用的渲染指令。
在本实施例中,在捕获各云操作系统和/或各客户端对GPU调用的渲染指令时,可以捕获各云操作系统和/或各客户端对GPU用户态驱动和OpenglES动态库调用的渲染指令,从而可以较为方便地捕获到完整的渲染指令。
需要说明的是,正如背景技术部分所述,当前操作系统领域对CPU、硬盘、网络等计算机组成单元的虚拟化支持较好,但在GPU相关的虚拟化方面工作尚处于早期阶段,仅有的可查GPU虚拟化相关的技术主要在Google公司的Android模拟器中,Android模拟器采用emulator程序通过emulator内封装的QemuPipe,实现了Android系统OpenglES指令向Qemu虚拟化引擎的传输,并且在Qemu内实现了OpenglES指令的拆解渲染。OpenglES指令的拆解分发在Qemu虚拟化引擎中实现,导致需要强稳定性的底层渲染引擎不得不调用并不稳定的OpenglES渲染库,易发生未知的Qemu虚拟化引擎崩溃。此外,这种虚拟化引擎执行渲染的方法同样存在无法对单Android实例的GPU计算资源进行限制的问题,即先启动的Android实例可占用全部GPU计算资源,后启动的Android实例则只能等待GPU出现空闲的情况下使用计算资源,这导致对GPU计算资源限制的无力,同时也导致对Android实例计算优先级的划分的失败,即通过调高分配给Android实例的CPU、内存资源量并不能有效提高Android实例的真实反应速度。针对该问题,根据前述实施例提供的方案可知,渲染指令的处理变为由独立的OpenglES渲染器控制,因而使得渲染指令的处理存在了控制基础,基于此,可以在OpenglES渲染器内添加渲染资源限制策略,以实现对云操作系统和/或各客户端占用渲染流量的约束,从而实现了对GPU虚拟化资源的限制。下述实施例在OpenglES渲染器中添加了渲染资源限制策略,通过渲染资源限制策略实现对GPU计算资源的使用限制,下面实施例将具体介绍该问题。
基于上述实施例的内容,在本实施例中,步骤102将将所述渲染指令发送给OpenglES渲染器,使得所述OpenglES渲染器针对各云操作系统和/或各客户端发送的渲染指令进行多任务独立并行的渲染处理,具体可通过如下方式实现:
将所述渲染指令发送给OpenglES渲染器,使得所述OpenglES渲染器开启多任务并行处理模式,其中,每个任务处理模式对应一个操作系统或一个客户端的渲染指令的渲染处理。
在本实施例中,需要说明的是,所述OpenglES渲染器能够独立承接多个云端智能设备Android操作系统的渲染指令并将渲染指令并行下发到物理GPU执行渲染操作,这是因为OpenglES渲染器设置在一个独立进程中,因此,OpenglES渲染器具备了一个不受约束的环境前提,因此能够开启多任务并行处理模式,独立承接多个云操作系统和/或各客户端的渲染指令,OpenglES渲染器接收到这些渲染指令后,将这些渲染指令并行下发到物理GPU执行渲染操作,从而实现多云操作系统和/或各客户端的独立并行渲染操作,具体处理过程如图2所示。这里的云操作系统,一般指云端智能设备Android操作系统(当然也可以为其他操作系统),每个云端智能设备Android操作系统也可以称为一个Android虚拟化实例。
基于上述实施例的内容,在本实施例中,所述多操作系统渲染处理方法,还包括:
接收所述OpenglES渲染器针对各云操作系统和/或各客户端的渲染结果;
将针对各云操作系统和/或各客户端的渲染结果发送给各云操作系统和/或各客户端。
在本实施例中,接收所述OpenglES渲染器针对各云操作系统和/或各客户端的渲染结果,并将针对各云操作系统和/或各客户端的渲染结果发送给各云操作系统和/或各客户端,从而使得各云操作系统和/或各客户端能够并列独立地获得各自的渲染结果。
在本实施例中,将所述OpenglES渲染器中的渲染结果对应发送给相应的云操作系统和/或各客户端,实现了一个OpenglES渲染器对多个云操作系统的显示虚拟化处理。
根据上面描述可知,本实施例通过在独立进程中编写OpenglES渲染器,Qemu虚拟化引擎仅需要通过进程间通信与OpenglES渲染器通信实现渲染指令的传输,解决了Qemu虚拟化引擎由于OpenglES渲染库导致的不稳定问题;渲染指令的传输由OpenglES渲染器控制,使渲染指令执行结果的回传存在了控制基础,即控制先启动实例对GPU计算资源的占用有了机制上的基础支持,也为Android实例的优先级划分提供基础支持。需要说明的是,多Android操作系统的并行独立渲染技术是多Android操作系统虚拟化的基础技术,通过实现一个GPU用户态驱动和OpenglES动态库的渲染数据流捕获器,修改Android操作系统的GPU用户态驱动和OpenglES动态库,即可全部捕获Android操作系统本身以及APP对GPU的调用数据流。另外实现一个数据通讯器即可将所捕获的调用数据流发送给真实执行GPU操作的OpenglES渲染器;OpenglES渲染器是一个独立的可承接多个Android操作系统的GPU渲染需求的应用程序,能够同时将多个Android操作系统的渲染指令并行下发到GPU进行计算,并得到结果;在接收到数据通讯器发来的数据流后,OpenglES渲染器即可执行渲染并将渲染结果传回Android操作系统或APP,即可完成一OpenglES渲染器对多Android操作系统显示系统的虚拟化。如图2所示,在进行多操作系统渲染时共需三部分内容:渲染数据流捕获器:在Android操作系统中运行的捕获Android操作系统本身以及APP调用GPU用户态驱动和OpenglES动态库的渲染数据流捕获器;数据通讯器:一个可以将所捕获数据流发送到OpenglES渲染器并能接收渲染结果的数据通讯器;OpenglES渲染器:一个能够支持多渲染上下文的OpenglES渲染器。在本实施例中,通过能够独立接收渲染数据流并实现多Android操作系统的并行使用的OpenglES渲染器,以及能够捕获Android操作系统和APP渲染数据流并能与数据通讯器结合向OpenglES渲染器发送渲染数据流的渲染数据流捕获器,以及能够连通渲染数据流捕获器和OpenglES渲染器的数据通讯器共同实现了多Android操作系统的并行独立渲染处理。
图3示出了本发明实施例提供的多操作系统渲染处理装置的结构示意图。如图3所示,本发明实施例提供的多操作系统渲染处理装置包括:
捕获模块21,用于捕获各云操作系统和/或各客户端调用的渲染指令;
并行处理模块22,用于将所述渲染指令发送给OpenglES渲染器,使得所述OpenglES渲染器针对各云操作系统和/或各客户端发送的渲染指令进行多任务独立并行的渲染处理;
其中,所述OpenglES渲染器运行在独立于虚拟化引擎进程外的进程中。
进一步地,基于上述实施例的内容,在本实施例中,所述多操作系统渲染处理装置还包括:
设置模块,用于在独立于Qemu虚拟化引擎的进程外的进程中设置OpenglES渲染器,其中,所述OpenglES渲染器能够独立承接多个云操作系统的渲染指令并将渲染指令并行下发到物理GPU执行渲染操作。
进一步地,基于上述实施例的内容,在本实施例中,所述并行处理模块22,具体用于:
将所述渲染指令发送给OpenglES渲染器,使得所述OpenglES渲染器开启多任务并行处理模式,其中,每个任务处理模式对应一个操作系统或一个客户端的渲染指令的渲染处理。
进一步地,基于上述实施例的内容,在本实施例中,所述多操作系统渲染处理装置还包括:
接收模块,用于接收所述OpenglES渲染器针对各云操作系统和/或各客户端的渲染结果;
发送模块,用于将针对各云操作系统和/或各客户端的渲染结果发送给各云操作系统和/或各客户端。
进一步地,基于上述实施例的内容,在本实施例中,所述捕获模块21,具体用于:
捕获各云操作系统和/或各客户端对GPU用户态驱动和OpenglES动态库调用的渲染指令。由于本发明实施例提供的多操作系统渲染处理装置,可以用于执行上述实施例所述的多操作系统渲染处理方法,其工作原理和有益效果类似,故此处不再详述,具体内容可参见上述实施例的介绍。
基于相同的发明构思,本发明又一实施例提供了一种电子设备,参见图4,所述电子设备具体包括如下内容:处理器401、存储器402、通信接口403和通信总线404;
其中,所述处理器401、存储器402、通信接口403通过所述通信总线404完成相互间的通信;
所述处理器401用于调用所述存储器402中的计算机程序,所述处理器执行所述计算机程序时实现上述多操作系统渲染处理方法的全部步骤,例如,所述处理器执行所述计算机程序时实现下述过程:捕获各云操作系统和/或各客户端调用的渲染指令;将所述渲染指令发送给OpenglES渲染器,使得所述OpenglES渲染器针对各云操作系统和/或各客户端发送的渲染指令进行多任务独立并行的渲染处理;其中,所述OpenglES渲染器运行在独立于虚拟化引擎进程外的进程中。
可以理解的是,所述计算机程序可以执行的细化功能和扩展功能可参照上面实施例的描述。
基于相同的发明构思,本发明又一实施例提供了一种非暂态计算机可读存储介质,该非暂态计算机可读存储介质上存储有计算机程序,该计算机程序被处理器执行时实现上述多操作系统渲染处理方法的全部步骤,例如,所述处理器执行所述计算机程序时实现下述过程:捕获各云操作系统和/或各客户端调用的渲染指令;将所述渲染指令发送给OpenglES渲染器,使得所述OpenglES渲染器针对各云操作系统和/或各客户端发送的渲染指令进行多任务独立并行的渲染处理;其中,所述OpenglES渲染器运行在独立于虚拟化引擎进程外的进程中。
可以理解的是,所述计算机程序可以执行的细化功能和扩展功能可参照上面实施例的描述。
基于相同的发明构思,本发明又一实施例提供了一种计算机程序产品,其上存储有可执行指令,该指令被处理器执行时使处理器实现上述多操作系统渲染处理方法的全部步骤。例如,该指令被处理器执行时使处理器实现下述过程:捕获各云操作系统和/或各客户端调用的渲染指令;将所述渲染指令发送给OpenglES渲染器,使得所述OpenglES渲染器针对各云操作系统和/或各客户端发送的渲染指令进行多任务独立并行的渲染处理;其中,所述OpenglES渲染器运行在独立于虚拟化引擎进程外的进程中。此外,上述的存储器中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本发明实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的多操作系统渲染处理方法。
此外,在本发明中,诸如“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。在本发明的描述中,“多个”的含义是至少两个,例如两个,三个等,除非另有明确具体的限定。
此外,在本发明中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
此外,在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (7)
1.一种多操作系统渲染处理方法,其特征在于,包括:
捕获各云操作系统和/或各客户端调用的渲染指令;
将所述渲染指令发送给OpenglES渲染器,使得所述OpenglES渲染器针对各云操作系统和/或各客户端发送的渲染指令进行多任务独立并行的渲染处理;
其中,所述OpenglES渲染器运行在独立于虚拟化引擎进程外的进程中;
将所述渲染指令发送给OpenglES渲染器,使得所述OpenglES渲染器针对各云操作系统和/或各客户端发送的渲染指令进行多任务独立并行的渲染处理,具体包括:
将所述渲染指令发送给OpenglES渲染器,使得所述OpenglES渲染器开启多任务并行处理模式,其中,每个任务处理模式对应一个操作系统或一个客户端的渲染指令的渲染处理。
2.根据权利要求1所述的多操作系统渲染处理方法,其特征在于,还包括:
接收所述OpenglES渲染器针对各云操作系统和/或各客户端的渲染结果;
将针对各云操作系统和/或各客户端的渲染结果发送给各云操作系统和/或各客户端。
3.根据权利要求1所述的多操作系统渲染处理方法,其特征在于,所述捕获各云操作系统和/或各客户端调用的渲染指令,具体包括:
捕获各云操作系统和/或各客户端对GPU用户态驱动和OpenglES动态库调用的渲染指令。
4.一种多操作系统渲染处理装置,其特征在于,包括:
捕获模块,用于捕获各云操作系统和/或各客户端调用的渲染指令;
并行处理模块,用于将所述渲染指令发送给OpenglES渲染器,使得所述OpenglES渲染器针对各云操作系统和/或各客户端发送的渲染指令进行多任务独立并行的渲染处理;
其中,所述OpenglES渲染器运行在独立于虚拟化引擎进程外的进程中;
所述并行处理模块,具体用于:
将所述渲染指令发送给OpenglES渲染器,使得所述OpenglES渲染器开启多任务并行处理模式,其中,每个任务处理模式对应一个操作系统或一个客户端的渲染指令的渲染处理。
5.根据权利要求4所述的多操作系统渲染处理装置,其特征在于,还包括:
接收模块,用于接收所述OpenglES渲染器针对各云操作系统和/或各客户端的渲染结果;
发送模块,用于将针对各云操作系统和/或各客户端的渲染结果发送给各云操作系统和/或各客户端。
6.一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1至3任一项所述多操作系统渲染处理方法的步骤。
7.一种非暂态计算机可读存储介质,其上存储有计算机程序,其特征在于,该计算机程序被处理器执行时实现如权利要求1至3任一项所述多操作系统渲染处理方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010034032.9A CN111258715B (zh) | 2020-01-13 | 2020-01-13 | 多操作系统渲染处理方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010034032.9A CN111258715B (zh) | 2020-01-13 | 2020-01-13 | 多操作系统渲染处理方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111258715A CN111258715A (zh) | 2020-06-09 |
CN111258715B true CN111258715B (zh) | 2023-10-31 |
Family
ID=70950531
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010034032.9A Active CN111258715B (zh) | 2020-01-13 | 2020-01-13 | 多操作系统渲染处理方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111258715B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114116124A (zh) * | 2021-11-10 | 2022-03-01 | 支付宝(杭州)信息技术有限公司 | 一种云容器及基于云容器的人机交互方法和装置 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105678680A (zh) * | 2015-12-30 | 2016-06-15 | 魅族科技(中国)有限公司 | 一种图像处理的方法和装置 |
WO2019169913A1 (zh) * | 2018-03-06 | 2019-09-12 | 华为技术有限公司 | 一种数据处理的方法、装置、服务器和系统 |
CN110647375A (zh) * | 2019-09-23 | 2020-01-03 | 天津卓朗科技发展有限公司 | 云桌面的图像渲染方法、装置和云服务器 |
-
2020
- 2020-01-13 CN CN202010034032.9A patent/CN111258715B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105678680A (zh) * | 2015-12-30 | 2016-06-15 | 魅族科技(中国)有限公司 | 一种图像处理的方法和装置 |
WO2019169913A1 (zh) * | 2018-03-06 | 2019-09-12 | 华为技术有限公司 | 一种数据处理的方法、装置、服务器和系统 |
CN110647375A (zh) * | 2019-09-23 | 2020-01-03 | 天津卓朗科技发展有限公司 | 云桌面的图像渲染方法、装置和云服务器 |
Non-Patent Citations (1)
Title |
---|
高策 ; 孙贝磊 ; 周学海 ; 李曦 ; .Cocos2d-x游戏引擎的GPU功耗优化策略.小型微型计算机系统.2016,(第05期),全文. * |
Also Published As
Publication number | Publication date |
---|---|
CN111258715A (zh) | 2020-06-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11429442B2 (en) | Parallel and distributed computing using multiple virtual machines | |
CN109032706B (zh) | 智能合约执行方法、装置、设备和存储介质 | |
US10120705B2 (en) | Method for implementing GPU virtualization and related apparatus, and system | |
CN112764872B (zh) | 计算机设备、虚拟化加速设备、远程控制方法及存储介质 | |
TWI573075B (zh) | 持續及有彈性之工作處理 | |
US20190370091A1 (en) | Multi-process model for cross-platform applications | |
WO2020119316A1 (zh) | 终端系统构架、通信系统及通信方法、存储介质 | |
WO2017070900A1 (zh) | 多核数字信号处理系统中处理任务的方法和装置 | |
EP2807555B1 (en) | Para-virtualized asymmetric gpu processors | |
JP2010521034A (ja) | オペレーティングシステムからオペレーティング環境を抽象化する方法 | |
US20220357990A1 (en) | Method for allocating data processing tasks, electronic device, and storage medium | |
CN111274044B (zh) | Gpu虚拟化资源限制处理方法及装置 | |
CN111400000A (zh) | 网络请求处理方法、装置、设备和存储介质 | |
CN113886019B (zh) | 虚拟机创建方法、装置、系统、介质和设备 | |
CN112988346B (zh) | 任务处理方法、装置、设备及存储介质 | |
CN114499945B (zh) | 一种虚拟机的入侵检测方法及装置 | |
CN112256421B (zh) | 通信处理方法、装置、存储介质及电子设备 | |
US11875145B2 (en) | Virtual machine update while keeping devices attached to the virtual machine | |
KR101955744B1 (ko) | 로컬 서버를 통한 로컬 클라이언트 어플리케이션용 이벤트 서비스 | |
CN111258715B (zh) | 多操作系统渲染处理方法及装置 | |
CN114028801A (zh) | 基于云端的用户输入方法、装置、设备及存储介质 | |
CN111399928B (zh) | 应用程序的启动方法、装置、电子设备及可读存储介质 | |
CN116360941A (zh) | 一种面向多核dsp的并行计算资源自组织调度方法及系统 | |
CN115629809A (zh) | 数据处理方法、装置、电子设备及计算机可读存储介质 | |
CN114741165A (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 | ||
CB02 | Change of applicant information | ||
CB02 | Change of applicant information |
Address after: Room 332, 3 / F, Building 102, 28 xinjiekouwei street, Xicheng District, Beijing 100088 Applicant after: QAX Technology Group Inc. Applicant after: Qianxin Wangshen information technology (Beijing) Co.,Ltd. Address before: Room 332, 3 / F, Building 102, 28 xinjiekouwei street, Xicheng District, Beijing 100088 Applicant before: QAX Technology Group Inc. Applicant before: LEGENDSEC INFORMATION TECHNOLOGY (BEIJING) Inc. |
|
GR01 | Patent grant | ||
GR01 | Patent grant |