CN111450528B - 一种云游戏的渲染服务系统、方法及装置 - Google Patents

一种云游戏的渲染服务系统、方法及装置 Download PDF

Info

Publication number
CN111450528B
CN111450528B CN202010244652.5A CN202010244652A CN111450528B CN 111450528 B CN111450528 B CN 111450528B CN 202010244652 A CN202010244652 A CN 202010244652A CN 111450528 B CN111450528 B CN 111450528B
Authority
CN
China
Prior art keywords
rendering
module
target
game
virtual driving
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
Application number
CN202010244652.5A
Other languages
English (en)
Other versions
CN111450528A (zh
Inventor
赵增
刘柏
邢孟棒
何钧
邓杰
程龙
胡志鹏
卢小军
李仁杰
范长杰
钱海勇
关文浩
陈明辉
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Netease Hangzhou Network Co Ltd
Original Assignee
Netease Hangzhou Network Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Netease Hangzhou Network Co Ltd filed Critical Netease Hangzhou Network Co Ltd
Priority to CN202010244652.5A priority Critical patent/CN111450528B/zh
Publication of CN111450528A publication Critical patent/CN111450528A/zh
Application granted granted Critical
Publication of CN111450528B publication Critical patent/CN111450528B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/50Controlling the output signals based on the game progress
    • A63F13/52Controlling the output signals based on the game progress involving aspects of the displayed game scene
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals

Abstract

本申请提供了一种云游戏的渲染服务系统、方法及装置,其中,该系统包括:虚拟驱动模块在确定与该虚拟驱动模块连接的游戏客户端启动目标游戏之后,向调度模块发送目标调度请求;获取游戏客户端发送的渲染请求,并发送至为该虚拟驱动模块分配的目标渲染服务模块;接收目标渲染服务模块发送的游戏渲染画面,并传输至游戏客户端;调度模块基于虚拟驱动模块发送的目标调度请求以及各个渲染服务模块当前对应的渲染资源信息,为虚拟驱动模块对应启动的目标游戏分配目标渲染服务模块;目标渲染服务模块接收渲染请求,得到与目标游戏对应的游戏渲染画面。上述方案基于渲染负载情况灵活分配渲染资源,从而提升渲染资源的利用率。

Description

一种云游戏的渲染服务系统、方法及装置
技术领域
本申请涉及云游戏技术领域,具体而言,涉及一种云游戏的渲染服务系统、方法及装置。
背景技术
云游戏作为一种以云计算技术为基础的在线游戏,使得图形处理与数据运算能力比较有限的终端设备能够运行高品质的游戏。在云游戏的运行模式下,云游戏的系统分为服务器和客户端,服务器可以利用庞大的集群对游戏画面进行实时渲染,还可以通过串流技术将渲染后的游戏画面传送至客户端,从而显示给用户。
为了确保画面渲染的实时性,可以采用集成型渲染方案,也即,将用于逻辑计算的中央处理器(Central Processing Unit,CPU)以及用于图像渲染的图形处理器(GraphicsProcessing Unit,GPU)部署在一台服务器内。通常,该服务器在针对多个客户端进行渲染资源的分配时,可以采用平均分配的方式,比如,一个客户端的游戏实例对应一块GPU的渲染资源。
然而,由于不同游戏实例所需的渲染资源并不相同,而单个游戏实例使用一块渲染资源时往往导致渲染资源的浪费,这进一步导致整体的渲染资源利用率较低。
发明内容
有鉴于此,本申请的目的在于提供至少一种云游戏的渲染服务方案,能够基于渲染负载情况灵活的进行渲染资源分配,从而提升渲染资源利用率。
主要包括以下几个方面:
第一方面,本申请提供了一种云游戏的渲染服务系统,包括:调度模块、至少一个虚拟驱动模块以及至少一个渲染服务模块;所述虚拟驱动模块连接有游戏客户端;
所述虚拟驱动模块,用于在确定与该虚拟驱动模块连接的游戏客户端启动目标游戏之后,向所述调度模块发送目标调度请求;获取与该虚拟驱动模块连接的游戏客户端发送的针对所述目标游戏的渲染请求,向为该虚拟驱动模块分配的目标渲染服务模块发送所述渲染请求;以及,接收所述目标渲染服务模块发送的与所述目标游戏对应的游戏渲染画面,并传输至所述游戏客户端;
所述调度模块,用于基于所述虚拟驱动模块发送的目标调度请求以及所述至少一个渲染服务模块中渲染服务模块当前对应的渲染资源信息,为所述虚拟驱动模块对应启动的目标游戏分配目标渲染服务模块;
所述目标渲染服务模块,用于接收由该目标渲染服务模块对应的虚拟驱动模块发送的针对所述目标游戏的渲染请求,得到与所述目标游戏对应的游戏渲染画面。
在一种实施方式中,所述系统还包括:渲染池模块;所述渲染池模块与所述虚拟驱动模块连接;
所述虚拟驱动模块,具体用于在获取到与该虚拟驱动模块连接的游戏客户端发送的针对所述目标游戏的渲染请求之后,经由所述渲染池模块向为该虚拟驱动模块分配的目标渲染服务模块发送所述渲染请求;
所述渲染池模块,用于接收所述虚拟驱动模块发送的渲染请求,并将接收的所述渲染请求转发至为该虚拟驱动模块分配的目标渲染服务模块。
在一种实施方式中,所述渲染池模块,用于在接收到多个渲染请求时,基于多个渲染请求中每个渲染请求携带的渲染数据确定多个所述渲染请求的转发顺序;按照确定的所述转发顺序,将接收的所述多个渲染请求转发至为所述虚拟驱动模块分配的目标渲染服务模块。
在一种实施方式中,所述系统还包括监控管理模块;所述监控管理模块与所述渲染服务模块连接;
所述监控管理模块,用于获取所述渲染服务模块的运行状态信息,并在确定该渲染服务模块的运行状态信息存在异常时,基于各个渲染服务模块当前对应的渲染资源信息确定渲染调整信息;将所述渲染调整信息发送至所述调度模块;
所述调度模块,用于根据所述监控管理模块发送的渲染调整信息,对所述虚拟驱动模块对应启动的目标游戏进行目标渲染服务模块的重新分配。
第二方面,本申请还提供了一种云游戏的渲染服务方法,所述方法包括:
在确定游戏客户端启动目标游戏之后,向调度模块发送目标调度请求,以使所述调度模块基于所述目标调度请求以及至少一个渲染服务模块中渲染服务模块当前对应的渲染资源信息,为所述目标游戏分配目标渲染服务模块;
在获取到与所述游戏客户端发送的针对所述目标游戏的渲染请求之后,向为所述目标游戏分配的目标渲染服务模块发送所述渲染请求;
接收所述目标渲染服务模块基于所述渲染请求渲染得到的与所述目标游戏对应的游戏渲染画面。
第三方面,本申请还提供了一种云游戏的渲染服务方法,所述方法包括:
接收虚拟驱动模块发送的目标调度请求;所述目标调度请求为所述虚拟驱动模块在确定与该虚拟驱动模块连接的游戏客户端启动目标游戏之后,生成的调度请求;
基于所述虚拟驱动模块发送的目标调度请求以及至少一个渲染服务模块中渲染服务模块当前对应的渲染资源信息,为所述虚拟驱动模块对应启动的目标游戏分配目标渲染服务模块。
第四方面,本申请还提供了一种云游戏的渲染服务方法,所述方法包括:
接收虚拟驱动模块发送的针对目标游戏的渲染请求;所述渲染请求为与所述虚拟驱动模块连接的游戏客户端针对所述目标游戏发送的;
根据所述渲染请求,得到与所述目标游戏对应的游戏渲染画面。
第五方面,本申请还提供了一种云游戏的渲染服务装置,所述装置包括:
调度模块,用于在确定游戏客户端启动目标游戏之后,向调度模块发送目标调度请求,以使所述调度模块基于所述目标调度请求以及至少一个渲染服务模块中渲染服务模块当前对应的渲染资源信息,为所述目标游戏分配目标渲染服务模块;
发送模块,用于在获取到与所述游戏客户端发送的针对所述目标游戏的渲染请求之后,向为所述目标游戏分配的目标渲染服务模块发送所述渲染请求;
接收模块,用于接收所述目标渲染服务模块基于所述渲染请求渲染得到的与所述目标游戏对应的游戏渲染画面。
第六方面,本申请还提供了一种云游戏的渲染服务装置,所述装置包括:
接收模块,用于接收虚拟驱动模块发送的目标调度请求;所述目标调度请求为所述虚拟驱动模块在确定与该虚拟驱动模块连接的游戏客户端启动目标游戏之后,生成的调度请求;
分配模块,用于基于所述虚拟驱动模块发送的目标调度请求以及至少一个渲染服务模块中渲染服务模块当前对应的渲染资源信息,为所述虚拟驱动模块对应启动的目标游戏分配目标渲染服务模块。
第七方面,本申请还提供了一种云游戏的渲染服务装置,所述装置包括:
接收模块,用于接收虚拟驱动模块发送的针对目标游戏的渲染请求;所述渲染请求为与所述虚拟驱动模块连接的游戏客户端针对所述目标游戏发送的;
生成模块,用于根据所述渲染请求,得到与所述目标游戏对应的游戏渲染画面。
第八方面,本申请还提供了一种计算机设备,包括:处理器、存储介质和总线,所述存储介质存储有所述处理器可执行的机器可读指令,当计算机设备运行时,所述处理器与所述存储介质之间通过总线通信,所述机器可读指令被所述处理器执行时执行如第二方面、第三方面及第四方面任一所述的云游戏的渲染服务方法的步骤。
第九方面,本申请还提供了一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行如第二方面、第三方面及第四方面任一所述的云游戏的渲染服务方法的步骤。
采用上述方案,虚拟驱动模块能够在确定与该虚拟驱动模块连接的游戏客户端启动目标游戏之后,向调度模块发送目标调度请求,调度模块则可以基于虚拟驱动模块发送的目标调度请求以及至少一个渲染服务模块中渲染服务模块当前对应的渲染资源信息,为虚拟驱动模块对应启动的目标游戏分配目标渲染服务模块。这样,在虚拟驱动模块获取到与该虚拟驱动模块连接的游戏客户端发送的针对目标游戏的渲染请求,可以向为该虚拟驱动模块分配的目标渲染服务模块发送渲染请求,目标渲染服务模块则能够基于接收到的渲染请求,得到与目标游戏对应的游戏渲染画面,并可以将该游戏渲染画面通过虚拟驱动模块传输至游戏客户端。也即,采用上述方案,调度模块可以基于调取请求以及各个渲染服务模块当前对应的渲染资源信息,为每个虚拟驱动模块确定匹配的目标渲染服务模块以根据对应的渲染资源信息进行渲染,避免了单个游戏实例使用一块渲染资源时所导致渲染资源的浪费问题,能够基于渲染负载情况进行灵活的渲染资源分配,从而提升渲染资源的利用率。
为使本申请的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1示出了本申请实施例一所提供的一种云游戏的渲染服务系统的结构示意图;
图2示出了本申请实施例一所提供的一种云游戏的渲染服务系统的应用结构示意图;
图3示出了本申请实施例二所提供的一种云游戏的渲染服务方法的流程图;
图4示出了本申请实施例二所提供的另一种云游戏的渲染服务方法的流程图;
图5示出了本申请实施例二所提供的另一种云游戏的渲染服务方法的流程图;
图6示出了本申请实施例三所提供的一种云游戏的渲染服务装置的示意图;
图7示出了本申请实施例三所提供的另一种云游戏的渲染服务装置的示意图;
图8示出了本申请实施例三所提供的另一种云游戏的渲染服务装置的示意图;
图9示出了本申请实施例四所提供的一种计算机设备的示意图;
图10示出了本申请实施例四所提供的另一种计算机设备的示意图;
图11示出了本申请实施例四所提供的另一种计算机设备的示意图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本申请实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本申请的实施例的详细描述并非旨在限制要求保护的本申请的范围,而是仅仅表示本申请的选定实施例。基于本申请的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本申请保护的范围。
相关技术中的云游戏渲染方案可以采用集群化方法,作为一种资源池互相配合的服务方法,该方法的游戏的逻辑运算和图形渲染被调度至两个集群,这种方案可以提供高效灵活的资源配置及管理,根据游戏运行中的实际情况来分配计算资源,同时也可以很好的兼容传统的服务器集群,继承已有的硬件资源及编排调度策略,提升云服务器的计算密度。然而,由于该方案需要在不同的集群之间进行调度,因此,其渲染处理的实时性较差。
为了解决这一问题,相关技术才提供了一种集成化渲染方案,该方案中有关云游戏的逻辑运算和图形渲染在一台服务器内进行,单台服务器中包括逻辑运算资源和图形渲染资源,这种方案较集群化方案有更好的可行性。相关技术中的集成化渲染方案,通常采用平均分配的方式进行渲染资源的分配,比如,一个客户端的游戏实例对应一块图形处理器(Graphics Processing Unit,GPU)的渲染资源。然而,由于不同游戏实例所需的渲染资源并不相同,而单个游戏实例使用一块渲染资源时往往导致渲染资源的浪费,这进一步导致整体的渲染资源利用率较低。
基于上述研究,本申请提供了至少一种云游戏的渲染服务方案,能够基于渲染负载情况灵活的进行渲染资源分配,从而提升渲染资源利用率。
针对以上方案所存在的缺陷,均是发明人在经过实践并仔细研究后得出的结果,因此,上述问题的发现过程以及下文中本申请针对上述问题所提出的解决方案,都属于发明人在本申请过程中对本申请做出的贡献性内容。
下面将结合本申请中附图,对本申请中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本申请的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本申请的实施例的详细描述并非旨在限制要求保护的本申请的范围,而是仅仅表示本申请的选定实施例。基于本申请的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本申请保护的范围。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
为便于对本实施例进行理解,首先对本申请实施例所公开的一种云游戏的渲染服务系统进行详细介绍。
实施例一
如图1所示,为本申请实施例提供的云游戏的渲染服务系统的结构示意图,该渲染服务系统包括:调度模块102、至少一个虚拟驱动模块101以及至少一个渲染服务模块103;虚拟驱动模块101连接有游戏客户端;
虚拟驱动模块101,用于在确定与该虚拟驱动模块101连接的游戏客户端启动目标游戏之后,向调度模块102发送目标调度请求;获取与该虚拟驱动模块101连接的游戏客户端发送的针对目标游戏的渲染请求,向为该虚拟驱动模块101分配的目标渲染服务模块103发送渲染请求;以及,接收目标渲染服务模块103发送的与目标游戏对应的游戏渲染画面,并传输至游戏客户端;
调度模块102,用于基于虚拟驱动模块101发送的目标调度请求以及至少一个渲染服务模块103中渲染服务模块103当前对应的渲染资源信息,为虚拟驱动模块101对应启动的目标游戏分配目标渲染服务模块103;
目标渲染服务模块103,用于接收由该目标渲染服务模块103对应的虚拟驱动模块101发送的针对目标游戏的渲染请求,得到与目标游戏对应的游戏渲染画面。
这里,为了便于理解本申请实施例提供的上述渲染服务系统,接下来可以结合该渲染服务系统的应用场景对该渲染服务系统的工作流程进行简单描述。考虑到云游戏的系统可以分为服务器和客户端,因此,本申请实施例提供的云游戏的渲染服务系统实际所对应的设备即可以是服务器,而上述虚拟驱动模块101所连接的游戏客户端,即可以是上述与服务器组成云游戏系统的客户端,这样,在上述渲染服务系统基于上述调度模块102、虚拟驱动模块101和渲染服务模块103确定最终的游戏渲染画面之后,即可以基于用户对游戏客户端的访问,实现对云端游戏的可视化操作。
其中,上述游戏客户端可以是利用虚拟技术实现的客户端,该客户端可以运行于提前配置好的虚拟机上。每个虚拟机对应可以运行一个游戏客户端,与该游戏客户端相关的资源信息可以是存储于虚拟机上的,这样,在用户利用手持终端操作目标游戏时,无需在手持终端下载相应的游戏内容,仅需在手持终端实现相应的界面展示功能以及用户操作信息采集功能即可,也即,各种与游戏操作相关的信息均在云端完成,从而可以节约用户手持终端的存储资源和计算资源,提升用户的游戏体验。
在虚拟机配置了相应的游戏客户端之后,本申请实施例中的至少一个虚拟驱动模块101中的每个虚拟驱动模块101即可以在确定该游戏虚拟驱动模块101连接的游戏客户端启动目标游戏之后,即向调度模块102发送目标调度请求,该目标调度请求用于指示调度模块102为其分配相应的渲染服务模块103及其绑定的渲染资源。在调度模块102基于虚拟驱动模块101发送的目标调度请求以及各个渲染服务模块103当前对应的渲染资源信息为该虚拟驱动模块101所启动的目标游戏分配目标渲染服务模块103之后,虚拟驱动模块101即可获取游戏客户端发送的渲染请求,并向该虚拟驱动模块101分配的目标渲染服务模块103发送上述渲染请求,以使得目标渲染服务模块103能够基于渲染请求调度相应的渲染资源进行渲染,并得到渲染后的游戏渲染画面,在将该游戏渲染画面传输至虚拟驱动模块101之后,虚拟驱动模块101即可以将渲染得到的游戏渲染画面返回至游戏客户端以便用户通过手持设备进行查看。由于上述调度模块102是基于各个渲染服务模块103所对应的渲染资源信息而分配的目标渲染服务模块103,从而实现了对渲染资源的灵活调度,渲染资源的利用率得以大幅度提升。
值的说明的是,本申请实施例提供渲染服务系统中的游戏客户端可以是针对安卓(Android)操作系统实现的,也可以针对其它操作系统实现的,通过各种操作系统渲染的支持可以让这些只能运行在操作系统上的游戏利用到服务器的渲染资源。
这里,在虚拟机上设置了相应的游戏客户端之后,即可以随之生成相应的渲染服务模块103,也即,虚拟驱动模块101与渲染服务模块103是配对设置的,然而,针对服务器所包括的各个渲染资源,不同的游戏产品和游戏类型对渲染的需求不一样,可供每个渲染服务模块103使用的渲染资源并不相同。
例如,针对10块GPU所对应的渲染资源而言,画面要求比较高的游戏,一个渲染服务模块103可使用的渲染资源可以是一块GPU,也可以是多块GPU,与此同时,渲染压力小的游戏可以选择多个游戏共享一个GPU,即多个渲染服务模块103可以同时使用一块GPU资源,从而进一步确保渲染资源的利用率。
在具体的应用中,调度模块102可以结合上述各个渲染服务模块103对应的渲染资源信息以及目标调度请求中携带的相关游戏信息(如游戏类型、游戏数据等)来为目标游戏分配目标渲染服务模块103,这主要是考虑到不同游戏所需要占用的渲染资源往往不相同,因此,这里可以综合考虑相关游戏信息实现上述分配过程,从而进一步提升渲染资源的利用率。
本申请实施例中,在目标渲染服务模块103基于接收的渲染请求进行游戏画面的渲染时,可以基于渲染请求中携带的渲染数据实现画面渲染,上述渲染数据可以包括开放图形库精简子集(OpenGL for Embeded System,OpenGLES)所涉及的各应用程序接口(Application Programming Interface,API)接口及传入参数,涉及缓冲区管理、着色器管理、纹理管操作等相关内容的数据。
另外,本申请实施例提供的渲染服务系统是通过虚拟驱动的方式为运行在服务器上的虚拟机提供虚拟渲染设备,也即,上述虚拟驱动模块101可以提供与真实驱动一致的API接口,一方面该虚拟驱动模块101可以与系统内其它模块或者虚拟机上的软件等进行正常的交互,另一方面不会真正去操作硬件,而是通过转发至宿主机的后端(即服务器内所设置的目标渲染服务模块103)的方式提供虚拟机所需的设备支持。这样,上述虚拟驱动模块101即可以截获目标游戏运行过程中的渲染请求,将渲染请求转发至宿主机,从而实现云游戏的渲染。
本申请实施例中,考虑到需要进行渲染服务的游戏客户端可以为多个,而在针对多个游戏客户端执行渲染操作时,需要兼顾不同游戏客户端的渲染请求,因此,本申请实施例提供了一种基于渲染池模块104进行渲染请求转发的方案,也即,在虚拟驱动模块101获取到渲染请求之后,可以先将渲染请求发送至渲染池模块104,经由渲染池模块104向为该虚拟驱动模块101分配的目标渲染服务模块103发送渲染请求,这里的渲染池模块104则用于进行渲染请求的转发。
参见图2所示为本申请实施例提供的利用渲染池模块104进行渲染请求转发的应用示意图。针对包括三个游戏客户端(对应三个虚拟驱动模块101)和三个渲染服务模块103的渲染服务系统而言,上述渲染池模块104作为衔接于虚拟驱动模块101和渲染服务模块103之间的关键模块,能够建立转发机制以实现渲染服务模块103对渲染请求的及时响应。
本申请实施例中的渲染池模块104在接收到多个渲染请求时,可以基于多个渲染请求中每个渲染请求携带的渲染数据确定多个渲染请求的转发顺序,然后按照确定的转发顺序,将接收的多个渲染请求转发至为每个虚拟驱动模块101分配的目标渲染服务模块103。
其中,在确定转发顺序时,可以按照渲染数据量的大小来确定,例如,可以按照渲染数据量由大到小的顺序确定转发顺序,以实现后续渲染资源的及时释放以及再利用,此外,还可以集合具体的渲染数据内容来确定,还可以结合其他渲染数据来确定,在此不做具体的限定。
本申请实施例中,渲染服务模块103作为运行于服务器上的服务模块,可以通过调用宿主机上的渲染库和GPU完成渲染,在具体进行渲染的过程中,可以基于渲染请求来实现。如图2的示例所示,第一个渲染服务模块103和第二个渲染服务模块103可以共用一块GPU资源,第三个渲染服务模块103则可以独用一块GPU资源。
在具体应用中,本申请实施例在接收到多个虚拟驱动模块101发送的渲染请求之后,可以通过共享内存或网络套接字(Unix Domain Socket,UDS)的方式将渲染请求发送至宿主机的渲染池模块104,以实现渲染数据的存储,并为后续数据转发做准备。
渲染服务模块103作为执行渲染操作的关键模块,在具体应用中,一旦发生异常将很大程度上会对渲染结果带来不良的影响。因此,本申请实施例提供的渲染服务系统还可以包括监控管理模块,该监控管理模块能够在确定出渲染服务模块103的运行状态信息存在异常时,基于各个渲染服务模块103当前对应的渲染资源信息确定渲染调整信息;将渲染调整信息发送至调度模块102,以便根据监控管理模块发送的渲染调整信息,对每个虚拟驱动模块101对应启动的目标游戏进行目标渲染服务模块103的重新分配,通过云游戏渲染的实时调整,提升本申请实施例提供的渲染服务系统的稳定性。
实施例二
基于同一发明构思,本申请实施例中还提供了与云游戏的渲染服务系统对应的云游戏的渲染服务方法,由于本申请实施例中的方法解决问题的原理与本申请实施例上述云游戏的渲染服务系统相似,因此方法的实施可以参见系统的实施,重复之处不再赘述。
如图3所示,为本申请实施例所提供的一种云游戏的渲染服务方法的流程图,方法应用于云游戏的渲染服务系统中的虚拟驱动模块101,上述方法具体包括如下步骤:
S301、在确定游戏客户端启动目标游戏之后,向调度模块发送目标调度请求,以使调度模块基于目标调度请求以及至少一个渲染服务模块中渲染服务模块当前对应的渲染资源信息,为目标游戏分配目标渲染服务模块;
S302、在获取到与游戏客户端发送的针对目标游戏的渲染请求之后,向为目标游戏分配的目标渲染服务模块发送渲染请求;
S303、接收目标渲染服务模块基于渲染请求渲染得到的与目标游戏对应的游戏渲染画面。
如图4所示,为本申请实施例所提供的另一种云游戏的渲染服务方法的流程图,方法应用于云游戏的渲染服务系统中的调度模块102,上述方法具体包括如下步骤:
S401、接收虚拟驱动模块发送的目标调度请求;目标调度请求为虚拟驱动模块在确定与该虚拟驱动模块连接的游戏客户端启动目标游戏之后,生成的调度请求;
S402、基于虚拟驱动模块发送的目标调度请求以及至少一个渲染服务模块中渲染服务模块当前对应的渲染资源信息,为虚拟驱动模块对应启动的目标游戏分配目标渲染服务模块。
如图5所示,为本申请实施例所提供的另一种云游戏的渲染服务方法的流程图,方法应用于云游戏的渲染服务系统中的目标渲染服务模块103,上述方法具体包括如下步骤:
S501、接收虚拟驱动模块发送的针对目标游戏的渲染请求;渲染请求为与虚拟驱动模块连接的游戏客户端针对目标游戏发送的;
S502、根据渲染请求,得到与目标游戏对应的游戏渲染画面。
实施例三
基于同一发明构思,本申请实施例中还提供了与云游戏的渲染服务系统对应的云游戏的渲染服务装置,由于本申请实施例中的装置解决问题的原理与本申请实施例上述云游戏的渲染服务系统相似,因此装置的实施可以参见系统的实施,重复之处不再赘述。
如图6所示,为本申请实施例提供的一种云游戏的渲染服务装置的结构示意图,上述装置包括:
调度模块601,用于在确定游戏客户端启动目标游戏之后,向调度模块发送目标调度请求,以使调度模块基于目标调度请求以及至少一个渲染服务模块中渲染服务模块当前对应的渲染资源信息,为目标游戏分配目标渲染服务模块;
发送模块602,用于在获取到与游戏客户端发送的针对目标游戏的渲染请求之后,向为目标游戏分配的目标渲染服务模块发送渲染请求;
接收模块603,用于接收目标渲染服务模块基于渲染请求渲染得到的与目标游戏对应的游戏渲染画面。
如图7所示,为本申请实施例提供的另一种云游戏的渲染服务装置的结构示意图,上述装置包括:
接收模块701,用于接收虚拟驱动模块发送的目标调度请求;目标调度请求为虚拟驱动模块在确定与该虚拟驱动模块连接的游戏客户端启动目标游戏之后,生成的调度请求;
分配模块702,用于基于虚拟驱动模块发送的目标调度请求以及至少一个渲染服务模块中渲染服务模块当前对应的渲染资源信息,为虚拟驱动模块对应启动的目标游戏分配目标渲染服务模块。
如图8所示,为本申请实施例提供的另一种云游戏的渲染服务装置的结构示意图,上述装置包括:
接收模块801,用于接收虚拟驱动模块发送的针对目标游戏的渲染请求;渲染请求为与虚拟驱动模块连接的游戏客户端针对目标游戏发送的;
生成模块802,用于根据渲染请求,得到与目标游戏对应的游戏渲染画面。
实施例四
如图9所示,为本申请实施例所提供的一种计算机设备的结构示意图,该计算机设备包括:处理器901、存储介质902和总线903,存储介质902存储执行指令,当计算机设备运行时,处理器901与存储介质902之间通过总线903通信,机器可读指令被处理器901执行时执行如下处理:
在确定游戏客户端启动目标游戏之后,向调度模块发送目标调度请求,以使调度模块基于目标调度请求以及至少一个渲染服务模块中渲染服务模块当前对应的渲染资源信息,为目标游戏分配目标渲染服务模块;
在获取到与游戏客户端发送的针对目标游戏的渲染请求之后,向为目标游戏分配的目标渲染服务模块发送渲染请求;
接收目标渲染服务模块基于渲染请求渲染得到的与目标游戏对应的游戏渲染画面。
如图10所示,为本申请实施例所提供的一种计算机设备的结构示意图,该计算机设备包括:处理器1001、存储介质1002和总线1003,存储介质1002存储执行指令,当计算机设备运行时,处理器1001与存储介质1002之间通过总线1003通信,机器可读指令被处理器1001执行时执行如下处理:
接收虚拟驱动模块发送的目标调度请求;目标调度请求为虚拟驱动模块在确定与该虚拟驱动模块连接的游戏客户端启动目标游戏之后,生成的调度请求;
基于虚拟驱动模块发送的目标调度请求以及至少一个渲染服务模块中渲染服务模块当前对应的渲染资源信息,为虚拟驱动模块对应启动的目标游戏分配目标渲染服务模块。
如图11所示,为本申请实施例所提供的一种计算机设备的结构示意图,该计算机设备包括:处理器1101、存储介质1102和总线1103,存储介质1102存储执行指令,当计算机设备运行时,处理器1101与存储介质1102之间通过总线1103通信,机器可读指令被处理器1101执行时执行如下处理:
接收虚拟驱动模块发送的针对目标游戏的渲染请求;渲染请求为与虚拟驱动模块连接的游戏客户端针对目标游戏发送的;
根据渲染请求,得到与目标游戏对应的游戏渲染画面。
本申请实施例还提供一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行上述实施例二中所述的云游戏的渲染服务方法的步骤。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统和装置的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个处理器可执行的非易失的计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-OnlyMemory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上所述实施例,仅为本申请的具体实施方式,用以说明本申请的技术方案,而非对其限制,本申请的保护范围并不局限于此,尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,其依然可以对前述实施例所记载的技术方案进行修改或可轻易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使响应技术方案的本质脱离本申请实施例技术方案的精神和范围,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应所述以权利要求的保护范围为准。

Claims (12)

1.一种云游戏的渲染服务系统,其特征在于,包括:调度模块、至少一个虚拟驱动模块以及至少一个渲染服务模块;所述虚拟驱动模块连接有游戏客户端;
所述虚拟驱动模块,用于在确定与该虚拟驱动模块连接的游戏客户端启动目标游戏之后,向所述调度模块发送目标调度请求;获取与该虚拟驱动模块连接的游戏客户端发送的针对所述目标游戏的渲染请求,向为该虚拟驱动模块分配的目标渲染服务模块发送所述渲染请求;以及,接收所述目标渲染服务模块发送的与所述目标游戏对应的游戏渲染画面,并传输至所述游戏客户端;
所述调度模块,用于基于所述虚拟驱动模块发送的目标调度请求以及所述至少一个渲染服务模块中渲染服务模块当前对应的渲染资源信息,为所述虚拟驱动模块对应启动的目标游戏分配目标渲染服务模块;渲染服务模块当前对应的渲染资源信息包括以下情况中的任意一种:一个渲染服务模块当前对应的渲染资源为一块GPU、一个渲染服务模块当前对应的渲染资源为多块GPU、多个渲染服务模块当前对应的渲染资源为一块GPU;
所述目标渲染服务模块,用于接收由该目标渲染服务模块对应的虚拟驱动模块发送的针对所述目标游戏的渲染请求,得到与所述目标游戏对应的游戏渲染画面。
2.根据权利要求1所述的渲染服务系统,其特征在于,所述系统还包括:渲染池模块;所述渲染池模块与所述虚拟驱动模块连接;
所述虚拟驱动模块,具体用于在获取到与该虚拟驱动模块连接的游戏客户端发送的针对所述目标游戏的渲染请求之后,经由所述渲染池模块向为该虚拟驱动模块分配的目标渲染服务模块发送所述渲染请求;
所述渲染池模块,用于接收所述虚拟驱动模块发送的渲染请求,并将接收的所述渲染请求转发至为该虚拟驱动模块分配的目标渲染服务模块。
3.根据权利要求2所述的渲染服务系统,其特征在于,
所述渲染池模块,用于在接收到多个渲染请求时,基于多个渲染请求中每个渲染请求携带的渲染数据确定多个所述渲染请求的转发顺序;按照确定的所述转发顺序,将接收的多个所述渲染请求转发至为所述虚拟驱动模块分配的目标渲染服务模块。
4.根据权利要求1~3任一所述的渲染服务系统,其特征在于,所述系统还包括监控管理模块;所述监控管理模块与所述渲染服务模块连接;
所述监控管理模块,用于获取所述渲染服务模块的运行状态信息,并在确定该渲染服务模块的运行状态信息存在异常时,基于各个渲染服务模块当前对应的渲染资源信息确定渲染调整信息;将所述渲染调整信息发送至所述调度模块;
所述调度模块,用于根据所述监控管理模块发送的渲染调整信息,对所述虚拟驱动模块对应启动的目标游戏进行目标渲染服务模块的重新分配。
5.一种云游戏的渲染服务方法,其特征在于,所述方法包括:
在确定游戏客户端启动目标游戏之后,向调度模块发送目标调度请求,以使所述调度模块基于所述目标调度请求以及至少一个渲染服务模块中渲染服务模块当前对应的渲染资源信息,为所述目标游戏分配目标渲染服务模块;渲染服务模块当前对应的渲染资源信息包括以下情况中的任意一种:一个渲染服务模块当前对应的渲染资源为一块GPU、一个渲染服务模块当前对应的渲染资源为多块GPU、多个渲染服务模块当前对应的渲染资源为一块GPU;
在获取到与所述游戏客户端发送的针对所述目标游戏的渲染请求之后,向为所述目标游戏分配的目标渲染服务模块发送所述渲染请求;
接收所述目标渲染服务模块基于所述渲染请求渲染得到的与所述目标游戏对应的游戏渲染画面。
6.一种云游戏的渲染服务方法,其特征在于,所述方法包括:
接收虚拟驱动模块发送的目标调度请求;所述目标调度请求为所述虚拟驱动模块在确定与该虚拟驱动模块连接的游戏客户端启动目标游戏之后,生成的调度请求;
基于所述虚拟驱动模块发送的目标调度请求以及至少一个渲染服务模块中渲染服务模块当前对应的渲染资源信息,为所述虚拟驱动模块对应启动的目标游戏分配目标渲染服务模块;渲染服务模块当前对应的渲染资源信息包括以下情况中的任意一种:一个渲染服务模块当前对应的渲染资源为一块GPU、一个渲染服务模块当前对应的渲染资源为多块GPU、多个渲染服务模块当前对应的渲染资源为一块GPU。
7.一种云游戏的渲染服务方法,其特征在于,所述方法包括:
接收虚拟驱动模块发送的针对目标游戏的渲染请求;所述渲染请求为与所述虚拟驱动模块连接的游戏客户端针对所述目标游戏发送的;所述虚拟驱动模块用于在确定与该虚拟驱动模块连接的游戏客户端启动目标游戏之后向调度模块发送目标调度请求;所述调度模块用于基于所述虚拟驱动模块发送的目标调度请求以及至少一个渲染服务模块中渲染服务模块当前对应的渲染资源信息,为所述虚拟驱动模块对应启动的目标游戏分配目标渲染服务模块;渲染服务模块当前对应的渲染资源信息包括以下情况中的任意一种:一个渲染服务模块当前对应的渲染资源为一块GPU、一个渲染服务模块当前对应的渲染资源为多块GPU、多个渲染服务模块当前对应的渲染资源为一块GPU;
根据所述渲染请求,得到与所述目标游戏对应的游戏渲染画面。
8.一种云游戏的渲染服务装置,其特征在于,所述装置包括:
调度模块,用于在确定游戏客户端启动目标游戏之后,向调度模块发送目标调度请求,以使所述调度模块基于所述目标调度请求以及至少一个渲染服务模块中渲染服务模块当前对应的渲染资源信息,为所述目标游戏分配目标渲染服务模块;
发送模块,用于在获取到与所述游戏客户端发送的针对所述目标游戏的渲染请求之后,向为所述目标游戏分配的目标渲染服务模块发送所述渲染请求;渲染服务模块当前对应的渲染资源信息包括以下情况中的任意一种:一个渲染服务模块当前对应的渲染资源为一块GPU、一个渲染服务模块当前对应的渲染资源为多块GPU、多个渲染服务模块当前对应的渲染资源为一块GPU;
接收模块,用于接收所述目标渲染服务模块基于所述渲染请求渲染得到的与所述目标游戏对应的游戏渲染画面。
9.一种云游戏的渲染服务装置,其特征在于,所述装置包括:
接收模块,用于接收虚拟驱动模块发送的目标调度请求;所述目标调度请求为所述虚拟驱动模块在确定与该虚拟驱动模块连接的游戏客户端启动目标游戏之后,生成的调度请求;
分配模块,用于基于所述虚拟驱动模块发送的目标调度请求以及至少一个渲染服务模块中渲染服务模块当前对应的渲染资源信息,为所述虚拟驱动模块对应启动的目标游戏分配目标渲染服务模块;渲染服务模块当前对应的渲染资源信息包括以下情况中的任意一种:一个渲染服务模块当前对应的渲染资源为一块GPU、一个渲染服务模块当前对应的渲染资源为多块GPU、多个渲染服务模块当前对应的渲染资源为一块GPU。
10.一种云游戏的渲染服务装置,其特征在于,所述装置包括:
接收模块,用于接收虚拟驱动模块发送的针对目标游戏的渲染请求;所述渲染请求为与所述虚拟驱动模块连接的游戏客户端针对所述目标游戏发送的;所述虚拟驱动模块用于在确定与该虚拟驱动模块连接的游戏客户端启动目标游戏之后向调度模块发送目标调度请求;所述调度模块用于基于所述虚拟驱动模块发送的目标调度请求以及至少一个渲染服务模块中渲染服务模块当前对应的渲染资源信息,为所述虚拟驱动模块对应启动的目标游戏分配目标渲染服务模块;渲染服务模块当前对应的渲染资源信息包括以下情况中的任意一种:一个渲染服务模块当前对应的渲染资源为一块GPU、一个渲染服务模块当前对应的渲染资源为多块GPU、多个渲染服务模块当前对应的渲染资源为一块GPU;
生成模块,用于根据所述渲染请求,得到与所述目标游戏对应的游戏渲染画面。
11.一种计算机设备,其特征在于,包括:处理器、存储介质和总线,所述存储介质存储有所述处理器可执行的机器可读指令,当计算机设备运行时,所述处理器与所述存储介质之间通过总线通信,所述机器可读指令被所述处理器执行时执行如权利要求5至7任一所述的云游戏的渲染服务方法的步骤。
12.一种计算机可读存储介质,其特征在于,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行如权利要求5至7任一所述的云游戏的渲染服务方法的步骤。
CN202010244652.5A 2020-03-31 2020-03-31 一种云游戏的渲染服务系统、方法及装置 Active CN111450528B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010244652.5A CN111450528B (zh) 2020-03-31 2020-03-31 一种云游戏的渲染服务系统、方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010244652.5A CN111450528B (zh) 2020-03-31 2020-03-31 一种云游戏的渲染服务系统、方法及装置

Publications (2)

Publication Number Publication Date
CN111450528A CN111450528A (zh) 2020-07-28
CN111450528B true CN111450528B (zh) 2023-11-24

Family

ID=71672484

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010244652.5A Active CN111450528B (zh) 2020-03-31 2020-03-31 一种云游戏的渲染服务系统、方法及装置

Country Status (1)

Country Link
CN (1) CN111450528B (zh)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111951366B (zh) * 2020-07-29 2021-06-15 北京蔚领时代科技有限公司 一种云原生3d场景游戏方法和系统
CN111729293B (zh) * 2020-08-28 2020-12-22 腾讯科技(深圳)有限公司 一种数据处理方法、装置及存储介质
CN112070655A (zh) * 2020-09-09 2020-12-11 西安万像电子科技有限公司 应用的渲染方法、系统、装置、存储介质和处理器
CN112473130A (zh) * 2020-11-26 2021-03-12 成都数字天空科技有限公司 场景渲染方法、装置、集群、存储介质及电子设备
CN114650434A (zh) * 2020-12-18 2022-06-21 华为云计算技术有限公司 一种基于云服务的渲染方法及其相关设备
CN112988400B (zh) * 2021-04-30 2021-08-06 腾讯科技(深圳)有限公司 显存优化方法、装置、电子设备以及可读存储介质
CN113436056B (zh) * 2021-07-21 2023-02-17 挂号网(杭州)科技有限公司 渲染方法、装置、电子设备及存储介质
CN113521728A (zh) * 2021-07-23 2021-10-22 北京字节跳动网络技术有限公司 云应用的实现方法、装置、电子设备和存储介质
CN113691526A (zh) * 2021-08-23 2021-11-23 深圳市商汤科技有限公司 基于WebRTC的推流方法、装置、系统、设备和介质
CN113797545A (zh) * 2021-08-25 2021-12-17 广州三七网络科技有限公司 游戏脚本处理方法、装置、计算机设备和存储介质
CN113694536A (zh) * 2021-09-07 2021-11-26 北京蔚领时代科技有限公司 一种面向云游戏的场景管理方法、装置、设备及介质
CN114028805A (zh) * 2021-11-22 2022-02-11 西安万像电子科技有限公司 游戏服务器系统的控制方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090305790A1 (en) * 2007-01-30 2009-12-10 Vitie Inc. Methods and Apparatuses of Game Appliance Execution and Rendering Service

Also Published As

Publication number Publication date
CN111450528A (zh) 2020-07-28

Similar Documents

Publication Publication Date Title
CN111450528B (zh) 一种云游戏的渲染服务系统、方法及装置
US10354430B2 (en) Image update method, system, and apparatus
EP2248101B1 (en) Graphics remoting architecture
WO2019169913A1 (zh) 一种数据处理的方法、装置、服务器和系统
CN103701807A (zh) 一种vdi环境下的数据发送方法和装置
US7830388B1 (en) Methods and apparatus of sharing graphics data of multiple instances of interactive application
US20140184622A1 (en) Adaptive OpenGL 3D graphics in Virtual Desktop Infrastructure
CN102413150A (zh) 服务器、虚拟桌面控制方法以及虚拟桌面控制系统
CN104660711A (zh) 一种基于图形处理器虚拟化的远程可视化应用方法
CN108762934B (zh) 远程图形传输系统、方法及云服务器
US20140130041A1 (en) Mechanism for Distributed Multiple Monitor Display Split Using Multiple Client Devices in a Virtualization System
US8959514B2 (en) Virtual machine monitor display split using multiple client devices in a virtualization system
CN106390449A (zh) 一种基于图形虚拟化技术的云游戏框架
US8705879B2 (en) Image compression acceleration using multiple processors
Jang et al. Client rendering method for desktop virtualization services
CN107341020A (zh) 显卡虚拟化的实现方法及装置、桌面云系统及终端设备
TW201417035A (zh) 處理圖形運算負載平衡之方法及系統
WO2009108353A1 (en) 3d graphics acceleration in remote multi-user environment
CN102097080B (zh) 显示驱动处理方法、装置和系统
CN111681157B (zh) 图像渲染方法及系统
CN112596852A (zh) 一种图形显示方法、装置、系统、电子设备及存储介质
CN113051032A (zh) 应用画面处理方法、装置和系统
KR20210039025A (ko) 3차원 영상 제작을 위한 랜더팜 구성 시스템
KR102301393B1 (ko) 서버 블레이드를 이용한 메시 형상의 서비스형 데스크톱 플랫폼 장치
CN107404458B (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
GR01 Patent grant
GR01 Patent grant