一种云桌面虚机实现3D能力的方法和系统技术方案

技术编号:24798958 阅读:74 留言:0更新日期:2020-07-07 20:57
一种云桌面虚机实现3D能力的方法和系统,对3D API的调用传递到显卡驱动模型模块时,显卡驱动模型模块通过调用引导模块中的业务接口,将对3D API的调用要执行的3D图形指令引导到渲染执行模块执行;渲染执行模块基于云桌面分配的虚拟硬件资源,将3D图形指令转换为2D图形后进行图形显示。本申请还提供了一种云桌面虚机实现3D能力的系统,包括显卡驱动模型模块、引导模块和渲染执行模块。本申请将3D规范的业务接口注入到显卡驱动模型中实现3D API的重定向,避免了挂钩或替换3D运行时库的操作,不会破坏操作系统的原生文件。

【技术实现步骤摘要】
一种云桌面虚机实现3D能力的方法和系统
本专利技术实施例涉及但不限于计算机领域,更具体地,涉及一种云桌面虚机实现3D能力的方法和系统。
技术介绍
云桌面作为云计算产业中落地最早的项目之一,市场规模巨大。近年来,云桌面在国内蓬勃发展,包括众多学校、政府、企业等均陆续采用云桌面技术替代传统PC。云桌面是企业IT架构的一次革命,带来移动计算体验的同时,满足了很多特定行业的需要。云桌面中的虚拟化技术已成功将许多物理设备虚拟化,抽象成内存或硬盘中的数据结构,但由于GPU(GraphicProcessUnit,图形处理单元)缺乏统一的硬件接口和开放的体系规范,从未曾被完善的虚拟化。云桌面虚拟机的3D(three-Dimensional,三维)处理需要借助非虚拟化或者半虚拟化的方案来实现。目前业界为了实现和满足云桌面虚拟机3D图像渲染显示的需求,提出了一些解决方案,这些实施方案可划分为以下三种方向:独占使用;独占使用,又称显卡透传,是绕过虚拟机的管理系统,将GPU使用权直接分配给某一台虚拟机,任何时刻都只有一台虚拟机拥有GPU的使用权限。这种3D能力的实现方式使GPU的独立性和完整性得以保存,3D效果和非虚拟化条件下相近,但是使用成本较贵,另外在虚拟机中DirectDraw(DirectX中关于视频输入输出的基本部分)加速和纹理加速功能受限无法开启,系统兼容性不理想,而且与云计算虚拟机动态分配、资源共享的理念不符GPU虚拟化;GPU虚拟化是目前云桌面虚拟机3D能力实现及部署的热门技术,能够满足云桌面3D图形图像处理和通用计算的要求,实现了虚拟环境完全隔离、迁移和共享的需求,但是该技术市场目前被NVIDA、AMD、INTEL等厂商的企业级系列产品所垄断,产品可选范围窄,价格昂贵,并且要求虚拟化主机具备显卡插槽,对虚级化主机要求较高,系统兼容性不好,需要专门的部署和配置。API(ApplicationProgrammingInterface,应用程序编程接口)重定向;API重定向是指对GPU相关的应用程序编程接口在应用层进行拦截,然后使用重定向或者模拟方法实现相应功能,将完成的结果返回给对应的应用程序。但这种方法可能会造成操作系统的不稳定、兼容性变差,致使操作系统僵死、卡顿、弹提示框等异常。
技术实现思路
以下是对本文详细描述的主题的概述。本概述并非是为了限制权利要求的保护范围。本专利技术实施例提供了一种云桌面虚机实现3D能力的方法,包括:对3DAPI的调用传递到显卡驱动模型模块时,所述显卡驱动模型模块通过调用引导模块中的业务接口,将所述对3DAPI的调用要执行的3D图形指令引导到渲染执行模块执行;所述渲染执行模块基于云桌面分配的虚拟硬件资源,将所述3D图形指令转换为2D图形后进行图形显示。本专利技术实施例提供了一种云桌面虚机实现3D能力的系统,包括:显卡驱动模型模块,设置为在对3D应用程序编程接口API的调用传递到所述显卡驱动模型模块时,调用引导模块中的业务接口;所述引导模块,设置为在所述引导模块中的业务接口被调用后,将所述调用要执行的3D图形指令引导到渲染执行模块执行;所述渲染执行模块,设置为基于云桌面分配的虚拟硬件资源,将所述对3DAPI的调用要执行的3D图形指令转换为2D图形后进行图形显示。本专利技术实施例提供了一种计算机设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算程序时实现如本专利技术任一实施例所述的方法的处理。本专利技术实施例提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如专利技术任一实施例所述的方法的处理。本专利技术实施例的方法和系统中,渲染执行模块将3D图形指令转换为2D图形后显示,因为显示的是2D图形,不依赖于GPU资源,其所基于的云桌面分配的虚拟硬件资源也不需要包括虚拟GPU资源。本专利技术的上述实施例避免了GPU虚拟化方法实现3D图像渲染显示时存在的相关产品可选范围窄,价格昂贵,要求虚拟化主机具备显卡插槽,系统兼容性不好,需要专门的部署和配置等问题。同时,本专利技术上述实施例的系统是将3D规范的业务接口注入到显卡驱动模型中,实现3DAPI的重定向,避免了挂钩或替换操作系统的3D运行时库的操作,不会破坏操作系统的原生文件。在阅读并理解了附图和详细描述后,可以明白其他方面。附图说明附图用来提供对本专利技术技术方案的进一步理解,并且构成说明书的一部分,与本申请的实施例一起用于解释本专利技术的技术方案,并不构成对本专利技术技术方案的限制。图1是本专利技术一示例性实施例的一种云桌面虚机实现3D能力的系统的示意图;图2是图1所示系统中的引导模块采用运动时库引导模块实现的示意图;图3是图1所示系统中的引导模块采用接口转换模块实现的示意图;图4是图1所示系统中的引导模块采用运动时库引导模块和接口转换模块实现的示意图;图5是本专利技术一示例性实施例的一种云桌面虚机实现3D能力的方法的流程图;图6是本专利技术一示例性实施例的用于实现云桌面虚机实现3D能力的计算机设备的示意图;图7是本专利技术一示例性实施例的模块相对关系及调用时序图;图8是Win7显示系统的逻辑模型图;图9是本专利技术一示例性实施例在Win7中使用OpenGL3D渲染的模型图;图10是图9所示实施例在Win7中使用OpenGL3D渲染的时序图;图11是本专利技术一示例性实施例在Win7中使用D3D10Warp3D渲染的模型图;图12是图11所示实施例在Win7中使用D3D10Warp3D渲染的时序图;图13A和图13B分别是本专利技术一示例性实施例在Linux中实现OpenGL应用3D渲染前、后的模型图;图14是图13B所示实施例在Linux中实现OpenGL应用3D渲染的时序图;图15A、图15B分别是本专利技术一示例性实施例在Linux中实现DirectX应用3D渲染前、后的模型图;图16是图15B所示实施例在Linux中实现DirectX应用3D渲染的时序图。具体实施方式本申请描述了多个实施例,但是该描述是示例性的,而不是限制性的,并且对于本领域的普通技术人员来说显而易见的是,在本申请所描述的实施例包含的范围内可以有更多的实施例和实现方案。尽管在附图中示出了许多可能的特征组合,并在具体实施方式中进行了讨论,但是所公开的特征的许多其它组合方式也是可能的。除非特意加以限制的情况以外,任何实施例的任何特征或元件可以与任何其它实施例中的任何其他特征或元件结合使用,或可以替代任何其它实施例中的任何其他特征或元件。本申请包括并设想了与本领域普通技术人员已知的特征和元件的组合。本申请已经公开的实施例、特征和元件也可以与任何常规特征或元件组合,以形成由权利要求限定的独特的专利技术方案。任何实施例的任何特征或元件也可以与来自其它专利技术方案的特征或元件组合,以形成另本文档来自技高网
...

【技术保护点】
1.一种云桌面虚机实现3D能力的方法,包括:/n对3D API的调用传递到显卡驱动模型模块时,所述显卡驱动模型模块通过调用引导模块中的业务接口,将所述对3D API的调用要执行的3D图形指令引导到渲染执行模块执行;/n所述渲染执行模块基于云桌面分配的虚拟硬件资源,将所述3D图形指令转换为2D图形后进行图形显示。/n

【技术特征摘要】
1.一种云桌面虚机实现3D能力的方法,包括:
对3DAPI的调用传递到显卡驱动模型模块时,所述显卡驱动模型模块通过调用引导模块中的业务接口,将所述对3DAPI的调用要执行的3D图形指令引导到渲染执行模块执行;
所述渲染执行模块基于云桌面分配的虚拟硬件资源,将所述3D图形指令转换为2D图形后进行图形显示。


2.根据权利要求1所述的方法,其特征在于:
对3DAPI的调用传递到显卡驱动模型模块时,所述显卡驱动模型模块通过调用引导模块中的业务接口,将所述3D图形指令引导到渲染执行模块执行,包括:
所述显卡驱动模型模块中驱动的业务接口被3D运行时库中第一3D规范的业务接口调用后,调用所述引导模块中第一3D规范的对应业务接口;
所述引导模块中第一3D规范的对应业务接口被调用后,将对3DAPI的调用传递到所述渲染执行模块中的业务接口。


3.根据权利要求2所述的方法,其特征在于:
所述渲染执行模块中的业务接口为第一3D规范的业务接口;
所述引导模块中第一3D规范的对应业务接口被调用后,将对3DAPI的调用传递到所述渲染执行模块中的业务接口,包括:所述引导模块中第一3D规范的对应业务接口被调用后,调用所述渲染执行模块中第一3D规范的业务接口执行所述3D图形指令。


4.根据权利要求2所述的方法,其特征在于:
所述引导模块中还封装有第二3D规范的业务接口,所述渲染执行模块中的业务接口为所述第二3D规范的业务接口;
所述引导模块中第一3D规范的对应业务接口被调用后,将对3DAPI的调用传递到所述渲染执行模块中的业务接口,包括:所述引导模块中第一3D规范的对应业务接口被调用后,调用所述引导模块中与其3D能力匹配的第二3D规范的对应业务接口;所述引导模块中第二3D规范的对应业务接口被调用后,调用所述渲染执行模块中第二3D规范的业务接口执行所述3D图形指令。


5.根据权利要求1所述的方法,其特征在于:
所述操作系统或应用程序调用3DAPI执行3D图形指令之前,所述方法还包括:
所述显卡驱动模型模块初始化时,将所述引导模块加载到操作系统的显示模型中;
所述引导模块被加载后,加载所述渲染执行模块,将所述引导模块中的业务接口注册到所述显卡驱动模型模块;
所述渲染执行模块被加载后,将所述渲染执行模块中的业务接口注册到所述引导模块。


6.根据权利要求1至5中任一所述的方法,其特征在于:
所述渲染执行模块将所述3D图形指令转换为2D图形后进行图形显示,包括:
所述渲染执行模块中的业务接口被调用后,基于云桌面分配的虚拟硬件资源实现3D图形指令的编译和执行,得到2D图形,再调用操作系统的2D图形API对所述2D图形进行显示。


7.一种云桌面虚机实现3D能力的系统,包括:
显卡驱动模型模块,设置为在对3D应用程序编程接口API的调用传递到所述显卡驱动模型模块时,调用引导模块中的业务接口;
所述引导模块,设置为在所述引导模块中的业务接口被调用后,将所述对3DAPI的调用要执行的3D图形指令引导到渲染执行模块执行;
所述渲染执行模块,设置为基于云桌面分配的虚拟硬件资源,将所述调用要执行的3D图形指令转换为2D图形后进行图形显示。


8.根据权利要求7所述的系统,其特征在于:
所述显卡驱动模型模块在对3DAPI的调用传递到所述显卡驱动模型模块时,调用引导模块中的业务接口,包括:所述显卡驱动模型模块中驱动的业务接口被3D运行时库中第一3D规范的业务接口调用后,调用所述引导模块中第一3D规范的对应业务接口;
所述引导模块中的业务接口被调...

【专利技术属性】
技术研发人员:张宁王长征修文飞陈佩文
申请(专利权)人:中兴通讯股份有限公司
类型:发明
国别省市:广东;44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1