JP7464732B2 - 画像処理方法及びその装置、サーバ並びにコンピュータプログラム - Google Patents
画像処理方法及びその装置、サーバ並びにコンピュータプログラム Download PDFInfo
- Publication number
- JP7464732B2 JP7464732B2 JP2022548779A JP2022548779A JP7464732B2 JP 7464732 B2 JP7464732 B2 JP 7464732B2 JP 2022548779 A JP2022548779 A JP 2022548779A JP 2022548779 A JP2022548779 A JP 2022548779A JP 7464732 B2 JP7464732 B2 JP 7464732B2
- Authority
- JP
- Japan
- Prior art keywords
- target
- game
- container
- shader code
- compilation result
- 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
Links
- 238000003672 processing method Methods 0.000 title claims description 39
- 238000004590 computer program Methods 0.000 title claims description 8
- 238000012545 processing Methods 0.000 claims description 62
- 238000000034 method Methods 0.000 claims description 50
- 230000008569 process Effects 0.000 claims description 42
- 230000004044 response Effects 0.000 claims description 14
- 230000007246 mechanism Effects 0.000 description 37
- 238000010586 diagram Methods 0.000 description 23
- 238000010187 selection method Methods 0.000 description 16
- 230000003068 static effect Effects 0.000 description 12
- 230000006870 function Effects 0.000 description 9
- 238000005516 engineering process Methods 0.000 description 4
- 238000009877 rendering Methods 0.000 description 3
- 238000004904 shortening Methods 0.000 description 3
- 230000001133 acceleration Effects 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 238000004088 simulation Methods 0.000 description 2
- 238000013473 artificial intelligence Methods 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000005484 gravity Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000002955 isolation Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 238000012827 research and development Methods 0.000 description 1
- 230000009466 transformation 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
-
- 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
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Software Systems (AREA)
- General Business, Economics & Management (AREA)
- Computer Security & Cryptography (AREA)
- Business, Economics & Management (AREA)
- Image Generation (AREA)
- Information Transfer Between Computers (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Processing Or Creating Images (AREA)
Description
本願は、2020年7月21日に中国特許局に提出された、出願番号が第202010704005.8号であり、発明の名称が「画像処理方法、装置、サーバ並びに媒体」である中国特許出願の優先権を主張し、その内容の全てが引用により本願に援用される。
本願は、インターネット技術分野、具体的には、画像処理技術分野に関するものであり、特に、画像処理方法、画像処理装置、サーバ及びコンピュータ記憶媒体に関するものである。
目標コンテナ内で実行される目標ゲームに対する操作イベントに応答して、前記操作イベントに対応する目標シェーダコードを取得するステップと、
ゲームリソースから、前記目標シェーダコードの目標コンパイル結果を取得するステップであって、前記ゲームリソースは、前記目標ゲームのゲーム鏡像、及び前記目標コンテナと前記目標コンテナの関連コンテナとの間の目標共有ディレクトリのうちの少なくとも1つを含み、前記目標共有ディレクトリは、前記関連コンテナがゲームを実行する過程で少なくとも1つのシェーダコードをコンパイルすることによって取得した第1コンパイル結果を含む、ステップと、
前記目標コンパイル結果に基づいて図形処理を実行して、前記操作イベントに対応するフィードバック画像を取得するステップと、を含む。
前記取得ユニットは、目標コンテナ内で実行される目標ゲームに対する操作イベントに応答して、前記操作イベントに対応する目標シェーダコードを取得するように構成され、
前記取得ユニットは更に、ゲームリソースから、前記目標シェーダコードの目標コンパイル結果を取得するように構成され、前記ゲームリソースは、前記目標ゲームのゲーム鏡像、及び前記目標コンテナと前記目標コンテナの関連コンテナとの間の目標共有ディレクトリのうちの少なくとも1つを含み、前記目標共有ディレクトリは、前記関連コンテナがゲームを実行する過程で少なくとも1つのシェーダコードをコンパイルすることによって取得した第1コンパイル結果を含み、
前記処理ユニットは、前記目標コンパイル結果に基づいて図形処理を実行して、前記操作イベントに対応するフィードバック画像を取得するように構成される。
1つ又は複数の命令を記憶するように構成されるコンピュータ記憶媒体と、
前記コンピュータ記憶媒体に記憶された1つ又は複数の命令をロードすることにより、以下のステップを実行するように構成されるプロセッサと、を備え、前記ステップは、
目標コンテナ内で実行される目標ゲームに対する操作イベントに応答して、前記操作イベントに対応する目標シェーダコードを取得するステップと、
ゲームリソースから、前記目標シェーダコードの目標コンパイル結果を取得するステップであって、前記ゲームリソースは、前記目標ゲームのゲーム鏡像、及び前記目標コンテナと前記目標コンテナの関連コンテナとの間の目標共有ディレクトリのうちの少なくとも1つを含み、前記目標共有ディレクトリは、前記関連コンテナがゲームを実行する過程で少なくとも1つのシェーダコードをコンパイルすることによって取得した第1コンパイル結果を含む、ステップと、
前記目標コンパイル結果に基づいて図形処理を実行して、前記操作イベントに対応するフィードバック画像を取得するステップと、を含む。
目標コンテナ内で実行される目標ゲームに対する操作イベントに応答して、前記操作イベントに対応する目標シェーダコードを取得するステップと、
ゲームリソースから、前記目標シェーダコードの目標コンパイル結果を取得するステップであって、前記ゲームリソースは、前記目標ゲームのゲーム鏡像、及び前記目標コンテナと前記目標コンテナの関連コンテナとの間の目標共有ディレクトリのうちの少なくとも1つを含み、前記目標共有ディレクトリは、前記関連コンテナがゲームを実行する過程で少なくとも1つのシェーダコードをコンパイルすることによって取得した第1コンパイル結果を含む、ステップと、
前記目標コンパイル結果に基づいて図形処理を実行して、前記操作イベントに対応するフィードバック画像を取得するステップと、を含む。
ここでの静的共有GPU shader cacheメカニズムとは、少なくとも1つのGPU shaderコードの第2コンパイル結果をゲーム鏡像に追加することで、当該ゲーム鏡像をロードする各システムコンテナがいずれも当該第2コンパイル結果を共有できるようにする共有メカニズムを指す。具体的には、当該静的共有GPU shader cacheメカニズムの原理は、大体、次のとおりである。クラウドゲームのゲーム鏡像の作成プロセスにおいて、クラウドゲームを事前に実行することができ、クラウドゲームの実行中に、少なくとも1つのGPU shaderコードをコンパイルして第2コンパイル結果を取得し、その後、第2コンパイル結果をクラウドゲームのゲーム鏡像に追加する。このようにして、クラウドゲームのゲーム鏡像を、異なるエッジサーバのシステムコンテナ又は同じエッジサーバの異なるシステムコンテナに展開する場合、当該ゲーム鏡像をロードする各システムコンテナは、いずれもこれらの第2コンパイル結果を含み得、これにより、各システムコンテナが特定のGPU shaderコードをコンパイルする必要がある場合、ゲーム鏡像に当該GPU shaderコードの第2コンパイル結果が既に含まれていると、各システムコンテナは、ゲーム鏡像から対応する第2コンパイル結果を直接取得して後続の処理を実行することができ、これにより、ゲームの実行加速を向上させることができる。ここから分かるように、静的共有GPU shader cacheメカニズムでは、ゲーム鏡像にGPU shaderコードの第2コンパイル結果が既に含まれており、そのため、追加の共有ディレクトリをシステムコンテナにマウントすることなく、同じゲーム間のコンパイル結果の共有の問題を解決することができる。
ここでの動的共有GPU shader cacheメカニズムとは、ゲーム実行中に、共有ディレクトリにより、複数のシステムコンテナ間での同じGPU shaderコードのコンパイル結果の共有を実現する共有メカニズムを指す。特定の実現では、当該動的共有GPU shader cacheメカニズムの原理は大体、次のとおりである。各システムコンテナの実行プロセスにおいて、1つの共有ディレクトリを各システムコンテナにマウントして、GPU shaderコンパイルキャッシュディレクトリとして使用することができ、これにより、ゲーム実行中に各システムコンテナによりコンパイルされた各GPU shaderコードの第1コンパイル結果をすべて当該共有ディレクトリに同期的に格納することができる。このようにして、特定のシステムコンテナaが特定のGPU shaderコードをコンパイルする必要がある場合、当該GPU shaderコードが他のシステムコンテナによって既にコンパイルされ、且つその対応する第1コンパイル結果が目標共有ディレクトリに既にキャッシュされていると、当該システムコンテナaは、目標共有ディレクトリから当該第1コンパイル結果を直接取得して後続の処理を実行することができ、これにより、ゲームの実行加速を向上させることができる。
図3aを参照すると、目標ゲームのゲーム鏡像を作成するときに、先ず、機器操作システムの基礎鏡像ファイル(例えば、Android基礎鏡像ファイルなど)をロードすることができる。次に、目標ゲームをインストールして、目標ゲームに関する第1部分のGPU shaderコードのコンパイルをトリガして、第1部分のコンパイル結果を取得し、当該第1部分のコンパイル結果を目標ゲームのゲーム鏡像に追加することができる。1つの実施形態において、当該第1部分のコンパイル結果及び第1部分のGPU shaderコードを対応する目標ゲームのゲーム鏡像に直接追加することができる。別の実施形態において、第1部分のコンパイル結果及び第1部分のGPU shaderコードのインデックス値を、対応する目標ゲームのゲーム鏡像に追加することができ、ここでのインデックス値は、GPU shaderコードに対してハッシュ演算を実行することにより取得されたものであり得る。その後、目標ゲームを実行し、当該目標ゲームのシミュレーション操作イベントを入力して、当該シミュレーション操作イベントに対応する第2部分のGPU shaderコードのコンパイルをトリガすることで、第2部分のコンパイル結果を取得し、当該第2部分のコンパイル結果を目標ゲームのゲーム鏡像に追加することができる。1つの実施形態において、当該第2部分のコンパイル結果及び第2部分のGPU shaderコードを対応する目標ゲームのゲーム鏡像に直接追加することができる。別の実施形態において、第2部分のコンパイル結果及び第2部分のGPU shaderコードのインデックス値を対応する目標ゲームのゲーム鏡像に追加することができる。
先ず、目標エッジサーバは目標共有ディレクトリを選択することができる。次に、目標共有ディレクトリを目標コンテナ及び関連コンテナにマウントすることにより、目標コンテナ及び関連コンテナでのそれぞれのゲームの実行プロセスにおいて、コンパイルされた各GPU shaderコードの第1コンパイル結果をすべて当該目標共有ディレクトリに同期的にキャッシュすることができる。具体的には、目標エッジサーバは、目標共有ディレクトリを含むディレクトリマウント命令を生成することができ、当該ディレクトリマウント命令を目標コンテナ及び関連コンテナにそれぞれ送信することにより、目標コンテナは、当該目標共有ディレクトリを目標コンテナ内の動的キャッシュディレクトリにマウントすることができ、関連コンテナは、当該目標共有ディレクトリを関連コンテナ内の所定のディレクトリにマウントすることができる。目標共有ディレクトリを目標コンテナ及び関連コンテナに正常にマウントした後、関連コンテナの実行中に、関連コンテナが少なくとも1つのGPU shaderコードをコンパイルして対応する第1コンパイル結果を取得した場合、当該関連コンテナによってコンパイルされた第1コンパイル結果を目標共有ディレクトリに追加することができる。同様に、目標コンテナの実行中に、目標コンテナが少なくとも1つのGPU shaderコードをコンパイルして第1コンパイル結果を取得した場合、当該目標コンテナによってコンパイルされた第1コンパイル結果を目標共有ディレクトリに追加することができる。
前記取得ユニット601は更に、ゲームリソースから、前記目標シェーダコードの目標コンパイル結果を取得するように構成され、前記ゲームリソースは、前記目標ゲームのゲーム鏡像、及び前記目標コンテナと前記目標コンテナの関連コンテナとの間の目標共有ディレクトリのうちの少なくとも1つを含み、前記目標共有ディレクトリは、前記関連コンテナがゲームを実行する過程で少なくとも1つのシェーダコードをコンパイルすることによって取得した第1コンパイル結果を含み、
処理ユニット602は、前記目標コンパイル結果に基づいて図形処理を実行して、前記操作イベントに対応するフィードバック画像を取得し、前記目標ゲームクライアントに前記フィードバック画像を表示するように構成される。
前記目標ゲームのゲーム鏡像において、前記目標シェーダコードの第2コンパイル結果の有無を検出し、
前記目標シェーダコードの第2コンパイル結果がある場合、前記ゲーム鏡像から、前記目標シェーダコードの第2コンパイル結果を目標コンパイル結果として取得し、
前記目標シェーダコードの第2コンパイル結果がない場合、前記目標コンテナと前記目標コンテナの関連コンテナとの間の目標共有ディレクトリから、前記第1コンパイル結果を前記目標シェーダコードの目標コンパイル結果として取得するように構成され得る。
前記目標シェーダコードに対してハッシュ演算を実行して、前記目標シェーダコードの目標インデックス値を取得し、
前記ゲーム鏡像が前記目標インデックス値を含む場合、前記ゲーム鏡像に前記目標シェーダコードの第2コンパイル結果があると決定し、
前記ゲーム鏡像が前記目標インデックス値を含まない場合、前記ゲーム鏡像に前記目標シェーダコードの第2コンパイル結果がないと決定するように構成され得る。
前記各システムコンテナは1つ又は複数のゲームを実行するために使用され、前記各システムコンテナは、任意のゲームを実行する過程で、前記任意のゲームのゲーム画面を、前記各システムコンテナに接続されたゲームクライアントに伝送して表示し、
ここで、前記目標コンテナは、目標エッジサーバのサーバ操作システムに基づいて実行される任意のシステムコンテナであり、前記目標エッジサーバは、前記クラウドゲームシステムの任意のエッジサーバであり、前記関連コンテナは、前記目標ゲームに関連付けられた関連ゲームを実行するシステムコンテナであり、前記関連ゲームは、前記目標ゲーム、又は前記目標ゲームと同じゲームエンジンを使用するゲームを含む。
前記目標エッジサーバによって送信されたディレクトリマウント命令を受信し、ここで、前記ディレクトリマウント命令は前記目標共有ディレクトリを搬送し、
前記目標コンテナ内で動的キャッシュディレクトリを指定し、前記目標共有ディレクトリと前記動的キャッシュディレクトリとの間のデータ同期を維持するように、前記目標共有ディレクトリを前記動的キャッシュディレクトリにマウントし、
ここで、前記目標共有ディレクトリは前記関連コンテナの所定のディレクトリに更にマウントされ、これによって、前記関連コンテナが前記関連ゲームを実行する過程で少なくとも1つのシェーダコードをコンパイルすることによって取得した第1コンパイル結果をキャッシュするようにする。
前記共有ディレクトリは、ネットワークファイルシステム内にあり、前記ネットワークファイルシステムと前記クラウドゲームシステムの各エッジサーバは相互に独立しかつ前記各エッジサーバのシステムコンテナからのアクセスを許可する。
前記目標共有ディレクトリが前記ネットワークファイルシステム内にある場合、前記ネットワークファイルシステムは、前記目標共有ディレクトリ以外の他の共有ディレクトリを更に含み、前記ネットワークファイルシステムの共有ディレクトリは、前記目標コンテナに関連しない、前記クラウドゲームシステムのシステムコンテナをマウントするために使用される。
前記ゲームリソースからの前記目標コンパイル結果の取得に失敗した場合、前記目標シェーダコードをコンパイルして前記目標コンパイル結果を取得し、
前記目標コンパイル結果を前記目標共有ディレクトリに同期させるために、前記目標コンパイル結果を前記動的キャッシュディレクトリにキャッシュし、これにより、前記関連コンテナが前記目標シェーダコードをコンパイルする必要がある場合、前記目標共有ディレクトリから前記目標コンパイル結果を取得するようにするように構成される。
目標コンテナ内で実行される目標ゲームに対する操作イベントに応答して、前記操作イベントに対応する目標シェーダコードを取得するステップであって、前記操作イベントは、前記目標コンテナに接続された目標ゲームクライアントに表示される前記目標ゲームのゲーム画面から検出されたものである、ステップと、
ゲームリソースから、前記目標シェーダコードの目標コンパイル結果を取得するステップであって、前記ゲームリソースは、前記目標ゲームのゲーム鏡像、及び前記目標コンテナと前記目標コンテナの関連コンテナとの間の目標共有ディレクトリのうちの少なくとも1つを含み、前記目標共有ディレクトリは、前記関連コンテナがゲームを実行する過程で少なくとも1つのシェーダコードをコンパイルすることによって取得した第1コンパイル結果を含む、ステップと、
前記目標コンパイル結果に基づいて図形処理を実行して、前記操作イベントに対応するフィードバック画像を取得し、前記目標ゲームクライアントに前記フィードバック画像を表示するステップと、を含む。
前記目標ゲームのゲーム鏡像において、前記目標シェーダコードの第2コンパイル結果の有無を検出するステップと、
前記目標シェーダコードの第2コンパイル結果がある場合、前記ゲーム鏡像から、前記目標シェーダコードの第2コンパイル結果を目標コンパイル結果として取得するステップと、
前記目標シェーダコードの第2コンパイル結果がない場合、前記目標コンテナと前記目標コンテナの関連コンテナとの間の目標共有ディレクトリから、前記第1コンパイル結果を前記目標シェーダコードの目標コンパイル結果として取得するステップと、を含む。
前記目標シェーダコードに対してハッシュ演算を実行して、前記目標シェーダコードの目標インデックス値を取得するステップと、
前記ゲーム鏡像が前記目標インデックス値を含む場合、前記ゲーム鏡像に前記目標シェーダコードの第2コンパイル結果があると決定するステップと、
前記ゲーム鏡像が前記目標インデックス値を含まない場合、前記ゲーム鏡像に前記目標シェーダコードの第2コンパイル結果がないと決定するステップと、を含む。
前記各システムコンテナは1つ又は複数のゲームを実行するために使用され、前記各システムコンテナは、任意のゲームを実行する過程で、前記任意のゲームのゲーム画面を、前記各システムコンテナに接続されたゲームクライアントに伝送して表示し、
ここで、前記目標コンテナは、目標エッジサーバのサーバ操作システムに基づいて実行される任意のシステムコンテナであり、前記目標エッジサーバは、前記クラウドゲームシステムの任意のエッジサーバであり、前記関連コンテナは、前記目標ゲームに関連付けられた関連ゲームを実行するシステムコンテナであり、前記関連ゲームは、前記目標ゲーム、又は前記目標ゲームと同じゲームエンジンを使用するゲームを含む。
前記目標エッジサーバによって送信されたディレクトリマウント命令を受信するステップであって、前記ディレクトリマウント命令は前記目標共有ディレクトリを搬送する、ステップと、
前記目標コンテナ内で動的キャッシュディレクトリを指定し、前記目標共有ディレクトリと前記動的キャッシュディレクトリとの間のデータ同期を維持するように、前記目標共有ディレクトリを前記動的キャッシュディレクトリにマウントするステップと、を含み、
ここで、前記目標共有ディレクトリは、前記関連コンテナの所定のディレクトリに更にマウントされ、これによって、前記関連コンテナが前記関連ゲームを実行する過程で少なくとも1つのシェーダコードをコンパイルすることによって取得した第1コンパイル結果をキャッシュするようにする。
前記共有ディレクトリはネットワークファイルシステム内にあり、前記ネットワークファイルシステムと前記クラウドゲームシステムの各エッジサーバは、相互に独立し且つ前記各エッジサーバのシステムコンテナからのアクセスを許可する。
前記目標共有ディレクトリが前記ネットワークファイルシステム内にある場合、前記ネットワークファイルシステムは、前記目標共有ディレクトリ以外の他の共有ディレクトリを更に含み、前記ネットワークファイルシステムの共有ディレクトリは、前記目標コンテナに関連しない、前記クラウドゲームシステムのシステムコンテナをマウントするために使用される。
前記ゲームリソースからの前記目標コンパイル結果の取得に失敗した場合、前記目標シェーダコードをコンパイルして前記目標コンパイル結果を取得するステップと、
前記目標コンパイル結果を前記目標共有ディレクトリに同期させるために、前記目標コンパイル結果を前記動的キャッシュディレクトリにキャッシュし、これにより、前記関連コンテナが前記目標シェーダコードをコンパイルする必要がある場合、前記目標共有ディレクトリから前記目標コンパイル結果を取得するようにするステップと、を含む。
12 ゲームクライアント
601 取得ユニット
602 処理ユニット
701 プロセッサ
702 入力インターフェース
703 出力インターフェース
704 コンピュータ記憶媒体
Claims (15)
- 画像処理方法であって、
目標コンテナ内で実行される目標ゲームに対する操作イベントに応答して、前記操作イベントに対応する目標シェーダコードを取得するステップと、
ゲームリソースから、前記目標シェーダコードの目標コンパイル結果を取得するステップであって、前記ゲームリソースは、前記目標ゲームのゲームミラーファイル、及び前記目標コンテナと前記目標コンテナの関連コンテナとの間の目標共有ディレクトリのうちの少なくとも1つを含み、前記ゲームミラーファイルは、基本的なオペレーティングシステムファイルとゲーム関連ファイルの両方を1つに合併した形式のファイルであり、前記目標共有ディレクトリは、前記関連コンテナがゲームを実行する過程で少なくとも1つのシェーダコードをコンパイルすることによって取得した第1コンパイル結果を含む、ステップと、
前記目標コンパイル結果に基づいて図形処理を実行して、前記操作イベントに対応するフィードバック画像を取得するステップと、を含むことを特徴とする、画像処理方法。 - 前記ゲームリソースは、前記ゲームミラーファイル及び前記目標共有ディレクトリを含み、前記ゲームミラーファイルは、前記目標ゲームを事前に実行するときにコンパイルされた少なくとも1つのシェーダコードの第2コンパイル結果を含み、各第2コンパイル結果は、前記ゲームミラーファイルを生成するときに前記ゲームミラーファイルに追加されたものであり、
ゲームリソースから、前記目標シェーダコードの目標コンパイル結果を取得する前記ステップは、
前記目標ゲームのゲームミラーファイルにおいて、前記目標シェーダコードの第2コンパイル結果の有無を検出するステップと、
前記目標シェーダコードの第2コンパイル結果がある場合、前記ゲームミラーファイルから、前記目標シェーダコードの第2コンパイル結果を目標コンパイル結果として取得するステップと、
前記目標シェーダコードの第2コンパイル結果がない場合、前記目標コンテナと前記目標コンテナの関連コンテナとの間の目標共有ディレクトリから、前記第1コンパイル結果を前記目標シェーダコードの目標コンパイル結果として取得するステップと、を含むことを特徴とする、
請求項1に記載の画像処理方法。 - 前記ゲームミラーファイルは、前記少なくとも1つのシェーダコードのインデックス値を更に含み、1つのインデックス値は1つの第2コンパイル結果に対応し、前記目標ゲームのゲームミラーファイルにおいて、前記目標シェーダコードの第2コンパイル結果の有無を検出する前記ステップは、
前記目標シェーダコードに対してハッシュ演算を実行して、前記目標シェーダコードの目標インデックス値を取得するステップと、
前記ゲームミラーファイルが前記目標インデックス値を含む場合、前記ゲームミラーファイルに前記目標シェーダコードの第2コンパイル結果があると決定するステップと、
前記ゲームミラーファイルが前記目標インデックス値を含まない場合、前記ゲームミラーファイルに前記目標シェーダコードの第2コンパイル結果がないと決定するステップと、を含むことを特徴とする、
請求項2に記載の画像処理方法。 - 前記目標ゲームはクラウドゲームシステムにおけるクラウドゲームであり、前記クラウドゲームシステムは、少なくとも1つのエッジサーバ及び複数のゲームクライアントを含み、各エッジサーバには少なくとも1つのシステムコンテナが展開され、各システムコンテナは少なくとも1つのゲームクライアントに接続され、
前記各システムコンテナは1つ又は複数のゲームを実行するために使用され、前記各システムコンテナは、任意のゲームを実行する過程で、前記任意のゲームのゲーム画面を、前記各システムコンテナに接続されたゲームクライアントに伝送して表示し、
前記目標コンテナは、目標エッジサーバのサーバオペレーティングシステムに基づいて実行される任意のシステムコンテナであり、前記目標エッジサーバは、前記クラウドゲームシステムの任意のエッジサーバであり、前記関連コンテナは、前記目標ゲームに関連付けられた関連ゲームを実行するシステムコンテナであり、前記関連ゲームは、前記目標ゲーム、又は前記目標ゲームと同じゲームエンジンを使用するゲームを含むことを特徴とする、
請求項1に記載の画像処理方法。 - 前記画像処理方法は、
前記目標エッジサーバによって送信されたディレクトリマウント命令を受信するステップであって、前記ディレクトリマウント命令は前記目標共有ディレクトリを搬送する、ステップと、
前記目標コンテナ内で動的キャッシュディレクトリを指定し、前記目標共有ディレクトリと前記動的キャッシュディレクトリとの間のデータ同期を維持するように、前記目標共有ディレクトリを前記動的キャッシュディレクトリにマウントするステップと、を更に含み、
前記目標共有ディレクトリは前記関連コンテナの所定のディレクトリに更にマウントされ、これによって、前記関連コンテナが前記関連ゲームを実行する過程で少なくとも1つのシェーダコードをコンパイルすることによって取得した第1コンパイル結果をキャッシュするようにすることを特徴とする、
請求項4に記載の画像処理方法。 - 前記動的キャッシュディレクトリは第1環境変数によって指定され、前記ゲームミラーファイルにおける第2コンパイル結果のストレージディレクトリは第2環境変数によって指定されることを特徴とする、
請求項5に記載の画像処理方法。 - 前記目標共有ディレクトリは、前記サーバオペレーティングシステムが配置されているサーバホスト機器内にあることを特徴とする、
請求項4ないし6のいずれか一項に記載の画像処理方法。 - 前記共有ディレクトリはネットワークファイルシステム内にあり、前記ネットワークファイルシステムと前記クラウドゲームシステムの各エッジサーバは、相互に独立し且つ前記各エッジサーバのシステムコンテナからのアクセスを許可することを特徴とする、
請求項4ないし6のいずれか一項に記載の画像処理方法。 - 前記サーバホスト機器は、前記目標共有ディレクトリ以外の他の共有ディレクトリを更に含み、前記サーバホスト機器の他の共有ディレクトリは、前記目標コンテナに関連しない、前記目標エッジサーバのシステムコンテナをマウントするために使用されることを特徴とする、
請求項7に記載の画像処理方法。 - 前記ネットワークファイルシステムは、前記目標共有ディレクトリ以外の他の共有ディレクトリを更に含み、前記ネットワークファイルシステムの他の共有ディレクトリは、前記目標コンテナに関連しない、前記クラウドゲームシステムのシステムコンテナをマウントするために使用されることを特徴とする、
請求項8に記載の画像処理方法。 - 前記ゲームリソースは前記目標シェーダコードの目標コンパイル結果を含まず、前記画像処理方法は、
前記ゲームリソースからの前記目標コンパイル結果の取得に失敗した場合、前記目標シェーダコードをコンパイルして、前記目標コンパイル結果を取得するステップと、
前記目標コンパイル結果を前記目標共有ディレクトリに同期させるために、前記目標コンパイル結果を前記動的キャッシュディレクトリにキャッシュし、これにより、前記関連コンテナが、前記目標シェーダコードをコンパイルする必要がある場合、前記目標共有ディレクトリから前記目標コンパイル結果を取得するようにする、ステップと、を更に含むことを特徴とする、
請求項5に記載の画像処理方法。 - 前記操作イベントは、前記目標コンテナに接続された目標ゲームクライアントに表示される前記目標ゲームのゲーム画面から検出されたものであり、前記操作イベントに対応するフィードバック画像を取得した後、前記画像処理方法は、
前記目標ゲームクライアントに前記フィードバック画像を表示するステップを更に含むことを特徴とする、
請求項1に記載の画像処理方法。 - 画像処理装置であって、
取得ユニットと、処理ユニットと、を備え、
前記取得ユニットは、目標コンテナ内で実行される目標ゲームに対する操作イベントに応答して、前記操作イベントに対応する目標シェーダコードを取得するように構成され、
前記取得ユニットは更に、ゲームリソースから、前記目標シェーダコードの目標コンパイル結果を取得するように構成され、前記ゲームリソースは、前記目標ゲームのゲームミラーファイル、及び前記目標コンテナと前記目標コンテナの関連コンテナとの間の目標共有ディレクトリのうちの少なくとも1つを含み、前記ゲームミラーファイルは、基本的なオペレーティングシステムファイルとゲーム関連ファイルの両方を1つに合わせた形式のファイルであり、前記目標共有ディレクトリは、前記関連コンテナがゲームを実行する過程で少なくとも1つのシェーダコードをコンパイルすることによって取得した第1コンパイル結果を含み、
前記処理ユニットは、前記目標コンパイル結果に基づいて図形処理を実行して、前記操作イベントに対応するフィードバック画像を取得するように構成されることを特徴とする、画像処理装置。 - サーバであって、入力インターフェース及び出力インターフェースを備え、前記サーバは更に、
1つ又は複数の命令を記憶するように構成されるコンピュータ記憶媒体と、
前記コンピュータ記憶媒体に記憶された1つ又は複数の命令をロードして、請求項1ないし12のいずれか一項に記載の画像処理方法を実行するように構成されるプロセッサと、を備えることを特徴とする、サーバ。 - コンピュータに、請求項1ないし12のいずれか一項に記載の画像処理方法を実行させる、コンピュータプログラム。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010704005.8A CN111736850B (zh) | 2020-07-21 | 2020-07-21 | 图像处理方法、装置、服务器及介质 |
CN202010704005.8 | 2020-07-21 | ||
PCT/CN2021/100026 WO2022017070A1 (zh) | 2020-07-21 | 2021-06-15 | 图像处理方法、装置、服务器及介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2023513717A JP2023513717A (ja) | 2023-04-03 |
JP7464732B2 true JP7464732B2 (ja) | 2024-04-09 |
Family
ID=72655217
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2022548779A Active JP7464732B2 (ja) | 2020-07-21 | 2021-06-15 | 画像処理方法及びその装置、サーバ並びにコンピュータプログラム |
Country Status (5)
Country | Link |
---|---|
EP (1) | EP4120065A4 (ja) |
JP (1) | JP7464732B2 (ja) |
KR (1) | KR20220083832A (ja) |
CN (1) | CN111736850B (ja) |
WO (1) | WO2022017070A1 (ja) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111736850B (zh) * | 2020-07-21 | 2020-12-22 | 腾讯科技(深圳)有限公司 | 图像处理方法、装置、服务器及介质 |
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 |
CN113656143B (zh) * | 2021-08-16 | 2024-05-31 | 深圳市瑞驰信息技术有限公司 | 一种实现安卓容器直通显卡的方法及系统 |
CN114217908B (zh) * | 2022-02-23 | 2022-07-15 | 广州趣丸网络科技有限公司 | 容器启动方法、系统、装置及设备 |
US20230293988A1 (en) * | 2022-03-21 | 2023-09-21 | Oorbit, Inc. | Software application streaming system |
CN117008924A (zh) * | 2023-10-07 | 2023-11-07 | 海马云(天津)信息技术有限公司 | 编译处理方法及装置、通信设备 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008310835A (ja) | 2001-10-18 | 2008-12-25 | Microsoft Corp | イミーディエイトモードグラフィックスのためのインテリジェントキャッシングデータ構造 |
US20150045118A1 (en) | 2013-08-12 | 2015-02-12 | Namco Entertainment Inc. | Cashless play system based on proprietary monetary systems |
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 |
US20190308099A1 (en) | 2018-04-10 | 2019-10-10 | Google Llc | Memory Management in Gaming Rendering |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7887420B2 (en) * | 2005-09-12 | 2011-02-15 | Igt | Method and system for instant-on game download |
CN104375849B (zh) * | 2013-08-15 | 2019-01-11 | 腾讯科技(深圳)有限公司 | 加载内核的方法及装置 |
US11794108B2 (en) * | 2016-06-13 | 2023-10-24 | Sony Interactive Entertainment 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 |
CN106933635B (zh) * | 2017-03-15 | 2020-06-30 | 北京搜狐新媒体信息技术有限公司 | Docker镜像生成方法及Docker容器 |
US10668378B2 (en) * | 2018-01-26 | 2020-06-02 | Valve Corporation | Distributing shaders between client machines for precaching |
US10672362B2 (en) * | 2018-08-17 | 2020-06-02 | Ffipco, Llc | Systems and methods for digital content creation and rendering |
CN111352692B (zh) * | 2018-12-21 | 2023-10-31 | 中国科学院声学研究所 | 一种采用web语言实现的容器镜像的方法和系统 |
CN110933036B (zh) * | 2019-10-29 | 2022-03-22 | 咪咕互动娱乐有限公司 | 一种云游戏服务系统和服务器 |
CN111736850B (zh) * | 2020-07-21 | 2020-12-22 | 腾讯科技(深圳)有限公司 | 图像处理方法、装置、服务器及介质 |
-
2020
- 2020-07-21 CN CN202010704005.8A patent/CN111736850B/zh active Active
-
2021
- 2021-06-15 WO PCT/CN2021/100026 patent/WO2022017070A1/zh unknown
- 2021-06-15 EP EP21845550.9A patent/EP4120065A4/en active Pending
- 2021-06-15 JP JP2022548779A patent/JP7464732B2/ja active Active
- 2021-06-15 KR KR1020227017638A patent/KR20220083832A/ko not_active Application Discontinuation
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008310835A (ja) | 2001-10-18 | 2008-12-25 | Microsoft Corp | イミーディエイトモードグラフィックスのためのインテリジェントキャッシングデータ構造 |
US20150045118A1 (en) | 2013-08-12 | 2015-02-12 | Namco Entertainment Inc. | Cashless play system based on proprietary monetary systems |
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 |
US20190308099A1 (en) | 2018-04-10 | 2019-10-10 | Google Llc | Memory Management in Gaming Rendering |
WO2019199848A1 (en) | 2018-04-10 | 2019-10-17 | Google Llc | Memory management in gaming rendering |
Also Published As
Publication number | Publication date |
---|---|
EP4120065A1 (en) | 2023-01-18 |
CN111736850B (zh) | 2020-12-22 |
WO2022017070A1 (zh) | 2022-01-27 |
EP4120065A4 (en) | 2023-08-16 |
CN111736850A (zh) | 2020-10-02 |
KR20220083832A (ko) | 2022-06-20 |
US20220249948A1 (en) | 2022-08-11 |
JP2023513717A (ja) | 2023-04-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP7464732B2 (ja) | 画像処理方法及びその装置、サーバ並びにコンピュータプログラム | |
EP4122568A1 (en) | Data processing method and device and storage medium | |
US10074206B1 (en) | Network-optimized graphics library for virtualized graphics processing | |
CN107203555B (zh) | 页面加载处理方法及装置 | |
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 | |
RU2619181C2 (ru) | Система и способ для оптимизации передач загружаемого контента | |
EP2993583A1 (en) | Method and device for running remote application program | |
US9176757B2 (en) | Method, system and an executable piece of code for the virtualization of a hardware resource associated with a computer system | |
US8203566B2 (en) | Fixed function pipeline application remoting through a shader pipeline conversion layer | |
US20220004405A1 (en) | 3D API Redirection for Virtual Desktop Infrastructure | |
JP7412594B2 (ja) | データ処理方法、データ処理装置、コンピュータ機器、及びコンピュータプログラム | |
WO2014189746A1 (en) | Multimedia redirection in a virtualized environment using a proxy server | |
US20120075314A1 (en) | Prevention of DOS Attack by a Rogue Graphics Application | |
US20160077850A1 (en) | Methods, systems, and media for binary compatibility | |
US20140365861A1 (en) | Prefetching binary data for use by a browser plugin | |
CN110688174A (zh) | 容器启动方法、存储介质和电子设备 | |
US20240296151A1 (en) | Cloud server application management method, apparatus, device, computer-readable storage medium, and computer program product | |
CN115794139B (zh) | 镜像数据处理方法、装置、设备以及介质 | |
CN112023402B (zh) | 游戏数据处理方法、装置、设备以及介质 | |
CN106991057B (zh) | 一种共享显卡虚拟化中内存的调用方法及虚拟化平台 | |
CN112102457A (zh) | 3d渲染方法及系统 | |
JP2024504572A (ja) | 画像処理方法、装置、コンピュータ装置及びコンピュータプログラム | |
CN113536168B (zh) | 组件处理方法及设备 | |
CN114028801A (zh) | 基于云端的用户输入方法、装置、设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20220810 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20220810 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20230904 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20231023 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20240118 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20240318 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20240328 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 7464732 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |