一种基于服务器的资源共享渲染方法和装置制造方法及图纸

技术编号:36876311 阅读:7 留言:0更新日期:2023-03-15 20:38
本发明专利技术提出了一种基于服务器的资源共享渲染方法和装置;该方法包括:将渲染指令通过管道传输的方式传输至Android容器服务中的渲染模块、将渲染素材数据传输至服务器的共享内存中、读取共享内存中的渲染素材数据对所述渲染素材数据进行素材渲染;该装置由应用模块、渲染模块、共享内存模块、管道传输模块组成;借由该方式,提升了渲染素材数据的传输效率。提升了渲染素材数据的传输效率。提升了渲染素材数据的传输效率。

【技术实现步骤摘要】
一种基于服务器的资源共享渲染方法和装置


[0001]本专利技术涉及计算机技术
,具体涉及一种基于服务器的资源共享渲染方法和装置。

技术介绍

[0002]在服务器上运行安卓应用时,为了使用服务器的硬件图形加速能力,通常会在服务器Host系统中进行图形渲染,而待渲染素材数据和渲染命令在Android系统容器的Guest系统内,因此,需要将渲染素材数据和渲染命令从容器内的Guest系统传输至Host系统中。
[0003]目前,最常用的传输方式为管道传输方式,但由于渲染素材数据量比较大,在传输时,加重了管道的负载,管道通信效率较低,进而导致了渲染效率较低,使运行在Android系统容器内的Android游戏图形资源的载入速度较慢。

技术实现思路

[0004]针对上述存在的拘束局限性,本专利技术提出了一种基于服务器的资源共享渲染方法和装置,通过共享内存传输渲染素材数据,提升了渲染素材数据的传输效率。
[0005]为实现上述目的,本专利技术采用了以下技术方案:
[0006]一种基于服务器的资源共享渲染方法,所述方法包括:
[0007]Android系统容器中的应用模块根据目标渲染任务生成渲染指令,并将渲染指令通过管道传输的方式传输至Android容器服务中的渲染模块;
[0008]Android系统容器中的应用模块将渲染素材数据传输至服务器的共享内存中;
[0009]Android容器服务中的渲染模块读取共享内存中的渲染素材数据,根据渲染指令对所述渲染素材数据进行素材渲染。
[0010]一种基于服务器的资源共享渲染装置,所述装置由应用模块、渲染模块、共享内存模块、管道传输模块组成;
[0011]所述应用模块用于生成渲染指令及渲染素材数据;
[0012]所述渲染模块用于根据应用模块生成的渲染指令及渲染素材数据进行图形渲染;
[0013]所述共享内存模块用于保存应用模块所生成的渲染素材数据,并将渲染素材数据共享给渲染模块;
[0014]所述管道传输模块用于将应用模块所生成的渲染指令通过管道传输的方式传输至渲染模块。
[0015]本专利技术与现有技术相对比,本专利技术具有以下优点:
[0016]仅将渲染指令通过管道传输方式传输,渲染素材数据通过共享内存共享给渲染模块,降低了管道负载,从而提高了图形渲染效率。
[0017]上述说明仅是本专利技术技术方案的概述,为了能够更清楚了解本专利技术的技术手段,而可依照说明书的内容予以实施,并且为了让本专利技术的上述和其他目的、特征和优点能够更明显易懂,以下特举较佳实施例,并配合附图,详细说明如下。
附图说明
[0018]图1为本专利技术实施例提供的资源共享渲染装置的结构图。
[0019]图2为本专利技术实施例提供的资源共享渲染方法的流程图。
[0020]图3为本专利技术实施例提供的渲染模块的结构图。
[0021]图4为本专利技术实施例提供的服务器的结构图。
具体实施方式
[0022]以下由特定的具体实施例说明本专利技术的实施方式,熟悉此技术的人士可由本说明书所揭露的内容轻易地了解本专利技术的其他优点及功效,显然,所描述的实施例是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。为了进一步了解本专利技术,下面结合最佳实施例对本专利技术作进一步的详细说明。
[0023]本专利技术的一方面是提供一种基于服务器的资源共享渲染装置,用于提升图形渲染的效率;
[0024]参考图1所示,所述资源共享渲染装置由应用模块、渲染模块、共享内存模块、管道传输模块组成;
[0025]所述应用模块运行在Linux服务器的Android系统容器中的Android游戏应用中,用于生成渲染指令及渲染素材数据;
[0026]所述渲染模块运行在Linux服务器的Android容器服务中的硬件图形渲染器中,用于根据应用模块生成的渲染指令及渲染素材数据进行图形渲染;
[0027]所述共享内存模块为Linux服务器的共享内存,用于保存应用模块所生成的渲染素材数据,并将渲染素材数据共享给渲染模块;
[0028]所述管道传输模块为Linux服务器的通信管道,用于将应用模块所生成的渲染指令通过管道传输的方式传输至渲染模块。
[0029]本专利技术的另一方面是提供一种基于服务器的资源共享渲染方法;参考图2,所述方法包括以下步骤:
[0030]步骤1、Android系统容器中的应用模块根据目标渲染任务生成渲染指令,并将相应渲染素材数据存储至共享内存模块(Linux服务器的共享内存)中;
[0031]步骤2、应用模块将所述渲染指令借助管道传输模块按照管道传输的方式传输至Android容器服务中的渲染模块;
[0032]步骤3、所述渲染模块从共享内存模块中读取渲染素材数据,并跟据所述渲染指令对所述渲染素材数据进行素材渲染,得到已渲染数据。
[0033]作为一种实施例,所述应用模块由指令生成子模块及渲染素材数据子模块组成;
[0034]所述指令生成子模块用于根据所述Android游戏应用所生成的目标渲染任务生成渲染指令,并将所述渲染指令传输至所述管道传输模块;
[0035]所述渲染指令包括渲染操作方式及渲染素材数据位置数据;
[0036]所述渲染素材数据子模块用于根据获得Android游戏应用待渲染的渲染素材数据(图形数据),并将所述渲染素材数据传输至共享内存模块。
[0037]作为一种实施例,所述渲染模块由渲染控制子模块及渲染执行子模块组成;
[0038]所述渲染控制子模块用于接收从管道传输模块传输的渲染指令,并对渲染指令进行指令解码;
[0039]所述渲染执行子模块用于根据渲染指令通过Linux服务器的Android容器服务中的图像设备驱动以调用GPU、调取共享内存模块中的渲染素材数据进行素材渲染。
[0040]作为一种实施例,所述步骤1还包括以下步骤:
[0041]步骤11、应用模块的指令生成子模块根据Android游戏应用的目标渲染任务生成渲染指令,得到第一渲染指令;
[0042]与此同时,渲染数据子模块从所述Android游戏应用获得相应的渲染素材数据,并将其存储至共享内存模块中;
[0043]步骤12、将第一渲染指令进行指令编码得到第二渲染指令。
[0044]作为一种实施例,所述步骤11中,若所述共享内存模块中当前已存储有所述渲染素材数据,则无需将所述渲染素材数据传输至共享内存模块;若所述共享内存模块中当前未存储有所述渲染素材数据,则将所述渲染素材数据传输至共享内存模块;若所述共享内存模块中当前存储有所述渲染素材数据中的部分数据,则将共享内存模块中未存储的部分传输至共享内存模块。
[0045]作为一种实施例,所述步骤12中的指令编码是指采用编码算法对所述第一渲染指令进行编码,本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于服务器的资源共享渲染方法,其特征在于,所述方法包括:Android系统容器中的应用模块根据目标渲染任务生成渲染指令,并将渲染指令通过管道传输的方式传输至Android容器服务中的渲染模块;Android系统容器中的应用模块将渲染素材数据传输至服务器的共享内存中;Android容器服务中的渲染模块读取共享内存中的渲染素材数据,根据渲染指令对所述渲染素材数据进行素材渲染。2.根据权利要求1所述的方法,其特征在于,所述方法还包括:所述渲染模块对渲染素材进行渲染后,将已渲染数据与渲染指令合成为渲染视频。3.根据权利要求1所述的方法,其特征在于,所述应用模块将渲染指令进行指令编码后通过管道传输方式传输至所述渲染模块;所述渲染模块对指令编码后的渲染指令进行指令解码,以指令解码后的渲染指令进行素材渲染。4.根据权利要求3所述的方法,其特征在于,所述指令编码是指基于所述渲染指令的特殊性进行字符串拆解,将区别字符按照顺序排列,将其他字符按照字符长度进行简化表示。5.根据权利要求1所述的方法,其特征在于,若所述共享内存模块中当前已存储有所述渲染素材数据,则无需将所述渲染素材数据传输至共享内存模块;若所述共享内存模块中当前存储有所述渲染素材数据中的部分数据,则将共享内存模块中未存储的部分传输至共享内存模块。6.一种基于服务器的资源共享渲染装置,其特征在于,所述装置由应用模块、渲染模块、共享内存模块、管道传输模块组成;所述应用模块用于生成渲染指令及渲染素材数据;所述渲染模块用于根据应用模块生成的渲染指令及渲染素材数据进行图形渲染;所述共享内存模...

【专利技术属性】
技术研发人员:李瑞亮雷小刚贾宏伟郭建君
申请(专利权)人:北京蔚领时代科技有限公司
类型:发明
国别省市:

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

1