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

技术编号:32298549 阅读:12 留言:0更新日期:2022-02-12 20:09
本申请提供了一种基于服务器的资源共享渲染方法和装置,涉及渲染技术领域。该方法包括获取Guest系统中的安卓应用发送的渲染命令,并将待渲染数据写入共享内存中;在Host系统中根据渲染命令和待渲染数据所在的共享内存信息对待渲染数据进行渲染。以此方式,可以提高图形渲染效率。提高图形渲染效率。提高图形渲染效率。

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


[0001]本申请涉及渲染
,尤其是涉及一种基于服务器的资源共享渲染方法和装置。

技术介绍

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

技术实现思路

[0004]为了提高图形渲染效率,本申请提供了一种基于服务器的资源共享渲染方法和装置。
[0005]在本申请的第一方面,提供了一种基于服务器的资源共享渲染方法。该方法包括:获取Guest系统中的安卓应用发送的渲染命令,并将待渲染数据写入共享内存中;在Host系统中根据所述渲染命令和待渲染数据所在的共享内存信息对所述待渲染数据进行渲染。
[0006]通过采用上述技术方案,将待渲染数据放入共享内存中,在管道传输的过程中,只需将渲染命令和待渲染数据所存储的共享内存信息进行传输,在渲染过程中,只需通过共享内存信息在该共享内存中读取待渲染数据,即可进行渲染,降低了管道的负载,从而提高了图形渲染效率。
[0007]可选的,所述获取Guest系统中的安卓应用发送的渲染命令,并将待渲染数据写入共享内存中之后还包括:在Guest系统中将所述渲染命令和待渲染数据所在的共享内存信息进行编码;将所述编码通过管道输出至Host系统;在Host系统中对所述编码进行解码,获取所述渲染命令和待渲染数据所在的所述共享内存信息。
[0008]可选的,所述在Host系统中根据所述渲染命令和待渲染数据所在的共享内存信息对所述待渲染数据进行渲染包括:根据所述共享内存信息在共享内存中读取待渲染数据;根据所述渲染命令对待渲染数据进行渲染。
[0009]在本申请的第二方面,提供了一种基于服务器的资源共享渲染装置。该装置包括:生成模块(310),用于获取Guest系统中的安卓应用发送的渲染命令,并将待渲染数据写入共享内存中;渲染模块(320),用于在Host系统中根据所述渲染命令和待渲染数据所在的共享内存信息对所述待渲染数据进行渲染。
[0010]可选的,该装置还包括:编码模块,用于在Guest系统中将所述渲染命令和待渲染
数据所在的共享内存信息进行编码;传输模块,用于将所述编码通过管道输出至Host系统;解码模块,用于在Host系统中对所述编码进行解码,获取所述渲染命令和待渲染数据所在的所述共享内存信息。
[0011]可选的,所述渲染模块具体用于:根据所述共享内存信息在共享内存中读取待渲染数据;根据所述渲染命令对待渲染数据进行渲染。
[0012]在本申请的第三方面,提供了一种服务器。该服务器包括:存储器和处理器,所述存储器上存储有计算机程序,所述处理器执行所述程序时实现如以上所述的方法。
[0013]在本申请的第四方面,提供了一种计算机可读存储介质,其上存储有计算机程序,所述程序被处理器执行时实现如根据本申请的第一方面的方法。
[0014]应当理解,
技术实现思路
部分中所描述的内容并非旨在限定本申请的实施例的关键或重要特征,亦非用于限制本申请的范围。本申请的其它特征将通过以下的描述变得容易理解。
附图说明
[0015]结合附图并参考以下详细说明,本申请各实施例的上述和其他特征、优点及方面将变得更加明显。在附图中,相同或相似的附图标记表示相同或相似的元素,其中:图1是本申请实施例中服务器的方框图;图2是本申请实施例中基于服务器的资源共享渲染方法的流程图;图3是本申请实施例中基于服务器的资源共享渲染装置的方框图;图4是本申请实施例中服务器的方框图。
具体实施方式
[0016]为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述。
[0017]图1示出了本申请实施例中服务器的方框图。
[0018]参见图1,该服务器中包括有Android容器服务器和Android系统容器120,Android容器服务器中运行有硬件图形渲染器110。其中,运行在服务器上的系统称为Host系统,运行在Android系统容器120中的系统称为Guest系统。在硬件图形渲染器110和Android系统容器120之间建立通道和共享内存130空间,即硬件图形渲染器110和Android系统容器120共用同一个共享内存130,来传输信息。
[0019]需要说明的是,运行在服务器上的Host系统可以是Linux系统、Windows系统等;运行在Android系统容器120上的Guest系统为Android系统。
[0020]图2示出了本申请实施例中基于服务器的资源共享渲染方法的流程图。参见图2,该方法包括以下步骤:步骤210:获取Guest系统中的安卓应用发送的渲染命令,并将待渲染数据写入共享内存中。
[0021]需要说明的是,硬件图形渲染器110和Android系统容器120之间建立共享内存130空间。
[0022]在Android容器中的Android应用向服务器发送渲染请求,并在Guest系统中将待渲染数据写入共享内存130中。
[0023]在一些实施方式中,步骤210之后还包括以下步骤:在Guest系统中将渲染命令和待渲染数据所在的共享内存信息进行编码;将编码通过管道输出至Host系统;在Host系统中对编码进行解码,获取渲染命令和待渲染数据所在的所述共享内存信息。
[0024]具体地,接收到渲染命令时,Android系统容器中的Guest系统将待渲染数据写入共享内存130中后,将渲染命令和待渲染数据所在的共享内存信息进行编码,其中,共享内存信息包括待渲染数据所在共享内存信息的共享内存的文件描述符、数据偏移地址以及数据长度。Guest系统将渲染命令和共享内存信息进行编码处理后通过管道传输至服务器的Host系统中。Host系统接收到编码后,会先对编码进行解码处理,来获得渲染命令和待渲染数据在共享内存130中的共享内存信息。
[0025]在一些实施方式中,管道可以使用socket管道 、goldfish

pipe管道,或者其他能够搭建在服务器和容器之间的管道。
[0026]由于在管道传输过程中,只需要传输渲染命令和待渲染数据在共享内存130中的共享内存信息,大大减少了传输的字节数,降低了减轻了管道的负载,从而提高了传输效率。
[0027]步骤220:在Host系统中根据渲染命令和待渲染数据所在的共享内存信息对待渲染数据进行渲染。
[0028]具体地,Host系统将解码处理后的渲染命令和共享本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于服务器的资源共享渲染方法,其特征在于,包括:获取Guest系统中的安卓应用发送的渲染命令,并将待渲染数据写入共享内存中;在Host系统中根据所述渲染命令和待渲染数据所在的共享内存信息对所述待渲染数据进行渲染。2.根据权利要求1所述的方法,其特征在于,所述获取Guest系统中的安卓应用发送的渲染命令,并将待渲染数据写入共享内存中之后还包括:在Guest系统中将所述渲染命令和待渲染数据所在的共享内存信息进行编码;将所述编码通过管道输出至Host系统;在Host系统中对所述编码进行解码,获取所述渲染命令和待渲染数据所在的所述共享内存信息。3.根据权利要求1所述的方法,其特征在于,所述在Host系统中根据所述渲染命令和待渲染数据所在的共享内存信息对所述待渲染数据进行渲染包括:根据所述共享内存信息在共享内存中读取待渲染数据;根据所述渲染命令对待渲染数据进行渲染。4.一种基于服务器的资源共享渲染装置,其特征在于,包括:生成模块(310),用于获取Guest系统中的安卓...

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

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

1