CN111736850A - 图像处理方法、装置、服务器及介质 - Google Patents
图像处理方法、装置、服务器及介质 Download PDFInfo
- Publication number
- CN111736850A CN111736850A CN202010704005.8A CN202010704005A CN111736850A CN 111736850 A CN111736850 A CN 111736850A CN 202010704005 A CN202010704005 A CN 202010704005A CN 111736850 A CN111736850 A CN 111736850A
- Authority
- CN
- China
- Prior art keywords
- target
- game
- container
- directory
- image
- 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.)
- Granted
Links
- 238000003672 processing method Methods 0.000 title claims abstract description 24
- 238000004040 coloring Methods 0.000 claims abstract description 112
- 238000000034 method Methods 0.000 claims abstract description 71
- 238000012545 processing Methods 0.000 claims abstract description 70
- 230000008569 process Effects 0.000 claims abstract description 50
- 238000003860 storage Methods 0.000 claims description 32
- 230000007246 mechanism Effects 0.000 description 38
- 238000010586 diagram Methods 0.000 description 24
- 230000003068 static effect Effects 0.000 description 13
- 238000004590 computer program Methods 0.000 description 8
- 230000006870 function Effects 0.000 description 8
- 238000009877 rendering Methods 0.000 description 8
- 230000001419 dependent effect Effects 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 4
- 238000004891 communication Methods 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 238000004088 simulation Methods 0.000 description 2
- 230000001133 acceleration Effects 0.000 description 1
- 238000013473 artificial intelligence Methods 0.000 description 1
- 238000009826 distribution Methods 0.000 description 1
- 230000007613 environmental effect Effects 0.000 description 1
- 230000005484 gravity Effects 0.000 description 1
- 238000011900 installation process Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 238000010187 selection method Methods 0.000 description 1
- 238000004904 shortening Methods 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
Images
Classifications
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/60—Generating or modifying game content before or while executing the game program, e.g. authoring tools specially adapted for game development or game-integrated level editor
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/50—Controlling the output signals based on the game progress
- A63F13/52—Controlling the output signals based on the game progress involving aspects of the displayed game scene
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/30—Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers
- A63F13/35—Details of game servers
- A63F13/352—Details of game servers involving special game server arrangements, e.g. regional servers connected to a national server or a plurality of servers managing partitions of the game world
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/30—Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers
- A63F13/35—Details of game servers
- A63F13/355—Performing operations on behalf of clients with restricted processing capabilities, e.g. servers transform changing game scene into an encoded video stream for transmitting to a mobile phone or a thin client
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/70—Game security or game management aspects
- A63F13/77—Game security or game management aspects involving data related to game devices or game servers, e.g. configuration data, software version or amount of memory
-
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T1/00—General purpose image data processing
- G06T1/60—Memory management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformation of program code
- G06F8/41—Compilation
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Business, Economics & Management (AREA)
- Computer Security & Cryptography (AREA)
- General Business, Economics & Management (AREA)
- Image Generation (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Information Transfer Between Computers (AREA)
- Processing Or Creating Images (AREA)
Abstract
本申请公开了一种图像处理方法、装置、服务器及介质,其中方法包括:响应针对目标容器内运行的目标游戏的操作事件,获取与操作事件对应的目标着色代码;从游戏资源中获取所述目标着色代码的目标编译结果,所述游戏资源包括以下至少一项:目标游戏的游戏镜像,及目标容器和目标容器的关联容器之间的目标共享目录,所述目标共享目录中包括所述关联容器在游戏运行过程中,编译至少一个着色代码所得到的第一编译结果;根据目标编译结果进行图形处理,得到操作事件对应的反馈图像;并在目标游戏客户端中显示反馈图像。本发明实施例可以有效节省目标着色代码的编译时间,从而有效提升目标游戏的运行速度。
Description
技术领域
本发明涉及互联网技术领域,具体涉及图像处理技术领域,尤其涉及一种图像处理方法、一种图像处理装置、一种服务器及一种计算机存储介质。
背景技术
随着互联网技术的发展,云游戏(Cloud gaming)受到了广泛关注;所谓的云游戏又可称为游戏点播(gaming on demand),是一种以云计算为基础的游戏方式,此处的云计算是一种基于互联网的计算方式。云游戏技术使图形处理与数据运算能力相对有限的客户端设备能运行高品质游戏。在云游戏场景下,游戏并不在玩家用户的游戏客户端,而是在云端服务器中运行;由云端服务器将游戏场景渲染为视频音频流,通过网络传输给玩家用户的游戏客户端进行播放。玩家用户的游戏客户端无需拥有强大的图形运算与数据处理能力,仅需拥有基本的流媒体播放能力以及获取并发送玩家用户的输入指令至云端服务器的能力即可。
针对云游戏而言,游戏运行过程中所消耗的时长是衡量云游戏的运行速度的一个重要指标。若游戏运行过程中所消耗的时长越长,则会导致云游戏的运行速度较慢;若游戏运行过程中所消耗的时长越短,则可使得云游戏的运行速度较快。基于此,如何减少云游戏在运行过程中所消耗的时长,以提升云游戏的运行速度成为了一个研究热点。
发明内容
本发明实施例提供了一种图像处理方法、装置、服务器及介质,可以有效节省目标着色代码的编译时间,从而有效提升目标游戏的运行速度。
一方面,本发明实施例提供了一种图像处理方法,该图像处理方法包括:
响应针对目标容器内运行的目标游戏的操作事件,获取与所述操作事件对应的目标着色代码;所述操作事件是在与所述目标容器相连接的目标游戏客户端显示的所述目标游戏的游戏画面中检测到的;
从游戏资源中获取所述目标着色代码的目标编译结果,所述游戏资源包括以下至少一项:所述目标游戏的游戏镜像,及所述目标容器和所述目标容器的关联容器之间的目标共享目录,所述目标共享目录中包括所述关联容器在游戏运行过程中,编译至少一个着色代码所得到的第一编译结果;
根据所述目标编译结果进行图形处理,得到所述操作事件对应的反馈图像;并在所述目标游戏客户端中显示所述反馈图像。
另一方面,本发明实施例提供了一种图像处理装置,该图像处理装置包括:
获取单元,用于响应针对目标容器内运行的目标游戏的操作事件,获取与所述操作事件对应的目标着色代码;所述操作事件是在与所述目标容器相连接的目标游戏客户端显示的所述目标游戏的游戏画面中检测到的;
所述获取单元,还用于从游戏资源中获取所述目标着色代码的目标编译结果,所述游戏资源包括以下至少一项:所述目标游戏的游戏镜像,及所述目标容器和所述目标容器的关联容器之间的目标共享目录,所述目标共享目录中包括所述关联容器在游戏运行过程中,编译至少一个着色代码所得到的第一编译结果;
处理单元,用于根据所述目标编译结果进行图形处理,得到所述操作事件对应的反馈图像;并在所述目标游戏客户端中显示所述反馈图像。
再一方面,本发明实施例提供了一种服务器,所述服务器包括输入接口和输出接口,所述服务器还包括:
处理器,适于实现一条或多条指令;以及,
计算机存储介质,所述计算机存储介质存储有一条或多条指令,所述一条或多条指令适于由所述处理器加载并执行如下步骤:
响应针对目标容器内运行的目标游戏的操作事件,获取与所述操作事件对应的目标着色代码;所述操作事件是在与所述目标容器相连接的目标游戏客户端显示的所述目标游戏的游戏画面中检测到的;
从游戏资源中获取所述目标着色代码的目标编译结果,所述游戏资源包括以下至少一项:所述目标游戏的游戏镜像,及所述目标容器和所述目标容器的关联容器之间的目标共享目录,所述目标共享目录中包括所述关联容器在游戏运行过程中,编译至少一个着色代码所得到的第一编译结果;
根据所述目标编译结果进行图形处理,得到所述操作事件对应的反馈图像;并在所述目标游戏客户端中显示所述反馈图像。
再一方面,本发明实施例提供了一种计算机存储介质,所述计算机存储介质存储有一条或多条指令,所述一条或多条指令适于由处理器加载并执行如下步骤:
响应针对目标容器内运行的目标游戏的操作事件,获取与所述操作事件对应的目标着色代码;所述操作事件是在与所述目标容器相连接的目标游戏客户端显示的所述目标游戏的游戏画面中检测到的;
从游戏资源中获取所述目标着色代码的目标编译结果,所述游戏资源包括以下至少一项:所述目标游戏的游戏镜像,及所述目标容器和所述目标容器的关联容器之间的目标共享目录,所述目标共享目录中包括所述关联容器在游戏运行过程中,编译至少一个着色代码所得到的第一编译结果;
根据所述目标编译结果进行图形处理,得到所述操作事件对应的反馈图像;并在所述目标游戏客户端中显示所述反馈图像。
本发明实施例在响应针对目标容器内运行的目标游戏的操作事件,获取到与操作事件对应的目标着色代码后,可跳过目标着色代码的编译过程,直接从游戏镜像或者目标容器和目标容器的关联容器之间的目标共享目录中获取目标着色代码的目标编译结果。然后,可根据目标编译结果进行图形处理,得到操作事件对应的反馈图像;并在目标游戏客户端中显示反馈图像。可见,本发明实施例通过直接利用游戏镜像或目标共享目录中关联容器已编译得到的目标编译结果进行图形处理,可有效节省目标着色代码的编译时间,从而提升目标游戏的运行速度。
附图说明
为了更清楚地说明本发明实施例技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1a是本发明实施例提供的一种云游戏系统的系统架构图;
图1b是本发明实施例提供的一种边缘服务器与多个游戏客户端之间的连接示意图;
图1c是本发明实施例提供的一种传输游戏画面至游戏客户端进行显示的示意图;
图2是本发明实施例提供的一种图像处理方法的流程示意图;
图3a是本发明实施例提供的一种制作游戏镜像的示意图;
图3b是本发明实施例提供的一种挂载目标共享目录的示意图;
图3c是本发明实施例提供的另一种挂载目标共享目录的示意图;
图3d是本发明实施例提供的另一种挂载目标共享目录的示意图;
图3e是本发明实施例提供的另一种挂载目标共享目录的示意图;
图4是本发明另一实施例提供的一种图像处理方法的流程示意图;
图5a是本发明另一实施例提供的挂载目标共享目录的示意图;
图5b是本发明另一实施例提供的另一种挂载目标共享目录的示意图;
图5c是本发明另一实施例提供的另一种挂载目标共享目录的示意图;
图5d是本发明另一实施例提供的另一种挂载目标共享目录的示意图;
图5e是本发明实施例提供的缓存目标编译结果的示意图;
图6是本发明实施例提供的一种图像处理装置的结构示意图;
图7是本发明实施例提供的一种服务器的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述。
为了更好地运行云游戏,本发明实施例提出了一种云游戏环境。在该云游戏环境下,可通过运行系统容器的方式,将多个操作系统运行在一个独立的服务器(如采用ARM架构/x86等架构的服务器)上,并通过视频流的方式将相关图像传递至远端接收程序进行处理。其中,ARM架构是一种32位/或64位精简指令集的处理器架构,x86架构(The X86architecture)是微处理器执行的计算机语言指令集。容器是指操作系统级虚拟化的一种类型,容器可用于承载操作系统;其通过隔离机制(例如namespace(命名空间))可实现:在内核态,多个操作系统(即服务器操作系统和设备操作系统)共用同一内核;在用户态,多个操作系统保持相互独立。此处的服务器操作系统是指服务器内的通用操作系统,如Linux操作系统等等;服务器操作系统所在的主机可称为服务器主机(即Host主机)。设备操作系统是指容器内的操作系统,如Android(安卓)操作系统、IOS操作系统等。
相应的,系统容器是指容器的一种实例,其可基于服务器操作系统(如Linux操作系统)运行;例如该系统容器可以是在已开源的Linux操作系统上运行的Android容器,一个Linux操作系统上可同时运行多个Android容器。Android容器加载的是Android游戏镜像,所谓的Android游戏镜像是指既包含了基本的Android相关文件,又包含了游戏相关文件的镜像文件;所谓的镜像是一种文件存储形式,通过镜像将多个文件合并成一个镜像文件,可便于文件的分发和使用。应理解的是,本发明实施例所提及的系统容器并不局限于Android容器;例如,若IOS操作系统支持开源研发,则该系统容器还可以是IOS容器,等等。可见,在本发明实施例所提出的云游戏环境下,可通过在一台独立的服务器上部署大量的系统容器,充分利用服务器端强大的CPU(Central Processing Unit,中央处理器)能力以及GPU(Graphics Processing Unit,图形处理器)能力,实现高并发地执行系统操作,提升云游戏的运行速度。
基于上述所提及的云游戏环境,本发明实施例提出了一种云游戏系统;参见图1a所示,该云游戏系统可包括至少一个边缘服务器11以及多个游戏客户端12。其中,边缘服务器11是指用于运行系统容器的服务器;该服务器可以是独立的任一物理服务器,也可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、CDN(Content Delivery Network,内容分发网络)、以及大数据和人工智能平台等基础云计算服务的云服务器。每个边缘服务器11内可部署有至少一个系统容器,每个系统容器可与至少一个游戏客户端12相连接,如图1b所示。其中,每个系统容器可用于运行一个或多个游戏,且每个系统容器在运行任一游戏的过程中,可传输任一游戏的游戏画面至相连接的游戏客户端12中进行显示。游戏客户端12可以是具有基本的流媒体播放能力、人机交互能力以及通信能力等基本能力的任一终端设备(简称终端),例如,智能手机、平板电脑、笔记本电脑、台式计算机、智能电视等;或者该游戏客户端12可以是运行于终端设备中的应用程序(application,APP)。应理解的是,图1a只是示例性的表征云游戏系统的系统架构,并不对云游戏系统的具体架构进行限定;例如在其他实施例中,云游戏系统中还可包括用于制作游戏镜像的镜像服务器,等等。
基于上述的云游戏系统,可实现一个或多个云游戏的运行。其中,任一云游戏的运行原理如下:在制作完成云游戏的游戏镜像后,可将该云游戏的游戏镜像部署至边缘服务器中,以使得边缘服务器可通过加载该游戏镜像以启动对应的系统容器。当接收到游戏客户端发送的关于云游戏的连接请求时,边缘服务器可分配相应的系统容器与该游戏客户端建立连接。在被分配的系统容器和游戏客户端成功建立连接后,被分配的系统容器可运行云游戏并实时渲染云游戏的游戏画面,然后采用视频流的方式将渲染得到的游戏画面传输游戏客户端中进行显示,如图1c所示。游戏客户端在显示游戏画面的过程中,可通过数据流的方式将玩家用户针对游戏画面的操作事件,发送给相应的该系统容器。相应的,系统容器可负责抓取渲染与该操作事件相对应的渲染缓冲区图像(即操作事件对应的反馈图像),并将该操作事件对应的反馈图像返回给游戏客户端进行显示。
其中,系统容器在渲染操作事件对应的反馈图像时,通常会涉及图像着色处理、纹理处理、变形处理等多个阶段的图像处理。基于此,本发明实施例针对图像着色处理这一阶段,提出了一种共享GPU shader cache机制,以节省图像着色处理所消耗的时间,从而缩短渲染反馈图像所需的渲染时长,进而减少游戏运行过程所消耗的总时长,以加速云游戏的运行速度。其中,GPU shader(GPU着色器)是GPU硬件功能的一部分;在软件实现上,GPU的驱动程序可将用户编写的GPU shader代码(着色代码)编译成GPU可以执行的目标代码。GPUshader cache机制的原理如下:针对单个系统容器而言,通过缓存该单个系统容器编译GPUshader代码所得到的编译结果,以在该单个系统容器在继续运行云游戏或重新运行云游戏时,若需编译相同的GPU shader代码,则可跳过编译过程而直接使用编译结果。相应的,共享GPU shader cache机制的原理则是:将单个系统容器已缓存的GPU shader代码的编译结果,共享给其他系统容器,使得其他系统容器在需编译相同的GPU shader代码时,可跳过编译过程而直接使用通过共享得到的编译结果。
在具体实现中,本发明实施例所提出的共享GPU shader cache机制可主要包括以下两部分机制:
(一)静态共享GPU shader cache机制
此处的静态共享GPU shader cache机制是指:将至少一个GPU shader代码的第二编译结果添加在游戏镜像中,从而使得加载该游戏镜像的各个系统容器均可共享该第二编译结果的共享机制。具体的,该静态共享GPU shader cache机制的机制原理大致如下:在制作云游戏的游戏镜像中,可预先运行云游戏;并在云游戏的运行过程中,编译至少一个GPUshader代码以得到第二编译结果,然后将第二编译结果添加至云游戏的游戏镜像中。这样可使得当部署云游戏的游戏镜像到不同的边缘服务器中的系统容器中,或者同一边缘服务器中的不同系统容器中时,加载该游戏镜像的各个系统容器中均可包含这些第二编译结果;进而使得各个系统容器在需编译某GPU shader代码时,若游戏镜像中已包含该GPUshader代码的第二编译结果,则可直接从游戏镜像中获取相应的第二编译结果以执行后续的处理,以实现加速游戏运行。由此可见,在静态共享GPU shader cache机制下,由于GPUshader代码的第二编译结果已经存在于游戏镜像中了,因此无需挂载额外的共享目录进系统容器,便可解决一部分相同游戏之间的编译结果共享的问题。
(二)动态共享GPU shader cache机制
此处的动态共享GPU shader cache机制是指:在游戏运行的过程中,通过共享目录实现可在多个系统容器之间共享同一个GPU shader代码的编译结果的共享机制。在具体实现中,该动态共享GPU shader cache机制的机制原理大致如下:在各个系统容器运行的过程中,可挂载一个共享目录至各个系统容器作为GPU shader编译缓存目录,使得各个系统容器在游戏运行过程中所编译的各个GPU shader代码的第一编译结果均可同步保存到该共享目录中。这样可使得在某系统容器a在需编译某GPU shader代码时,若该GPU shader代码已被其他系统容器编译且相应的第一编译结果已缓存在目标共享目录中,则该系统容器a便可直接从目标共享目录中获取该第一编译结果以执行后续的处理,从而实现加速游戏运行。
在动态共享GPU shader cache机制中,由于共享目录可以和多个系统容器进行挂载,因此将单个系统容器在当前游戏过程中新生成的GPU shader代码的编译结果缓存至共享目录中,可使得该编译结果可以动态地被多个系统容器实时共享并使用。通过有效利用单个系统容器在游戏运行过程中所编译的GPU shader代码的第一编译结果,可为其他的多个系统容器中相同或不同云游戏的运行速度起到加速效果。由此可见,本发明实施例所提出的动态共享GPU shader cache机制不仅可以解决一部分相同游戏之间的编译结果共享的问题,还可解决一部分不同游戏之间的GPU shader cache共享的问题。
基于上述描述可知,本发明实施例所提出的静态共享GPU shader cache机制和动态共享GPU shader cache机制等两种共享GPU shader cache机制,均可在一定程度上解决各个系统容器之间的编译结果共享的问题;通过利用已缓存的编译结果直接进行后续的处理,跳过GPU shader代码的编译过程,可有效节省代码编译时间,从而加速云游戏的运行速度。应理解的是,在实际应用中,本发明实施例所提出的两种共享GPU shader cache机制可独立使用,也可以组合使用,本发明实施例对此不作限制。
基于上述两种共享GPU shader cache机制的相关描述,本发明实施例提出一种图像处理方法;该图像处理方法可以由上述所提及的云游戏系统中的目标边缘服务器内所运行的目标容器执行,此处的目标边缘服务器为云游戏系统中的任一边缘服务器,目标容器是基于目标边缘服务器的服务器操作系统所运行的任一系统容器。请参见图2,该图像处理方法可包括以下步骤S201-S203:
S201,响应针对目标容器内运行的目标游戏的操作事件,获取与操作事件对应的目标着色代码。
其中,操作事件是在与目标容器相连接的目标游戏客户端显示的目标游戏的游戏画面中检测到的。在具体实现中,目标容器在运行目标游戏的过程中,可采用视频流的方式将目标游戏的游戏画面发送至目标游戏客户端进行显示。相应的,目标游戏客户端在显示游戏画面的过程中,可检测是否存在针对目标游戏的操作事件;此处的操作事件可包括但不限于:通过操作物理控制组件(如鼠标、键盘等)所输入的事件,通过控制重力感应装置(如陀螺仪)运动所输入的事件,通过手指触摸游戏画面中的任一画面内容所输入的事件,等等。目标游戏客户端在检测到该操作事件后,可采用数据流的方式将该操作事件传输至目标容器中;相应的,目标容器在接收到该操作事件后,可获取与该操作事件对应的目标着色代码。
S202,从游戏资源中获取目标着色代码的目标编译结果。
在本发明实施例中,游戏资源可包括以下至少一项:目标游戏的游戏镜像,及目标容器和目标容器的关联容器之间的目标共享目录。其中,目标游戏的游戏镜像可基于上述所提及的静态共享GPU shader cache机制得到;该目标游戏的游戏镜像中可包括预先运行目标游戏所编译的至少一个着色代码(即GPU shader代码)的第二编译结果,且各第二编译结果均是在制作该游戏镜像时被添加至游戏镜像中的。目标容器和关联容器之间的目标共享目录可基于上述所提及的动态共享GPU shader cache机制得到;该目标共享目录中可包括关联容器在游戏运行过程中,编译至少一个着色代码所得到的第一编译结果。应理解的是,目标共享目录中并不局限于只包括关联容器的第一编译结果,还可包括目标容器在游戏运行过程中,编译至少一个着色代码所得到的第一编译结果。其中,关联容器是指运行与目标游戏相关联的关联游戏的系统容器;此处的关联游戏可包括:目标游戏或者与目标游戏使用同一个游戏引擎的游戏。
由前述可知,本发明实施例可单独使用或组合使用前述所提及的静态共享GPUshader cache机制和动态共享GPU shader cache机制。那么,当单独使用静态共享GPUshader cache机制时,游戏资源中便可只包括目标游戏的游戏镜像。在此情况下,步骤S202的具体实施方式可以是:若目标游戏的游戏镜像中包括目标着色代码的第二编译结果,则直接从目标游戏的游戏镜像中获取该目标着色代码的第二编译结果作为目标编译结果;否则,则编译目标着色代码得到目标编译结果。
当单独使用动态共享GPU shader cache机制时,游戏资源便可只包括目标容器和关联容器之间的目标共享目录。在此情况下,步骤S202的具体实施方式可以是:若目标共享目录中包括目标着色代码的第一编译结果,则直接从目标共享目录中获取该目标着色代码的第一编译结果作为目标编译结果;否则,则编译目标着色代码得到目标编译结果。其中,该目标着色代码的第一编译结果可以是由关联容器在运行关联游戏的过程中,对目标着色代码进行编译得到的;也可以是由目标容器在历史运行目标游戏的过程中,对目标着色代码进行编译得到的,本发明实施例对此不作限制。
当组合使用静态共享GPU shader cache机制和动态共享GPU shader cache机制时,游戏资源中便可包括目标游戏的游戏镜像以及目标共享目录。在此情况下,步骤S202的具体实施方式可以是:在目标游戏的游戏镜像中,先检测是否存在目标着色代码的第二编译结果;若存在,则从游戏镜像中获取目标着色代码的第二编译结果作为目标编译结果。若不存在,则从目标容器和目标容器的关联容器之间的目标共享目录中,获取目标着色代码的目标编译结果。需要说明的是,若从目标共享目录中获取目标编译结果失败,则表明目标共享目录中不存在目标编译结果,即该目标着色代码未被目标容器和关联容器编译过;那么在此情况下,目标容器可编译目标着色代码得到目标编译结果。
S203,根据目标编译结果进行图形处理,得到操作事件对应的反馈图像;并在目标游戏客户端中显示反馈图像。
在获取到目标编译结果后,目标容器可调用GPU根据该目标编译结果进行一系列的图形处理,从而得到操作事件对应的反馈图像。其中,图形处理可包括但不限于:阿尔法通道合并处理、像素值坐标的调整处理,等等。在得到反馈图像后,目标容器便可采用视频流的方式将该反馈图像发送至目标游戏客户端,以使得目标游戏客户端显示该反馈图像。
本发明实施例在响应针对目标容器内运行的目标游戏的操作事件,获取到与操作事件对应的目标着色代码后,可跳过目标着色代码的编译过程,直接从游戏镜像或者目标容器和目标容器的关联容器之间的目标共享目录中获取目标着色代码的目标编译结果。然后,可根据目标编译结果进行图形处理,得到操作事件对应的反馈图像;并在目标游戏客户端中显示反馈图像。可见,本发明实施例通过直接利用游戏镜像或目标共享目录中关联容器已编译得到的目标编译结果进行图形处理,可有效节省目标着色代码的编译时间,从而提升目标游戏的运行速度。
基于上述图2所示的图像处理方法实施例的相关描述,下面将分别对图2所示的方法实施例中所涉及的目标游戏的游戏镜像的具体制作过程,以及目标共享目录的具体挂载过程进行分别阐述:
(一)基于静态共享GPU shader cache机制生成目标游戏的游戏镜像
参见图3a所示:在制作目标游戏的游戏镜像时,可先加载设备操作系统的基础镜像(如Android基础镜像)。接着可安装目标游戏,以触发编译与目标游戏相关的第一部分的GPUshader代码,得到第一部分的编译结果;并将该第一部分的编译结果添加至目标游戏的游戏镜像中。在一种实施方式中,可直接将该第一部分的编译结果和第一部分的GPU shader代码对应地添加至目标游戏的游戏镜像中;再一种实施方式中,可将第一部分的编译结果和第一部分的GPU shader代码的索引值对应地添加至目标游戏的游戏镜像中;此处的索引值可通过对GPU shader代码进行哈希运算得到。然后,可运行目标游戏并输入针对该目标游戏的模拟操作事件,以触发编译与该模拟操作事件对应的第二部分的GPU shader代码,得到第二部分的编译结果;并将该第二部分的编译结果添加至目标游戏的游戏镜像中。在一种实施方式中,可直接将该第二部分的编译结果和第二部分的GPU shader代码对应地添加至目标游戏的游戏镜像中;再一种实施方式中,可将第二部分的编译结果和第二部分的GPU shader代码的索引值对应地添加至目标游戏的游戏镜像中。
(二)基于动态共享GPU shader cache机制挂载目标共享目录
首先,目标边缘服务器可选择目标共享目录。其次,可将目标共享目录挂载至目标容器和关联容器中,使得目标容器和关联容器内的各自游戏的运行过程中,可将所编译的各个GPU shader代码的第一编译结果均同步缓存至该目标共享目录中。具体的,目标边缘服务器可生成携带目标共享目录的目录挂载指令;并向目标容器和关联容器分别发送该目录挂载指令,使得目标容器可将该目标共享目录挂载至目标容器内的动态缓存目录下,以及使得关联容器将该目标共享目录挂载至关联容器内的预设目录下。在成功将目标共享目录挂载至目标容器和关联容器后,若关联容器在运行关联容器的过程中,编译了至少一个GPUshader代码并得到对应的第一编译结果,则可将该关联容器编译得到的第一编译结果添加至目标共享目录中。同理,若目标容器在运行目标容器的过程中,编译了至少一个GPUshader代码得到第一编译结果,则可将该目标容器编译得到的第一编译结果添加至目标共享目录中。
其中,目标共享目录可支持两种选择方式:
选择方式一:在目标边缘服务器的服务器操作系统所在的服务器主机(即Host主机)上选择目标共享目录(例如:/home/shadercache),以供目标边缘服务器上所运行的所有系统容器进行使用;即此选择方式下,目标共享目录位于服务器操作系统所在的服务器主机中。在实际应用中,由于系统容器在运行不同种类的云游戏的过程中均会产生相应的GPUshader代码的第一编译结果,因此多个系统容器所累计的GPU shader代码的第一编译结果的数据量通常是比较大的。若将这些系统容器均挂载至同一个共享目录中,则会导致这一个共享目录中所缓存的编译结果的数据量较大,从而导致后续从这一个共享目录中查找相关GPU shader代码的编译结果时会花费较长的时间。基于此,服务器主机可根据目标边缘服务器中的各系统容器所运行的云游戏的种类数量来确定需提供的共享目录的数量。
在目标边缘服务器中的各系统容器所运行的云游戏的种类比较少(即云游戏的种类数量小于数量阈值时)的情况下,服务器主机可只提供一个共享目录,使得目标边缘服务器中的各个系统容器均和这一个共享目录进行挂载。那么在此情况下,目标边缘服务器可将服务器主机所提供的这一个共享目录中作为目标容器和关联容器之间的目标共享目录;即在此实施方式下,目标容器挂载目标共享目录的示意图可参见图3b所示。且由图3b可知,由于服务器主机只包括目标共享目录,因此该目标共享目录不仅可用于与目标容器以及目标容器的关联容器进行挂载,还可用于和目标边缘服务器中与目标容器无关的系统容器进行挂载。
在目标边缘服务器中的各系统容器所运行的云游戏的种类比较多(即云游戏的种类数量大于或等于数量阈值时)的情况下,服务器主机可提供多个共享目录。使得对于运行相同的云游戏或者运行共用相同的游戏引擎的云游戏的相关系统容器而言,由于这些相关系统容器会有较大的可能性使用到相同的GPU shader代码,因此这些相关系统容器可与同一个共享目录进行挂载。对于非相关的系统容器而言,可使得这些非相关的系统容器与服务器主机上其他的共享目录进行挂载。那么在此情况下,目标边缘服务器可从服务器主机所提供的多个共享目录中随机选取一个共享目录作为目标容器和关联容器之间的目标共享目录;即在此实施方式下,目标容器挂载目标共享目录的示意图可参见图3c所示。且由图3c可知,由于服务器主机中不仅包括目标共享目录,还包括除目标共享目录以外的其他共享目录;因此该目标共享目录可只用于与目标容器以及目标容器的关联容器进行挂载,服务器主机中的其他共享目录可用于和目标边缘服务器中与目标容器无关的系统容器进行挂载。应理解的是,在云游戏数量比较多的情况下,若忽略在目标共享目录中查找相关GPUshader代码的编译结果时所消耗的时长这一指标,则服务器主机也可只提供一个共享目录。
选择方式二:在互联网网络上的网络文件系统中选择目标共享目录(例如:192.168.10.10:/mnt/share),以供网络上的所有边缘服务器中的各个系统容器进行使用;该网络文件系统与云游戏系统中的各个边缘服务器相互独立,且允许各个边缘服务器中的系统容器进行访问。即此选择方式下,目标共享目录位于网络文件系统中。在具体实现中,与服务器主机根据目标边缘服务器中的各系统容器所运行的云游戏种类数量来确定需提供的共享目录的数量的理由类似,网络文件系统也可根据目标边缘服务器中的各系统容器所运行的云游戏种类数量来确定需提供的共享目录的数量。
在云游戏系统中的各边缘服务器中的各系统容器所运行的云游戏的种类比较少(即云游戏的种类数量小于数量阈值时)的情况下,网络文件系统可只提供一个共享目录,使得云游戏系统中的各个系统容器均和这一个共享目录进行挂载。那么在此情况下,目标边缘服务器可将网络文件系统所提供的这一个共享目录中作为目标容器和关联容器之间的目标共享目录;即在此实施方式下,目标容器挂载目标共享目录的示意图可参见图3d所示。且由图3d可知,由于网络文件系统只包括目标共享目录,因此该目标共享目录不仅可用于与目标容器以及目标容器的关联容器进行挂载,还可用于和云游戏系统中与目标容器无关的系统容器进行挂载。
在云游戏系统中的各边缘服务器中的各系统容器所运行的云游戏的种类比较多(即云游戏的种类数量大于或等于数量阈值时)的情况下,网络文件系统可提供多个共享目录。使得对于运行相同的云游戏或者运行共用相同的游戏引擎的云游戏的相关系统容器而言,由于这些相关系统容器会有较大的可能性使用到相同的GPU shader代码,因此这些相关系统容器可与同一个共享目录进行挂载。对于非相关的系统容器而言,可使得这些非相关的系统容器与网络文件系统上其他的共享目录进行挂载。那么在此情况下,目标边缘服务器可从网络文件系统所提供的多个共享目录中随机选取一个共享目录作为目标容器和关联容器之间的目标共享目录;即在此实施方式下,目标容器挂载目标共享目录的示意图可参见图3e所示。且由图3e可知,由于网络文件系统中不仅包括目标共享目录,还包括除目标共享目录以外的其他共享目录;因此该目标共享目录可只用于与目标容器以及目标容器的关联容器进行挂载,网络文件系统中的其他共享目录可用于和云游戏系统中与目标容器无关的系统容器进行挂载。应理解的是,在云游戏数量比较多的情况下,若忽略在目标共享目录中查找相关GPU shader代码的编译结果时所消耗的时长这一指标,则网络文件系统也可只提供一个共享目录。
在实际应用中,目标边缘服务器可从上述两种选择方式任意选取一种选择方式来确定目标共享目录。进一步的,由于选择方式一是从服务器主机上选择目标共享目录的,目标共享目录和目标容器都存在于目标边缘服务器上,因此可保证目标容器对目标共享目录中的各第一编译结果的访问速度。而由于选择方式二是从网络文件系统中选择目标共享目录中,网络文件系统与目标边缘服务器相互独立,因此可能会由于网络阻塞等因素而导致目标容器对目标共享目录中的各第一编译结果的访问速度较慢。基于此,目标边缘服务器可根据针对网络文件系统的访问速度的实际情况从上述两种选择方式选取一种选择方式来确定目标共享目录。具体的,在针对网络文件系统的访问速度没有保障的情况下,可选择实施方式一来确定目标共享目录;在针对网络文件系统的访问速度有保障的情况下,可选择实施方式二来确定目标共享目录。
应理解的是,本发明实施例只是示例性地说明可根据针对网络文件系统的访问速度这一参数来实现选择方式的选取,并非穷举;即在其他实施例中,还可根据其他参数来实现选择方式的选取。例如,由于选择方式一是从服务器主机上选择目标共享目录的,因此目标共享目录中的各第一编译结果无法被其他边缘服务器中的系统容器进行访问。而由于选择方式二是从网络文件系统中选择目标共享目录中,因此目标共享目录中的各第一编译结果可被其他边缘服务器中的系统容器进行访问。基于此,目标边缘服务器可根据实际的游戏部署要求从上述两种选择方式选取一种选择方式来确定目标共享目录。具体的,若游戏部署要求指示无需实现不同边缘服务器之间相互共享编译结果,则可选择实施方式一来确定目标共享目录;若游戏部署要求指示需实现不同边缘服务器之间相互共享编译结果,则选择实施方式二来确定目标共享目录。
进一步的,基于上述图2所示的图像处理方法实施例的相关描述,以及上述基于静态共享GPU shader cache机制生成目标游戏的游戏镜像的具体过程和基于动态共享GPUshader cache机制挂载目标共享目录的具体过程的相关描述,本发明实施例还提出一种更为具体的图像处理方法的流程示意图。本发明实施例主要以组合使用静态共享GPU shadercache机制和动态共享GPU shader cache机制为例进行说明,该图像处理方法可以由上述所提及的云游戏系统中的目标边缘服务器内所运行的目标容器执行;该目标容器是通过加载目标游戏的游戏镜像而启动的,目标游戏的游戏镜像中可至少包括预先运行目标游戏所编译的至少一个着色代码的第二编译结果。请参见图4,该图像处理方法可包括以下步骤S401-S407:
S401,接收目标边缘服务器发送的目录挂载指令,该目录挂载指令携带目标共享目录。
S402,在目标容器中指定动态缓存目录,并将目标共享目录挂载至动态缓存目录下。
在一种实施方式中,可在目标容器中任意指定一个目录作为动态缓存目录;即在此实施方式下,动态缓存目录可以和第二编译结果在游戏镜像中的存储目录相同,也可不同。再一种实施方式中,由于受容器目录挂载实现方法所限,当挂载目标共享目录至目标容器内部时,目标容器内部与该目标共享目录进行挂载的相应目录下的文件会被清空。因此为避免游戏镜像中的第二编译结果被清空,则可在目标容器内部采用两个不同的环境变量来分别指定挂载目标共享目录的动态缓存目录和第二编译结果在游戏镜像中的存储目录,从而实现将动态缓存目录和第二编译结果的存储目录进行分隔。使得在将目标共享目录挂载至动态缓存目录时,只清除动态缓存目录下的文件,不会影响存储目录下的第二编译结果。
在此实施方式下,动态缓存目录可采用第一环境变量进行指定;该第一环境变量可包括但不限于:Mesa代码中的“MESA_GLSL_CACHE_DIR ”环境变量。而第二编译结果在游戏镜像中的存储目录可采用第二环境变量进行指定;具体的,该第二环境变量可以包括但不限于:Mesa代码中的“MESA_GLSL_CACHE_DIR_STATIC”环境变量。其中,此处的Mesa是一个开放源代码的计算机图形库;Mesa可用于实现opengl/opengles的应用程序接口。此处的opengl主要是用于渲染3D图形的跨平台应用程序编程接口API,而opengles则是openglAPI的一个子集,其主要运用在嵌入式设备(例如:智能手机等)中。
在目标容器中指定动态缓存目录后,便可将目标共享目录挂载至动态缓存目录下,使目标共享目录和动态缓存目录之间保持数据同步。其中,该目标共享目录还被挂载至关联容器的预设目录中,以缓存关联容器在运行关联游戏的过程中,对至少一个着色代码进行编译所得到的第一编译结果。例如,当目标共享目录位于服务器主机上时,若该服务器主机只包括目标共享目录,则该目标共享目录的挂载示意图可参见图5a所示;若该服务器主机包括目标共享目录以及其他共享目录,则该目标共享目录的挂载示意图可参见图5b所示。又如,当目标共享目录位于网络文件系统上时,若该网络文件系统只包括目标共享目录,则该目标共享目录的挂载示意图可参见图5c所示;若该网络文件系统包括目标共享目录以及其他共享目录,则该目标共享目录的挂载示意图可参见图5d所示。
S403,响应针对目标容器内运行的目标游戏的操作事件,获取与操作事件对应的目标着色代码。
S404,在目标游戏的游戏镜像中,检测是否存在目标着色代码的第二编译结果。
由前述可知,游戏镜像中可至少包括预先运行目标游戏所编译的至少一个着色代码的第二编译结果。在一种实施方式中,该游戏镜像还可包括与各第二编译结果对应的着色代码;在此实施方式下,可直接检测目标游戏的游戏镜像中是否包括目标着色代码。若包括该目标着色代码,则可确定游戏镜像中存在目标着色代码的第二编译结果;若不包括该目标着色代码,则可确定游戏镜像中不存在目标着色代码的第二编译结果。
再一种实施方式中,该游戏镜像中还可包括至少一个着色代码的索引值,且一个索引值对应一个第二编译结果。那么在此实施方式下,可对目标着色代码进行哈希运算,得到目标着色代码的目标索引值;然后检测游戏镜像中是否包括该目标索引值。若游戏镜像中包括目标索引值,则可确定游戏镜像中存在目标着色代码的第二编译结果;若游戏镜像中不包括目标索引值,则可确定游戏镜像中不存在目标着色代码的第二编译结果。
若确定游戏镜像中存在目标着色代码的第二编译结果,则可执行步骤S405;若确定游戏镜像中不存在目标着色代码的第二编译结果,则可执行步骤S406。
S405,若存在,则从游戏镜像中获取目标着色代码的第二编译结果作为目标编译结果。
S406,若不存在,则从目标容器和目标容器的关联容器之间的目标共享目录中,获取目标着色代码的目标编译结果。
在具体实施过程中,目标共享目录中可包括至少一个着色代码的第一编译结果,且每个第一编译结果可对应一个索引值。那么步骤S406的具体实施方式可以一并参见图5e所示,具体的:目标容器可在目标共享目录中查找是否存在目标索引值。若存在,则跳过代码编译流程,直接获取目标索引值对应的第一编译结果作为目标编译结果。若不存在,则表明游戏资源中不包括目标着色代码的目标编译结果;那么可编译目标着色代码,得到目标编译结果;并将该目标编译结果缓存至动态缓存目录,以将目标编译结果同步至目标共享目录中,使得关联容器需编译目标着色代码时,直接从目标共享目录中获取目标编译结果。除此之外,还可将目标着色代码的目标索引值一并缓存至动态缓存目录中,以将该目标索引值同步至目标共享目录中。
S407,根据目标编译结果进行图形处理,得到操作事件对应的反馈图像。并在目标游戏客户端中显示反馈图像。
本发明实施例在响应针对目标容器内运行的目标游戏的操作事件,获取到与操作事件对应的目标着色代码后,可跳过目标着色代码的编译过程,直接从游戏镜像或者目标容器和目标容器的关联容器之间的目标共享目录中获取目标着色代码的目标编译结果。然后,可根据目标编译结果进行图形处理,得到操作事件对应的反馈图像;并在目标游戏客户端中显示反馈图像。可见,本发明实施例通过直接利用游戏镜像或目标共享目录中关联容器已编译得到的目标编译结果进行图形处理,可有效节省目标着色代码的编译时间,从而提升目标游戏的运行速度。
基于上述图像处理方法实施例的描述,本发明实施例还公开了一种图像处理装置,所述图像处理装置可以是运行于上述所提及的目标边缘服务器中的一个计算机程序(包括程序代码)。该图像处理装置可以执行图2或图4所示的方法。请参见图6,所述图像处理装置可以运行如下单元:
获取单元601,用于响应针对目标容器内运行的目标游戏的操作事件,获取与所述操作事件对应的目标着色代码;所述操作事件是在与所述目标容器相连接的目标游戏客户端显示的所述目标游戏的游戏画面中检测到的;
所述获取单元601,还用于从游戏资源中获取所述目标着色代码的目标编译结果,所述游戏资源包括以下至少一项:所述目标游戏的游戏镜像,及所述目标容器和所述目标容器的关联容器之间的目标共享目录,所述目标共享目录中包括所述关联容器在游戏运行过程中,编译至少一个着色代码所得到的第一编译结果;
处理单元602,用于根据所述目标编译结果进行图形处理,得到所述操作事件对应的反馈图像;并在所述目标游戏客户端中显示所述反馈图像。
在一种实施方式中,所述游戏资源包括所述游戏镜像和所述目标共享目录;所述游戏镜像中包括预先运行所述目标游戏所编译的至少一个着色代码的第二编译结果,且各第二编译结果均是在制作所述游戏镜像时被添加至所述游戏镜像中的;相应的,获取单元601在用于从游戏资源中获取所述目标着色代码的目标编译结果时,可具体用于:
在所述目标游戏的游戏镜像中,检测是否存在所述目标着色代码的第二编译结果;
若存在,则从所述游戏镜像中获取所述目标着色代码的第二编译结果作为目标编译结果;
若不存在,则从所述目标容器和所述目标容器的关联容器之间的目标共享目录中,获取所述目标着色代码的目标编译结果。
再一种实施方式中,所述游戏镜像中还包括所述至少一个着色代码的索引值,且一个索引值对应一个第二编译结果;相应的,获取单元601在用于在所述目标游戏的游戏镜像中,检测是否存在所述目标着色代码的第二编译结果时,可具体用于:
对所述目标着色代码进行哈希运算,得到所述目标着色代码的目标索引值;
若所述游戏镜像中包括所述目标索引值,则确定所述游戏镜像中存在所述目标着色代码的第二编译结果;
若所述游戏镜像中不包括所述目标索引值,则确定所述游戏镜像中不存在所述目标着色代码的第二编译结果。
再一种实施方式中,所述目标游戏是云游戏系统中的云游戏,所述云游戏系统包括至少一个边缘服务器以及多个游戏客户端;每个边缘服务器内部署有至少一个系统容器,每个系统容器与至少一个游戏客户端相连接;
所述每个系统容器用于运行一个或多个游戏,且所述每个系统容器在运行任一游戏的过程中,传输所述任一游戏的游戏画面至相连接的游戏客户端中进行显示;
其中,所述目标容器是基于目标边缘服务器的服务器操作系统所运行的任一系统容器,所述目标边缘服务器为所述云游戏系统中的任一边缘服务器;所述关联容器是指运行与所述目标游戏相关联的关联游戏的系统容器,所述关联游戏包括:所述目标游戏或者与所述目标游戏使用同一个游戏引擎的游戏。
再一种实施方式中,处理单元602还可用于:
接收所述目标边缘服务器发送的目录挂载指令,所述目录挂载指令携带所述目标共享目录;
在所述目标容器中指定动态缓存目录,并将所述目标共享目录挂载至所述动态缓存目录下,使所述目标共享目录和所述动态缓存目录之间保持数据同步;
其中,所述目标共享目录还被挂载至所述关联容器的预设目录中,以缓存所述关联容器在运行所述关联游戏的过程中,对至少一个着色代码进行编译所得到的第一编译结果。
再一种实施方式中,所述动态缓存目录采用第一环境变量进行指定,所述第二编译结果在所述游戏镜像中的存储目录采用第二环境变量进行指定。
再一种实施方式中,所述目标共享目录位于所述服务器操作系统所在的服务器主机中;或者,
所述共享目录位于网络文件系统中,所述网络文件系统与所述云游戏系统中的各个边缘服务器相互独立,且允许所述各个边缘服务器中的系统容器进行访问。
再一种实施方式中,若所述目标共享目录位于所述服务器主机中,则所述服务器主机中还包括除所述目标共享目录以外的其他共享目录,所述服务器主机中的其他共享目录用于和所述目标边缘服务器中与所述目标容器无关的系统容器进行挂载;
若所述目标共享目录位于所述网络文件系统中,则所述网络文件系统中还包括除所述目标共享目录以外的其他共享目录,所述网络文件系统中的其他共享目录用于和所述云游戏系统中与所述目标容器无关的系统容器进行挂载。
再一种实施方式中,所述游戏资源中不包括所述目标着色代码的目标编译结果;相应的,处理单元602还可用于:
若从所述游戏资源中获取所述目标编译结果失败,则编译所述目标着色代码,得到所述目标编译结果;
将所述目标编译结果缓存至所述动态缓存目录,以将所述目标编译结果同步至所述目标共享目录中,使得所述关联容器需编译所述目标着色代码时,从所述目标共享目录中获取所述目标编译结果。
根据本发明的一个实施例,图2或图4所示的方法所涉及的各个步骤均可以是由图6所示的图像处理装置中的各个单元来执行的。例如,图2中所示的步骤S201-S202均可由图6中所示的获取单元601来执行,步骤S203可由图6中所示的处理单元602来执行。又如,图4中所示的步骤S401-S402以及步骤S407均可由图6中所示的处理单元602来执行,步骤S403-S406均可由图6中所示的获取单元601来执行。
根据本发明的另一个实施例,图6所示的图像处理装置中的各个单元可以分别或全部合并为一个或若干个另外的单元来构成,或者其中的某个(些)单元还可以再拆分为功能上更小的多个单元来构成,这可以实现同样的操作,而不影响本发明的实施例的技术效果的实现。上述单元是基于逻辑功能划分的,在实际应用中,一个单元的功能也可以由多个单元来实现,或者多个单元的功能由一个单元实现。在本发明的其它实施例中,基于图像处理装置也可以包括其它单元,在实际应用中,这些功能也可以由其它单元协助实现,并且可以由多个单元协作实现。
根据本发明的另一个实施例,可以通过在包括中央处理单元(CPU)、随机存取存储介质(RAM)、只读存储介质(ROM)等处理元件和存储元件的例如计算机的通用计算设备上运行能够执行如图2或图4中所示的相应方法所涉及的各步骤的计算机程序(包括程序代码),来构造如图6中所示的图像处理装置设备,以及来实现本发明实施例的图像处理方法。所述计算机程序可以记载于例如计算机可读记录介质上,并通过计算机可读记录介质装载于上述计算设备中,并在其中运行。
本发明实施例在响应针对目标容器内运行的目标游戏的操作事件,获取到与操作事件对应的目标着色代码后,可跳过目标着色代码的编译过程,直接从游戏镜像或者目标容器和目标容器的关联容器之间的目标共享目录中获取目标着色代码的目标编译结果。然后,可根据目标编译结果进行图形处理,得到操作事件对应的反馈图像;并在目标游戏客户端中显示反馈图像。可见,本发明实施例通过直接利用游戏镜像或目标共享目录中关联容器已编译得到的目标编译结果进行图形处理,可有效节省目标着色代码的编译时间,从而提升目标游戏的运行速度。
基于上述方法实施例以及装置实施例的描述,本发明实施例还提供一种服务器;该服务器可以是上述所提及的目标边缘服务器。请参见图7,该服务器至少包括处理器701、输入接口702、输出接口703以及计算机存储介质704。其中,服务器内的处理器701、输入接口702、输出接口703以及计算机存储介质704可通过总线或其他方式连接。
所述计算机存储介质704是服务器中的记忆设备,用于存放程序和数据。可以理解的是,此处的计算机存储介质704既可以包括服务器中的内置存储介质,当然也可以包括服务器所支持的扩展存储介质。计算机存储介质704提供存储空间,该存储空间存储了服务器的操作系统。并且,在该存储空间中还存放了适于被处理器701加载并执行的一条或多条的指令,这些指令可以是一个或一个以上的计算机程序(包括程序代码)。需要说明的是,此处的计算机存储介质可以是高速RAM存储器,也可以是非不稳定的存储器(non-volatilememory),例如至少一个磁盘存储器;可选的还可以是至少一个位于远离前述处理器的计算机存储介质。所述处理器701(或称CPU(Central Processing Unit,中央处理器))是服务器的计算核心以及控制核心,其适于实现一条或多条指令,具体适于加载并执行一条或多条指令从而实现相应方法流程或相应功能。
在一个实施例中,可由处理器701加载并执行计算机存储介质704中存放的一条或多条指令,以实现上述有关图2或图4所示的图像处理方法实施例中的相应方法步骤;具体实现中,计算机存储介质704中的一条或多条指令由处理器701加载并执行如下步骤:
响应针对目标容器内运行的目标游戏的操作事件,获取与所述操作事件对应的目标着色代码;所述操作事件是在与所述目标容器相连接的目标游戏客户端显示的所述目标游戏的游戏画面中检测到的;
从游戏资源中获取所述目标着色代码的目标编译结果,所述游戏资源包括以下至少一项:所述目标游戏的游戏镜像,及所述目标容器和所述目标容器的关联容器之间的目标共享目录,所述目标共享目录中包括所述关联容器在游戏运行过程中,编译至少一个着色代码所得到的第一编译结果;
根据所述目标编译结果进行图形处理,得到所述操作事件对应的反馈图像;并在所述目标游戏客户端中显示所述反馈图像。
在一种实施方式中,所述游戏资源包括所述游戏镜像和所述目标共享目录;所述游戏镜像中包括预先运行所述目标游戏所编译的至少一个着色代码的第二编译结果,且各第二编译结果均是在制作所述游戏镜像时被添加至所述游戏镜像中的;相应的,在从游戏资源中获取所述目标着色代码的目标编译结果时,所述一条或多条指令可由处理器701加载并具体执行:
在所述目标游戏的游戏镜像中,检测是否存在所述目标着色代码的第二编译结果;
若存在,则从所述游戏镜像中获取所述目标着色代码的第二编译结果作为目标编译结果;
若不存在,则从所述目标容器和所述目标容器的关联容器之间的目标共享目录中,获取所述目标着色代码的目标编译结果。
再一种实施方式中,所述游戏镜像中还包括所述至少一个着色代码的索引值,且一个索引值对应一个第二编译结果;相应的,在所述目标游戏的游戏镜像中,检测是否存在所述目标着色代码的第二编译结果时,所述一条或多条指令可由处理器701加载并具体执行:
对所述目标着色代码进行哈希运算,得到所述目标着色代码的目标索引值;
若所述游戏镜像中包括所述目标索引值,则确定所述游戏镜像中存在所述目标着色代码的第二编译结果;
若所述游戏镜像中不包括所述目标索引值,则确定所述游戏镜像中不存在所述目标着色代码的第二编译结果。
再一种实施方式中,所述目标游戏是云游戏系统中的云游戏,所述云游戏系统包括至少一个边缘服务器以及多个游戏客户端;每个边缘服务器内部署有至少一个系统容器,每个系统容器与至少一个游戏客户端相连接;
所述每个系统容器用于运行一个或多个游戏,且所述每个系统容器在运行任一游戏的过程中,传输所述任一游戏的游戏画面至相连接的游戏客户端中进行显示;
其中,所述目标容器是基于目标边缘服务器的服务器操作系统所运行的任一系统容器,所述目标边缘服务器为所述云游戏系统中的任一边缘服务器;所述关联容器是指运行与所述目标游戏相关联的关联游戏的系统容器,所述关联游戏包括:所述目标游戏或者与所述目标游戏使用同一个游戏引擎的游戏。
再一种实施方式中,所述一条或多条指令还可由处理器701加载并执行:
接收所述目标边缘服务器发送的目录挂载指令,所述目录挂载指令携带所述目标共享目录;
在所述目标容器中指定动态缓存目录,并将所述目标共享目录挂载至所述动态缓存目录下,使所述目标共享目录和所述动态缓存目录之间保持数据同步;
其中,所述目标共享目录还被挂载至所述关联容器的预设目录中,以缓存所述关联容器在运行所述关联游戏的过程中,对至少一个着色代码进行编译所得到的第一编译结果。
再一种实施方式中,所述动态缓存目录采用第一环境变量进行指定,所述第二编译结果在所述游戏镜像中的存储目录采用第二环境变量进行指定。
再一种实施方式中,所述目标共享目录位于所述服务器操作系统所在的服务器主机中;或者,
所述共享目录位于网络文件系统中,所述网络文件系统与所述云游戏系统中的各个边缘服务器相互独立,且允许所述各个边缘服务器中的系统容器进行访问。
再一种实施方式中,若所述目标共享目录位于所述服务器主机中,则所述服务器主机中还包括除所述目标共享目录以外的其他共享目录,所述服务器主机中的其他共享目录用于和所述目标边缘服务器中与所述目标容器无关的系统容器进行挂载;
若所述目标共享目录位于所述网络文件系统中,则所述网络文件系统中还包括除所述目标共享目录以外的其他共享目录,所述网络文件系统中的其他共享目录用于和所述云游戏系统中与所述目标容器无关的系统容器进行挂载。
再一种实施方式中,所述游戏资源中不包括所述目标着色代码的目标编译结果;相应的,所述一条或多条指令还可由处理器701加载并执行:
若从所述游戏资源中获取所述目标编译结果失败,则编译所述目标着色代码,得到所述目标编译结果;
将所述目标编译结果缓存至所述动态缓存目录,以将所述目标编译结果同步至所述目标共享目录中,使得所述关联容器需编译所述目标着色代码时,从所述目标共享目录中获取所述目标编译结果。
本发明实施例在响应针对目标容器内运行的目标游戏的操作事件,获取到与操作事件对应的目标着色代码后,可跳过目标着色代码的编译过程,直接从游戏镜像或者目标容器和目标容器的关联容器之间的目标共享目录中获取目标着色代码的目标编译结果。然后,可根据目标编译结果进行图形处理,得到操作事件对应的反馈图像;并在目标游戏客户端中显示反馈图像。可见,本发明实施例通过直接利用游戏镜像或目标共享目录中关联容器已编译得到的目标编译结果进行图形处理,可有效节省目标着色代码的编译时间,从而提升目标游戏的运行速度。
需要说明的是,根据本申请的一个方面,还提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述图2或图4所示的图像处理方法实施例方面的各种可选方式中提供的方法。
并且,应理解的是,以上所揭露的仅为本发明较佳实施例而已,当然不能以此来限定本发明之权利范围,因此依本发明权利要求所作的等同变化,仍属本发明所涵盖的范围。
Claims (12)
1.一种图像处理方法,其特征在于,包括:
响应针对目标容器内运行的目标游戏的操作事件,获取与所述操作事件对应的目标着色代码;所述操作事件是在与所述目标容器相连接的目标游戏客户端显示的所述目标游戏的游戏画面中检测到的;
从游戏资源中获取所述目标着色代码的目标编译结果,所述游戏资源包括以下至少一项:所述目标游戏的游戏镜像,及所述目标容器和所述目标容器的关联容器之间的目标共享目录,所述目标共享目录中包括所述关联容器在游戏运行过程中,编译至少一个着色代码所得到的第一编译结果;
根据所述目标编译结果进行图形处理,得到所述操作事件对应的反馈图像;并在所述目标游戏客户端中显示所述反馈图像。
2.如权利要求1所述的方法,其特征在于,所述游戏资源包括所述游戏镜像和所述目标共享目录;所述游戏镜像中包括预先运行所述目标游戏所编译的至少一个着色代码的第二编译结果,且各第二编译结果均是在制作所述游戏镜像时被添加至所述游戏镜像中的;
所述从游戏资源中获取所述目标着色代码的目标编译结果,包括:
在所述目标游戏的游戏镜像中,检测是否存在所述目标着色代码的第二编译结果;
若存在,则从所述游戏镜像中获取所述目标着色代码的第二编译结果作为目标编译结果;
若不存在,则从所述目标容器和所述目标容器的关联容器之间的目标共享目录中,获取所述目标着色代码的目标编译结果。
3.如权利要求2所述的方法,其特征在于,所述游戏镜像中还包括所述至少一个着色代码的索引值,且一个索引值对应一个第二编译结果;所述在所述目标游戏的游戏镜像中,检测是否存在所述目标着色代码的第二编译结果,包括:
对所述目标着色代码进行哈希运算,得到所述目标着色代码的目标索引值;
若所述游戏镜像中包括所述目标索引值,则确定所述游戏镜像中存在所述目标着色代码的第二编译结果;
若所述游戏镜像中不包括所述目标索引值,则确定所述游戏镜像中不存在所述目标着色代码的第二编译结果。
4.如权利要求1所述的方法,其特征在于,所述目标游戏是云游戏系统中的云游戏,所述云游戏系统包括至少一个边缘服务器以及多个游戏客户端;每个边缘服务器内部署有至少一个系统容器,每个系统容器与至少一个游戏客户端相连接;
所述每个系统容器用于运行一个或多个游戏,且所述每个系统容器在运行任一游戏的过程中,传输所述任一游戏的游戏画面至相连接的游戏客户端中进行显示;
其中,所述目标容器是基于目标边缘服务器的服务器操作系统所运行的任一系统容器,所述目标边缘服务器为所述云游戏系统中的任一边缘服务器;所述关联容器是指运行与所述目标游戏相关联的关联游戏的系统容器,所述关联游戏包括:所述目标游戏或者与所述目标游戏使用同一个游戏引擎的游戏。
5.如权利要求4所述的方法,其特征在于,所述方法还包括:
接收所述目标边缘服务器发送的目录挂载指令,所述目录挂载指令携带所述目标共享目录;
在所述目标容器中指定动态缓存目录,并将所述目标共享目录挂载至所述动态缓存目录下,使所述目标共享目录和所述动态缓存目录之间保持数据同步;
其中,所述目标共享目录还被挂载至所述关联容器的预设目录中,以缓存所述关联容器在运行所述关联游戏的过程中,对至少一个着色代码进行编译所得到的第一编译结果。
6.如权利要求5所述的方法,其特征在于,所述动态缓存目录采用第一环境变量进行指定,所述第二编译结果在所述游戏镜像中的存储目录采用第二环境变量进行指定。
7.如权利要求4-6任一项所述的方法,其特征在于,所述目标共享目录位于所述服务器操作系统所在的服务器主机中;或者,
所述共享目录位于网络文件系统中,所述网络文件系统与所述云游戏系统中的各个边缘服务器相互独立,且允许所述各个边缘服务器中的系统容器进行访问。
8.如权利要求7所述的方法,其特征在于,若所述目标共享目录位于所述服务器主机中,则所述服务器主机中还包括除所述目标共享目录以外的其他共享目录,所述服务器主机中的其他共享目录用于和所述目标边缘服务器中与所述目标容器无关的系统容器进行挂载;
若所述目标共享目录位于所述网络文件系统中,则所述网络文件系统中还包括除所述目标共享目录以外的其他共享目录,所述网络文件系统中的其他共享目录用于和所述云游戏系统中与所述目标容器无关的系统容器进行挂载。
9.如权利要求5所述的方法,其特征在于,所述游戏资源中不包括所述目标着色代码的目标编译结果,所述方法还包括:
若从所述游戏资源中获取所述目标编译结果失败,则编译所述目标着色代码,得到所述目标编译结果;
将所述目标编译结果缓存至所述动态缓存目录,以将所述目标编译结果同步至所述目标共享目录中,使得所述关联容器需编译所述目标着色代码时,从所述目标共享目录中获取所述目标编译结果。
10.一种图像处理装置,其特征在于,包括:
获取单元,用于响应针对目标容器内运行的目标游戏的操作事件,获取与所述操作事件对应的目标着色代码;所述操作事件是在与所述目标容器相连接的目标游戏客户端显示的所述目标游戏的游戏画面中检测到的;
所述获取单元,还用于从游戏资源中获取所述目标着色代码的目标编译结果,所述游戏资源包括以下至少一项:所述目标游戏的游戏镜像,及所述目标容器和所述目标容器的关联容器之间的目标共享目录,所述目标共享目录中包括所述关联容器在游戏运行过程中,编译至少一个着色代码所得到的第一编译结果;
处理单元,用于根据所述目标编译结果进行图形处理,得到所述操作事件对应的反馈图像;并在所述目标游戏客户端中显示所述反馈图像。
11.一种服务器,包括输入接口和输出接口,其特征在于,还包括:
处理器,适于实现一条或多条指令;以及,
计算机存储介质,所述计算机存储介质存储有一条或多条指令,所述一条或多条指令适于由所述处理器加载并执行如权利要求1-9任一项所述的图像处理方法。
12.一种计算机存储介质,其特征在于,所述计算机存储介质存储有一条或多条指令,所述一条或多条指令适于由处理器加载并执行如权利要求1-9任一项所述的图像处理方法。
Priority Applications (6)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010704005.8A CN111736850B (zh) | 2020-07-21 | 2020-07-21 | 图像处理方法、装置、服务器及介质 |
PCT/CN2021/100026 WO2022017070A1 (zh) | 2020-07-21 | 2021-06-15 | 图像处理方法、装置、服务器及介质 |
KR1020227017638A KR20220083832A (ko) | 2020-07-21 | 2021-06-15 | 이미지 처리 방법 및 장치, 서버 및 매체 |
EP21845550.9A EP4120065A4 (en) | 2020-07-21 | 2021-06-15 | IMAGE PROCESSING METHOD AND DEVICE, AND SERVER AND MEDIUM |
JP2022548779A JP7464732B2 (ja) | 2020-07-21 | 2021-06-15 | 画像処理方法及びその装置、サーバ並びにコンピュータプログラム |
US17/731,170 US20220249948A1 (en) | 2020-07-21 | 2022-04-27 | Image processing method and apparatus, server, and medium |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010704005.8A CN111736850B (zh) | 2020-07-21 | 2020-07-21 | 图像处理方法、装置、服务器及介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111736850A true CN111736850A (zh) | 2020-10-02 |
CN111736850B CN111736850B (zh) | 2020-12-22 |
Family
ID=72655217
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010704005.8A Active CN111736850B (zh) | 2020-07-21 | 2020-07-21 | 图像处理方法、装置、服务器及介质 |
Country Status (6)
Country | Link |
---|---|
US (1) | US20220249948A1 (zh) |
EP (1) | EP4120065A4 (zh) |
JP (1) | JP7464732B2 (zh) |
KR (1) | KR20220083832A (zh) |
CN (1) | CN111736850B (zh) |
WO (1) | WO2022017070A1 (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112156475A (zh) * | 2020-10-29 | 2021-01-01 | 腾讯科技(深圳)有限公司 | 一种业务数据处理方法、装置、电子设备及存储介质 |
CN112587917A (zh) * | 2021-01-23 | 2021-04-02 | 上海达龙信息科技有限公司 | 一种云游戏服务器模板及游戏磁盘变更方法、系统、存储介质及服务器 |
CN113656143A (zh) * | 2021-08-16 | 2021-11-16 | 深圳市瑞驰信息技术有限公司 | 一种实现安卓容器直通显卡的方法及系统 |
WO2022017070A1 (zh) * | 2020-07-21 | 2022-01-27 | 腾讯科技(深圳)有限公司 | 图像处理方法、装置、服务器及介质 |
US11321907B1 (en) | 2021-03-02 | 2022-05-03 | Samsung Electronics Co., Ltd. | Method and apparatus for graphics driver optimization using daemon-based resources |
CN117008924A (zh) * | 2023-10-07 | 2023-11-07 | 海马云(天津)信息技术有限公司 | 编译处理方法及装置、通信设备 |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114217908B (zh) * | 2022-02-23 | 2022-07-15 | 广州趣丸网络科技有限公司 | 容器启动方法、系统、装置及设备 |
US20230293990A1 (en) * | 2022-03-21 | 2023-09-21 | Oorbit, Inc. | Software application streaming system |
CN115695857B (zh) * | 2022-12-29 | 2023-03-21 | 北京海誉动想科技股份有限公司 | 云应用的视频编码方法及装置 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2007032879A1 (en) * | 2005-09-12 | 2007-03-22 | Igt | Method and system for instant-on game download |
CN106933635A (zh) * | 2017-03-15 | 2017-07-07 | 北京搜狐新媒体信息技术有限公司 | Docker镜像生成方法及Docker容器 |
US20170354888A1 (en) * | 2016-06-13 | 2017-12-14 | Sony Interactive Entertainment America Llc | Method and system for saving a snapshot of game play and used to begin later execution of the game play by any user as executed on a game cloud system |
WO2019147974A2 (en) * | 2018-01-26 | 2019-08-01 | Valve Corporation | Distributing shaders between client machines for precaching |
CN110933036A (zh) * | 2019-10-29 | 2020-03-27 | 咪咕互动娱乐有限公司 | 一种云游戏服务系统和服务器 |
CN111352692A (zh) * | 2018-12-21 | 2020-06-30 | 中国科学院声学研究所 | 一种采用web语言实现的容器镜像的方法和系统 |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7064766B2 (en) | 2001-10-18 | 2006-06-20 | Microsoft Corporation | Intelligent caching data structure for immediate mode graphics |
US9495830B2 (en) | 2013-08-12 | 2016-11-15 | Namco Usa Inc. | Cashless play system based on proprietary monetary systems |
CN104375849B (zh) * | 2013-08-15 | 2019-01-11 | 腾讯科技(深圳)有限公司 | 加载内核的方法及装置 |
CN104780164B (zh) * | 2015-03-25 | 2016-12-21 | 腾讯科技(深圳)有限公司 | 一种运行游戏客户端的方法和装置 |
WO2019074952A2 (en) | 2017-10-10 | 2019-04-18 | Google Llc | GAMING PROFILING BASED ON DISTRIBUTED SAMPLE WITH GAME AND MEASUREMENT METADATA, AND GAME API PLATFORM SUPPORTING THIRD CONTENT |
CN111417978A (zh) | 2018-04-10 | 2020-07-14 | 谷歌有限责任公司 | 游戏渲染中的内存管理 |
US10672362B2 (en) * | 2018-08-17 | 2020-06-02 | Ffipco, Llc | Systems and methods for digital content creation and rendering |
CN111736850B (zh) * | 2020-07-21 | 2020-12-22 | 腾讯科技(深圳)有限公司 | 图像处理方法、装置、服务器及介质 |
-
2020
- 2020-07-21 CN CN202010704005.8A patent/CN111736850B/zh active Active
-
2021
- 2021-06-15 KR KR1020227017638A patent/KR20220083832A/ko not_active Application Discontinuation
- 2021-06-15 EP EP21845550.9A patent/EP4120065A4/en active Pending
- 2021-06-15 JP JP2022548779A patent/JP7464732B2/ja active Active
- 2021-06-15 WO PCT/CN2021/100026 patent/WO2022017070A1/zh unknown
-
2022
- 2022-04-27 US US17/731,170 patent/US20220249948A1/en active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2007032879A1 (en) * | 2005-09-12 | 2007-03-22 | Igt | Method and system for instant-on game download |
US20170354888A1 (en) * | 2016-06-13 | 2017-12-14 | Sony Interactive Entertainment America Llc | Method and system for saving a snapshot of game play and used to begin later execution of the game play by any user as executed on a game cloud system |
CN106933635A (zh) * | 2017-03-15 | 2017-07-07 | 北京搜狐新媒体信息技术有限公司 | Docker镜像生成方法及Docker容器 |
WO2019147974A2 (en) * | 2018-01-26 | 2019-08-01 | Valve Corporation | Distributing shaders between client machines for precaching |
CN111352692A (zh) * | 2018-12-21 | 2020-06-30 | 中国科学院声学研究所 | 一种采用web语言实现的容器镜像的方法和系统 |
CN110933036A (zh) * | 2019-10-29 | 2020-03-27 | 咪咕互动娱乐有限公司 | 一种云游戏服务系统和服务器 |
Non-Patent Citations (1)
Title |
---|
郭涛: "边缘计算落在实处", 《中国信息化周报》 * |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2022017070A1 (zh) * | 2020-07-21 | 2022-01-27 | 腾讯科技(深圳)有限公司 | 图像处理方法、装置、服务器及介质 |
CN112156475A (zh) * | 2020-10-29 | 2021-01-01 | 腾讯科技(深圳)有限公司 | 一种业务数据处理方法、装置、电子设备及存储介质 |
CN112156475B (zh) * | 2020-10-29 | 2022-04-12 | 腾讯科技(深圳)有限公司 | 一种业务数据处理方法、装置、电子设备及存储介质 |
CN112587917A (zh) * | 2021-01-23 | 2021-04-02 | 上海达龙信息科技有限公司 | 一种云游戏服务器模板及游戏磁盘变更方法、系统、存储介质及服务器 |
US11321907B1 (en) | 2021-03-02 | 2022-05-03 | Samsung Electronics Co., Ltd. | Method and apparatus for graphics driver optimization using daemon-based resources |
CN113656143A (zh) * | 2021-08-16 | 2021-11-16 | 深圳市瑞驰信息技术有限公司 | 一种实现安卓容器直通显卡的方法及系统 |
CN113656143B (zh) * | 2021-08-16 | 2024-05-31 | 深圳市瑞驰信息技术有限公司 | 一种实现安卓容器直通显卡的方法及系统 |
CN117008924A (zh) * | 2023-10-07 | 2023-11-07 | 海马云(天津)信息技术有限公司 | 编译处理方法及装置、通信设备 |
Also Published As
Publication number | Publication date |
---|---|
JP2023513717A (ja) | 2023-04-03 |
EP4120065A1 (en) | 2023-01-18 |
EP4120065A4 (en) | 2023-08-16 |
US20220249948A1 (en) | 2022-08-11 |
CN111736850B (zh) | 2020-12-22 |
JP7464732B2 (ja) | 2024-04-09 |
KR20220083832A (ko) | 2022-06-20 |
WO2022017070A1 (zh) | 2022-01-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111736850B (zh) | 图像处理方法、装置、服务器及介质 | |
EP4122568A1 (en) | Data processing method and device and storage medium | |
AU2019233201B2 (en) | Resource configuration method and apparatus, terminal, and storage medium | |
CN106598655B (zh) | 应用程序页面处理方法和装置 | |
EP3951595A1 (en) | Method and apparatus for graphics rendering | |
US8830245B2 (en) | Load balancing between general purpose processors and graphics processors | |
US9830176B2 (en) | Methods, systems, and media for binary compatible graphics support in mobile operating systems | |
US10754715B2 (en) | Application program control method and apparatus, terminal, and storage medium | |
US9582919B2 (en) | Automatic run-time identification of textures | |
US20220004405A1 (en) | 3D API Redirection for Virtual Desktop Infrastructure | |
JP7100154B2 (ja) | プロセッサコアのスケジューリング方法、装置、端末及び記憶媒体 | |
CN110059004B (zh) | 一种应用测试的方法、装置、设备和介质 | |
CN111722885B (zh) | 程序运行方法、装置以及电子设备 | |
US10949226B2 (en) | Display method of multi-application based on Android system, and terminal device | |
CN110968395B (zh) | 一种在模拟器中处理渲染指令的方法及移动终端 | |
CN110557624A (zh) | 数据传输方法、装置及服务器 | |
CN108446146B (zh) | 一种游戏数据采集方法及装置 | |
CN112023402B (zh) | 游戏数据处理方法、装置、设备以及介质 | |
WO2022041507A1 (zh) | 3d渲染方法及系统 | |
CN110764805A (zh) | 客户端无感升级的方法、装置、终端及存储介质 | |
CN110545415A (zh) | 数据传输方法、装置及服务器 | |
CN114003225A (zh) | 窗口显示方法、装置、计算机设备和存储介质 | |
CN112799801A (zh) | 一种模拟鼠标指针绘制方法、装置、设备和介质 | |
WO2023093212A1 (zh) | 一种图像处理方法及电子设备 | |
KR20210037638A (ko) | 응용 프로그램의 스트리밍 영상 제공 장치 및 방법 |
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 | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: DE Ref document number: 40030905 Country of ref document: HK |