JP2021517997A - ゲームレンダリングにおけるメモリ管理 - Google Patents
ゲームレンダリングにおけるメモリ管理 Download PDFInfo
- Publication number
- JP2021517997A JP2021517997A JP2020529148A JP2020529148A JP2021517997A JP 2021517997 A JP2021517997 A JP 2021517997A JP 2020529148 A JP2020529148 A JP 2020529148A JP 2020529148 A JP2020529148 A JP 2020529148A JP 2021517997 A JP2021517997 A JP 2021517997A
- Authority
- JP
- Japan
- Prior art keywords
- game
- shader
- memory
- static
- sequence
- 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
- 230000015654 memory Effects 0.000 title claims abstract description 490
- 238000009877 rendering Methods 0.000 title claims description 55
- 230000003068 static effect Effects 0.000 claims abstract description 400
- 238000012545 processing Methods 0.000 claims abstract description 137
- 238000000034 method Methods 0.000 claims description 195
- 238000003860 storage Methods 0.000 claims description 71
- 230000008569 process Effects 0.000 claims description 67
- 230000004044 response Effects 0.000 claims description 31
- 230000008859 change Effects 0.000 claims description 7
- 239000007787 solid Substances 0.000 claims description 3
- 238000013467 fragmentation Methods 0.000 claims description 2
- 238000006062 fragmentation reaction Methods 0.000 claims description 2
- 238000004891 communication Methods 0.000 description 36
- 238000005457 optimization Methods 0.000 description 24
- 238000010586 diagram Methods 0.000 description 21
- 230000002452 interceptive effect Effects 0.000 description 21
- 230000009471 action Effects 0.000 description 13
- 238000004458 analytical method Methods 0.000 description 11
- 239000012634 fragment Substances 0.000 description 10
- 238000012552 review Methods 0.000 description 8
- 230000006870 function Effects 0.000 description 7
- 239000000284 extract Substances 0.000 description 6
- 230000003287 optical effect Effects 0.000 description 6
- 230000000007 visual effect Effects 0.000 description 6
- 230000006399 behavior Effects 0.000 description 4
- 238000005266 casting Methods 0.000 description 4
- 238000012986 modification Methods 0.000 description 4
- 230000004048 modification Effects 0.000 description 4
- 238000012360 testing method Methods 0.000 description 4
- 230000001419 dependent effect Effects 0.000 description 3
- 238000001514 detection method Methods 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 230000004043 responsiveness Effects 0.000 description 3
- 230000001360 synchronised effect Effects 0.000 description 3
- 230000009466 transformation Effects 0.000 description 3
- 101100408383 Mus musculus Piwil1 gene Proteins 0.000 description 2
- 230000001010 compromised effect Effects 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 238000003384 imaging method Methods 0.000 description 2
- 230000000977 initiatory effect Effects 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 238000007726 management method Methods 0.000 description 2
- 238000002156 mixing Methods 0.000 description 2
- 238000012805 post-processing Methods 0.000 description 2
- 239000013589 supplement Substances 0.000 description 2
- 238000012795 verification Methods 0.000 description 2
- VYZAMTAEIAYCRO-UHFFFAOYSA-N Chromium Chemical compound [Cr] VYZAMTAEIAYCRO-UHFFFAOYSA-N 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 230000001427 coherent effect Effects 0.000 description 1
- 239000003086 colorant Substances 0.000 description 1
- 230000006835 compression Effects 0.000 description 1
- 238000007906 compression Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000007689 inspection Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 230000010076 replication Effects 0.000 description 1
- 238000007619 statistical method Methods 0.000 description 1
- 230000000153 supplemental effect Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 238000000844 transformation Methods 0.000 description 1
- 230000001131 transforming effect Effects 0.000 description 1
- 230000002747 voluntary effect Effects 0.000 description 1
Images
Classifications
-
- 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
-
- 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/45—Controlling the progress of the video game
- A63F13/48—Starting a game, e.g. activating a game device or waiting for other players to join a multiplayer session
-
- 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
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0806—Multiuser, multiprocessor or multiprocessing cache systems
- G06F12/0811—Multiuser, multiprocessor or multiprocessing cache systems with multilevel cache hierarchies
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0888—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches using selective caching, e.g. bypass
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/12—Replacement control
- G06F12/121—Replacement control using replacement algorithms
- G06F12/123—Replacement control using replacement algorithms with age lists, e.g. queue, most recently used [MRU] list or least recently used [LRU] list
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5061—Partitioning or combining of resources
- G06F9/5066—Algorithms for mapping a plurality of inter-dependent sub-tasks onto a plurality of physical CPUs
-
- 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
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/005—General purpose rendering architectures
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/131—Protocols for games, networked simulations or virtual reality
-
- 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
- A63F2300/00—Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
- A63F2300/20—Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterised by details of the game platform
- A63F2300/203—Image generating hardware
-
- 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
- A63F2300/00—Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
- A63F2300/50—Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by details of game servers
- A63F2300/53—Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by details of game servers details of basic data processing
- A63F2300/538—Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by details of game servers details of basic data processing for performing operations on behalf of the game client, e.g. rendering
-
- 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
- A63F2300/00—Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
- A63F2300/50—Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by details of game servers
- A63F2300/55—Details of game data or player data management
- A63F2300/5593—Details of game data or player data management involving scheduling aspects
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/023—Free address space management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/10—Providing a specific technical effect
- G06F2212/1016—Performance improvement
- G06F2212/1024—Latency reduction
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/10—Providing a specific technical effect
- G06F2212/1028—Power efficiency
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/10—Providing a specific technical effect
- G06F2212/1048—Scalability
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/15—Use in a specific computing environment
- G06F2212/154—Networked environment
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/20—Employing a main memory using a specific memory technology
- G06F2212/205—Hybrid memory, e.g. using both volatile and non-volatile memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/45—Caching of specific data in cache memory
- G06F2212/455—Image or video data
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Multimedia (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Computer Graphics (AREA)
- Software Systems (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Image Generation (AREA)
- Information Transfer Between Computers (AREA)
- Pinball Game Machines (AREA)
- Memory System (AREA)
- Memory System Of A Hierarchy Structure (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
Description
インターネット接続された電子デバイスは、さまざまなクラウドベースのメディアおよびエンターテインメントアプリケーションをサポート可能である。これらのアプリケーションは、サーバがコンテンツをユーザデバイスにストリームするメディアストリーミングアプリケーション、ユーザがサーバで実行されるゲームとユーザデバイスからインタラクトするゲームアプリケーション、ならびに、多数のユーザに互いに同時に、およびにインターネット接続されたデバイスを介してクラウドホスト型コンテンツおよびアプリケーションとインタラクトさせることが可能な、さまざまなソーシャルメディアおよび通信アプリケーションを含む。クラウドベースのアプリケーションのうち、クラウドゲーミングは、ゲームタイトルのハードウェアデマンドが大きく異なること、(たとえば、一人のプレーヤによって、1つの場所で複数のプレーヤによって、または複数の場所で複数のプレーヤによって)クラウドベースのベームをプレー可能なトポロジが多岐にわたること、ゲームセッションを実行するゲームサーバへのユーザ入力、およびゲームサーバからプレーヤのデバイス/ディスプレーへのゲームセッション出力を、レイテンシなく確実に送信する必要があること、ゲームプレーの速度および応答性についてプレーヤの期待が大きく異なること、ならびに、状況によってはリアルタイムゲームコンテンツを観客に提供したいという要望があることによって、特有の難題を提起することがある。クラウドベースのゲームの他の難題は、プレーヤの位置(たとえば、サーバに対して近いか遠いか)、プレーヤのゲームサービスに対する接続態様(たとえば、早いインターネット接続を介するか遅いインターネット接続を介するか)、および、プレーヤがゲームをプレーし(たとえば、一般的なパーソナルデバイスまたは専用ゲームコントローラ)ゲームプレー出力を視聴するのに用いるデバイス(たとえば、メディアストリーミングデバイスに接続されたパーソナルデバイスまたはメディアデバイス)の種類にかかわらず、プレーヤにとって矛盾のないゲームプレー体験を提供することに関する。
本明細書で説明される実現例は、許容可能なレイテンシおよび応答性で複数のオンラインゲームセッションの同時実行を容易にするように、サーバシステムの計算およびストレージリソースを構成することに向けられている。たとえば、不揮発性メモリに格納されたスタティックメモリプールは、常にリフレッシュを必要とするメインダイナミックメモリに一般的に格納されるスタティックデータ項目を記憶するように提供され得る。このスタティックメモリプールは、サーバシステムの複数のプロセッサによって共有され、メインダイナミックメモリが必要とするのと同じだけの電力を要求することなく、合理的に早い速度でアクセス可能である。スタティックデータ項目を格納するようにメインダイナミックメモリの一部はスタティックメモリプールによって置換えられるため、メインダイナミックメモリのサイズを減らすことが可能である。さらに、シェーダキャッシュは、確実に複数のゲームセッションが望ましい電力とレイテンシ性能でレンダリングされるように、コンパイルされたシェーダの2つ以上のシーケンスを格納する。複数のオンラインゲームセッションはシェーダキャッシュに既に存在するコンパイルされたシェーダのシーケンスのうち1つを用いて処理される一方で、シェーダキャッシュに格納されたコンパイルされたシェーダの異なるシーケンスは、リアルタイム使用統計に基づいて、異なる性能基準を満たすようにダイナミックに生成される。コンパイルされたシェーダのこれらの異なるシーケンスは、複数のオンラインゲームセッションをレンダリングする次のゲームコンテンツのために使用可能である。
ここで、実現例が詳細に参照され、それらの例が添付の図面に示される。以下の詳細な説明では、記載されているさまざまな実現例の徹底した理解を提供するために、多数の具体的な詳細が説明されている。しかしながら、記載されたさまざまな実現例がこれらの具体的な詳細がなくても実施されてよいことは、当業者にとって明らかであろう。他の例では、これらの実現例の態様を不必要に曖昧にしないように、よく知られている方法、プロシージャ、コンポーネント、回路、およびネットワークは詳細には記載されていない。
図1は、複数の実現例に係るオンラインインタラクティブゲーム環境100の例を示す図である。オンラインインタラクティブゲーム環境100は、1つ以上のクライアントデバイス(たとえば、クライアントデバイス102および104)を含む。クライアントデバイス102の各々は、1つ以上のゲームアプリケーションを実行する。オンラインゲームセッションは、起動され、特定のゲームアプリケーションで実行されて、クライアントデバイス102のユーザに、サーバシステム114によってホストされるオンラインインタラクティブゲーム(「ゲームタイトル」とも呼ばれる)をプレーさせることができる。いくつかの実現例では、クライアントデバイス102(たとえば、ホストクライアント)は、オンラインインタラクティブゲームのゲームシーンに加わるよう1つ以上の他のクライアントデバイス102を招待するように構成される。これらのクライアントデバイス102のゲームセッションは、オンラインインタラクティブゲームの同じゲームシーンを表示するように同期されており、必要に応じて、別個の視点がそれぞれのユーザに対応している。
いくつかの実現例では、ゲームタイトルに対応するゲームコンテンツは、グラフィックスパイプラインプロセス(たとえば、OpenGLレンダリングパイプライン)によるオンラインゲームセッションについて、GPU140によってレンダリングされる。グラフィックスパイプラインプロセスは、グラフィックス処理の順序シーケンスを含み、各グラフィックス処理は、1つ以上のユーザが定義したシェーダプログラムに基づいて実現される。各グラフィックス処理において、GPU140は、前のグラフィックス処理からユーザ入力または出力を受信し、それ自体の出力を、それぞれのグラフィックス処理の中間出力またはグラフィックスパイプラインプロセス全体の最終的な出力として生成する。このプロセスの間に、それぞれのグラフィックス処理のシェーダプログラムは、前のグラフィックス処理から受信されたユーザ入力および出力に加えて、1つ以上のスタティックデータ項目を用いる。たとえば、OpenGLレンダリングパイプラインのグラフィックス処理で使用されるスタティックデータ項目は、1つ以上のテクスチャオブジェクト、頂点データバッファオブジェクト、および定数データオブジェクトを含む。グラフィックスパイプラインプロセスによって、各オンラインゲームセッションについて画像フレームのシーケンスがレンダリングされ、各画像フレームは、ある解像度を有するピクセルアレイ(ページとも呼ばれる)を含む。いくつかの実現例では、グラフィックスパイプラインプロセスに対応するスタティックデータ項目(たとえば、テクスチャオブジェクト)は、オンラインゲームセッションの画像フレームと同じ解像度を有する1つ以上の画像を含む。
図5Aは、いくつかの実現例に係る、サーバシステム114を示すブロック図である。図5Bは、いくつかの実現例に係る、サーバ500に格納されたデータを示すブロック図である。サーバシステム114は通常、1つ以上の処理ユニット(たとえば、CPU18(複数可)、GPU140(複数可)およびエンコーダ142)、1つ以上のネットワークインターフェース504、メモリ506、およびこれらのコンポーネント(チップセットとも呼ばれる)を相互接続するための1つ以上の通信バス508を備える。サーバシステム114は必要であれば、キーボード、マウス、音声コマンド入力ユニットもしくはマイクロホン、タッチスクリーンディスプレー、タッチ感知入力パッド、ジェスチャ撮像カメラ、または他の入力ボタンもしくは制御装置などの、ユーザ入力を容易にする1つ以上の入力デバイス510を備え得る。さらに、サーバシステム114は、マイクロホンおよび音声認識またはカメラおよびジェスチャ認識を用いてキーボードを補足する、またはこれに置換わる。いくつかの実現例では、サーバシステム114は必要であれば、たとえば、電子デバイスに印刷されたグラフィックシリーズコードを撮像するための、1つ以上のカメラ、スキャナ、または光検出ユニットを備える。サーバシステム114はまた、1つ以上のスピーカおよび/または1つ以上のビジュアルディスプレーを含む、ユーザインターフェースおよびディスプレーコンテンツの提示を可能にする1つ以上の出力デバイス512を備え得る。
○共通デバイス設定(たとえば、サーバ階層、デバイスモデル、記憶容量、処理能力、通信能力など)を含む、クライアントデバイス102および104と関連付けられた情報を格納するためのクライアントデバイス設定552。
●メディアデバイス106上でゲームコンポーネントの全てのライフサイクルを制御し、ゲームコントローラ102からメッセージ(たとえば、コマンド)を受信し、ゲームコントローラ入力をサーバシステム114にリレーするためのゲームアプリケーション726。
○アカウントアクセス情報およびデバイス設定(たとえば、サーバ階層、デバイスモデル、記憶容量、処理能力、通信能力など)のための情報を含む、メディアデバイスアプリケーションのユーザアカウントと関連付けられた情報を格納するためのメディアデバイス設定742。
図8Aおよび図8Bは、いくつかの実現例に係る、1つ以上のゲームタイトルをホストするサーバシステムの格納能力を管理するための方法の例を示すフローチャート800である。方法800は必要であれば、コンピュータメモリまたは非一時的なコンピュータ可読記憶媒体(たとえば、図5Aのサーバ側ゲームモジュール526)に格納され、かつ、サーバシステム114(たとえば、ゲームサーバ118のCPUおよびGPU)の1つ以上のプロセッサによって実行される命令によって制御される。コンピュータ可読記憶媒体は、磁気もしくは光学ディスク記憶装置、フラッシュメモリなどの固体記憶装置、または他の不揮発性メモリデバイスもしくはデバイスを含み得る。コンピュータ可読記憶媒体に格納される命令は、ソースコード、アセンブリ言語コード、オブジェクトコード、または1つ以上のプロセッサによって解釈される他の命令フォーマットのうち1以上を含み得る。方法800におけるいくつかの動作は組合わされてもよい、および/または、いくつかの動作の順番は変更されてもよい。
オンラインゲームセッションのために画像フレームをレンダリングする過程において、GPU140は、他のパイプライン状態データと共にソース形式(GLSL、HLSL)または中間形式(DXIL、SPIR−V)でシェーダを取得し、GPUが使用するためのシェーダをコンパイルして、ゲームコンテンツをレンダリングする(たとえば、オンラインゲームセッションと関連付けられた画像フレームのシーケンスを出力する)。シェーダコンパイルは費用がかかる場合がある。たとえば、ゲームアプリケーションのなかには、各々が数ミリ秒かかるシェーダを100,000以上コンパイルすることを必要とするものもある。シェーダコンパイルがユーザ入力に応答してリアルタイムに行われる場合、長い時間がかかり、ユーザ体験が損なわれてしまう。状況によっては、シェーダコンパイルは、コンパイル時間を削減する目的で簡潔にされるが、結果として生じるコンパイルされたシェーダの質は、シェーダコンパイルの時間が制約された性質のために損なわれる。このパラグラフから次の8番目のパラグラフまでの説明は、開示されたもののコピーである。
コンパイラアップデートおよびプロファイリングを含むいくつかの実現例では、シェーダパイプラインオプティマイザ534は、シェーダコンパイラの新しいバージョンをシェーダキャッシュ内の全てのシェーダに対して実行し、シェーダコンパイラの前のバージョンと一緒にシェーダのこのシェーダコンパイラの新しいバージョンを格納する。オプティマイザ534はその後、オンラインゲームセッションのサンプルを用いて新しいシェーダコンパイラを実行し、性能影響を計測し、新しいシェーダコンパイラの適合性を判断する。これらの手段によって、コンパイルされたシェーダとシェーダコンパイラとの両方が、ゲームモジュールのゲームコンテンツレンダリングを混乱させることなく、バックグランドでダイナミックに改良される。
●各頂点に作用するための頂点シェーダ1104。
Claims (60)
- 方法であって、
サーバシステムは、1つ以上のCPUと、複数のGPUと、プログラムの実行中に前記1つ以上のCPUおよび/または前記複数のGPUによる使用のためのプログラムおよびデータを格納するメインダイナミックメモリと、不揮発性メモリに格納されたスタティックメモリプールと、前記スタティックメモリプールを管理するように構成されたメモリコントローラとを含み、前記複数のGPUの各々は、ローカルキャッシュを含み、前記メモリコントローラを介して前記スタティックメモリプールにアクセスするように構成され、前記方法は前記サーバシステムにおいて、
前記1つ以上のCPU上でゲームタイトルについて複数のゲームセッションを並行して実行することを含み、前記複数のゲームセッションの各々は、スタティックデータ項目と関連付けられ、前記スタティックデータ項目を用いてそれぞれのGPUによって実行可能なグラフィックス処理を必要とし、前記スタティックデータ項目は前記スタティックメモリプールに格納され、前記方法は、
前記1つ以上のCPU上で実行される前記複数のゲームセッションのうち第1のゲームセッションについて、
前記グラフィックス処理を第1のGPUに割当てることと、
前記第1のGPUが、前記スタティックデータ項目の第1のコピーを前記メモリコントローラにリクエストすることと、
前記スタティックメモリプールから読出された前記スタティックデータ項目の前記第1のコピーを前記メモリコントローラから受信することと、
前記第1のGPUが、前記スタティックデータ項目の前記第1のコピーを用いて前記グラフィックス処理を実行することと、
前記複数のゲームセッションのうち前記第1のゲームセッションと関連して、前記グラフィックス処理の第1の結果をローカルに格納することとを含み、
前記1つ以上のCPU上で実行される前記複数のゲームセッションのうち第2のゲームセッションについて、
前記グラフィックス処理を第2のGPUに割当てることと、
前記第2のGPUが、前記スタティックデータ項目の第2のコピーを前記メモリコントローラにリクエストすることと、
前記スタティックメモリプールから読出された前記スタティックデータ項目の前記第2のコピーを前記メモリコントローラから受信することと、
前記第2のGPUが、前記スタティックデータ項目の前記第2のコピーを用いて前記グラフィックス処理を実行することと、
前記複数のゲームセッションのうち前記第2のゲームセッションと関連して、前記グラフィックス処理の第2の結果をローカルに格納することとを含む、方法。 - 前記スタティックメモリプールは、前記サーバシステムの前記1つ以上のCPUおよび前記複数のGPUに近接して配設されている、および/または、これらによって共有される、請求項1に記載の方法。
- 前記メインダイナミックメモリは、前記サーバシステムの前記1つ以上のCPUおよび前記複数のGPUに近接して配設されている、および/または、これらによって共有される、請求項2に記載の方法。
- 前記スタティックメモリプールは、前記サーバシステムの前記1つ以上のCPUおよび前記複数のGPUの各々から距離を有し、前記距離は所定の距離閾値よりも小さい、請求項2に記載の方法。
- 前記スタティックメモリプールは、前記サーバシステムの前記1つ以上のCPUおよび前記複数のGPUがその上に配設されているサーバラックに物理的に位置する、請求項4に記載の方法。
- 前記メインダイナミックメモリはダイナミックランダムアクセスメモリを含み、
前記複数のGPUの前記ローカルキャッシュおよび前記1つ以上のCPUのローカルキャッシュの各々は、スタティックランダムアクセスメモリを含み、
前記スタティックメモリプールは、ソリッドステートドライブ、フラッシュメモリおよび相変化ランダムアクセスメモリのうち1つを含む、前記請求項のいずれか1項に記載の方法。 - 前記第1のGPUは複数のGPUコアおよび前記複数のGPUコアによって共有される共通キャッシュを有し、各GPUコアは、前記それぞれのGPUコアによって使用される命令及びデータを格納するそれぞれのキャッシュメモリを含む、前記請求項のいずれか1項に記載の方法。
- 前記サーバシステムは、前記グラフィックス処理を実行するために前記複数のGPUによって使用される1つ以上のコンパイルされたシェーダを格納するシェーダキャッシュを含む、前記請求項のいずれか1項に記載の方法。
- 前記サーバシステムは、複数のコンパイルされたシェーダを格納するシェーダキャッシュを含み、前記方法はさらに、
前記複数のゲームセッションのうち前記第1のゲームセッションについて性能基準を識別することと、
前記性能基準に従って、前記複数のコンパイルされたシェーダのうち1つのシェーダを選択することとを含み、前記複数のコンパイルされたシェーダのうち選択された前記1つのシェーダは、前記グラフィックス処理を実行するために前記第1のGPUによって使用される、前記請求項のいずれか1項に記載の方法。 - 前記メモリコントローラは、前記メインダイナミックメモリと前記スタティックメモリプールとの両方を管理するように構成される、前記請求項のいずれか1項に記載の方法。
- 前記メモリコントローラは第1のメモリコントローラを含み、前記サーバシステムはさらに、前記第1のメモリコントローラとは別の、前記メインダイナミックメモリを管理するように構成された第2のメモリコントローラを含む、前記請求項のいずれか1項に記載の方法。
- 前記グラフィックス処理は、OpenGLレンダリングパイプラインの一部であり、頂点処理、テッセレーション、幾何学処理、プリミティブアセンブリ、ラスタ化、フラグメンテーションおよびプリサンプリングのうち1つを含む、前記請求項のいずれか1項に記載の方法。
- 前記グラフィックス処理の前記第1の結果をローカルに格納することはさらに、前記複数のゲームセッションのうち前記第1のゲームセッションと関連して前記グラフィックス処理の前記第1の結果を前記ローカルキャッシュに格納することを含み、前記グラフィックス処理は第1のグラフィックス処理を含み、前記方法はさらに、
前記第1のグラフィックス処理の前記第1の結果を前記ローカルキャッシュから取得することと、
前記第1のGPUが、前記第1のグラフィックス処理の前記第1の結果を用いて、前記第1のグラフィックス処理に続く第2のグラフィックス処理を実行することとを含む、前記請求項のいずれか1項に記載の方法。 - 前記第1および第2のグラフィックス処理の両方は、前記複数のゲームセッションのうち前記第1のゲームセッションに関与するクライアントデバイスから受信されたユーザリクエストに応答して、ゲームコンテンツストリームを生成する画像レンダリングプロセスの一部である、請求項13に記載の方法。
- 前記グラフィックス処理の前記第1の結果をローカルに格納することはさらに、前記複数のゲームセッションのうち前記第1のゲームセッションと関連して前記グラフィックス処理の前記第1の結果を前記メインダイナミックメモリに格納することを含み、前記グラフィックス処理は第1のグラフィックス処理を含み、前記方法はさらに、
前記グラフィックス処理の前記第1の結果を前記メインダイナミックメモリから取得することと、
前記第1のグラフィックス処理の前記第1の結果を用いて、前記第1のグラフィックス処理に続く第2のグラフィックス処理を実行することとを含む、前記請求項のいずれか1項に記載の方法。 - 前記サーバシステムはさらにエンコーダを含み、前記方法はさらに、
前記エンコーダが、前記複数のゲームセッションのうち前記第1のゲームセッションと関連付けられた画像フレームに、前記第1の結果を符号化することを含み、前記画像フレームは、前記複数のゲームセッションのうち前記第1のゲームセッションに関与するクライアントデバイスに提供される、前記請求項のいずれか1項に記載の方法。 - 前記スタティックデータ項目は、特に前記ゲームタイトルの開発者によって事前に定義され、前記ゲームタイトルが前記サーバシステムに最初にロードされると前記スタティックメモリプールにロードされる、前記請求項のいずれか1項に記載の方法。
- 前記スタティックデータ項目は、前記グラフィックス処理を実行するために前記複数のGPUによって使用される1つ以上のコンパイルされたシェーダを含む、前記請求項のいずれか1項に記載の方法。
- 前記スタティックデータ項目は複数のコンパイルされたシェーダを含み、前記方法はさらに、
前記複数のゲームセッションのうち前記第1のゲームセッションについて性能基準を識別することと、
前記性能基準に従って、前記複数のコンパイルされたシェーダのうち1つのシェーダを選択することとを含み、前記複数のコンパイルされたシェーダのうち選択された前記1つのシェーダは、前記グラフィックス処理を実行するために前記第1のGPUによって用いられる、前記請求項のいずれか1項に記載の方法。 - 前記スタティックデータ項目は、OpenGLレンダリングパイプラインで使用される1つ以上の標準パラメータを含む、前記請求項のいずれか1項に記載の方法。
- 前記スタティックデータ項目は、前記複数のゲームセッションの間で共有される、前記請求項のいずれか1項に記載の方法。
- 前記複数のゲームセッションの各々は優先順位と関連付けられ、前記第1および第2のGPUの各々は、前記メモリコントローラから、前記第1および第2のゲームセッションの前記優先順位と関連して前記スタティックメモリプールから読出された前記スタティックデータ項目の前記それぞれのコピーを受信する、前記請求項のいずれか1項に記載の方法。
- 前記第1のゲームセッションは、前記第2のゲームセッションより高い優先順位を有し、前記第1のGPUは、前記第2のGPUが前記第2のコピーをリクエストした後に閾値時間と同時にまたは該閾値時間内に前記第1のコピーをリクエストし、前記第2のGPUは、前記第1のGPUが前記メモリコントローラから前記第1のコピーを受信するまで前記第2のコピーの受信を中断される、請求項22に記載の方法。
- 前記スタティックメモリプールはハッシュテーブルを含み、複数のスタティックデータ項目が、前記ハッシュテーブルに従って前記ゲームタイトルと関連して前記スタティックメモリプールに格納される、前記請求項のいずれか1項に記載の方法。
- 前記スタティックデータ項目は、前記スタティックデータ項目がリードオンリーであると示すタグと関連付けられる、前記請求項のいずれか1項に記載の方法。
- 前記スタティックデータ項目を解放するリクエストを受信することと、
前記スタティックメモリプールが一杯であるかどうかを判断することと、
前記スタティックメモリプールが一杯であることに従って、最低使用頻度(LRU)ページ置換方法に基づいて前記スタティックデータ項目を解放することと、
前記スタティックメモリプールが一杯でないという判断に従って、前記スタティックデータ項目の解放を中止することとをさらに含む、前記請求項のいずれか1項に記載の方法。 - 前記スタティックメモリプールは、複数のページに区分された相変化ランダムアクセスメモリ(PRAM)を含み、前記複数のページの各々は、前記それぞれのページに格納されたデータについて位置を識別するページハッシュを有し、前記方法はさらに、
前記メモリコントローラが、各ページの前記ハッシュに従って前記PRAMに対する読み書きを行うことを含む、前記請求項のいずれか1項に記載の方法。 - 前記スタティックメモリプールから読出された前記スタティックデータ項目の前記第1のコピーを前記メモリコントローラから読み出した後で、前記第1のGPUが、前記第1のコピーを前記ローカルキャッシュまたは前記メインダイナミックメモリに一時的に格納することをさらに含む、前記請求項のいずれか1項に記載の方法。
- 1つ以上のCPUと、
複数のGPUと、
前記1つ以上のCPUおよび/または前記複数のGPUによる使用のための1つ以上のプログラムを格納するメモリとを備え、前記メモリは少なくとも、メモリコントローラによって管理されるスタティックメモリプールとメインダイナミックメモリとを含み、前記1つ以上のプログラムは、請求項1〜28のいずれか1項に記載の方法を実現するための命令を含む、サーバシステム。 - サーバシステムの1つ以上のプロセッサによる実行のために構成された1つ以上のプログラムを格納する非一時的なコンピュータ可読記憶媒体であって、前記サーバシステムは、1つ以上のCPUと複数のGPUとを含み、前記非一時的なコンピュータ可読記憶媒体は少なくとも、メモリコントローラによって管理されるスタティックメモリプールとメインダイナミックメモリとを含み、前記1つ以上のプログラムは、請求項1〜28のいずれか1項に記載の方法を実現するための命令を含む、非一時的なコンピュータ可読記憶媒体。
- ゲームタイトルをロードするための方法であって、
サーバシステムは、1つ以上のCPUと、複数のGPUと、プログラムの実行中に前記1つ以上のCPUおよび/または前記複数のGPUによる使用のためのプログラムおよびデータを格納するメインダイナミックメモリと、不揮発性メモリに格納されたスタティックメモリプールと、前記スタティックメモリプールを管理するように構成されたメモリコントローラとを含み、前記複数のGPUの各々は、前記メモリコントローラを介して前記スタティックメモリプールにアクセスするように構成され、前記方法は前記サーバシステムにおいて、
前記1つ以上のCPUが、ゲームタイトルに対応する実行可能なゲームプログラムを前記メインダイナミックメモリにロードすることを含み、前記1つ以上のCPUは複数のオンラインゲームセッションを並行して実行するように構成され、前記複数のオンラインゲームセッションの各々は、前記実行可能なゲームプログラムに対応し、前記複数のオンラインゲームセッションの各々は、前記それぞれのオンラインゲームセッションをレンダリングするように割当てられたそれぞれのGPUによって実行可能なグラフィックス処理を必要とし、前記方法はさらに、
前記1つ以上のCPUが、前記複数のゲームセッションの前記グラフィックス処理で使用されるスタティックデータ項目を識別することと、
前記メモリコントローラが、前記スタティックデータ項目を前記スタティックメモリプールに格納することと、
前記メモリコントローラが、前記複数のオンラインゲームセッションを実行している前記複数のGPUが前記グラフィックス処理を実行しつつ前記スタティックデータ項目にアクセスすることを可能にする、方法。 - 前記スタティックデータ項目は第1のスタティックデータ項目を含み、前記第1のスタティックデータ項目は、所定のスタティックデータ項目のリスト内の前記1つ以上のCPUによって識別され、前記所定のスタティックデータ項目のリストは、スタティックデータ項目の第1のサブセットとスタティックデータ項目の第2のサブセットとを含み、前記方法はさらに、
前記メモリコントローラが、前記第1のスタティックデータ項目を含む前記スタティックデータ項目の前記第1のサブセットを前記スタティックメモリプールに格納することと、
前記メモリコントローラが、前記スタティックデータ項目の前記第2のサブセットを前記メインダイナミックメモリに格納することとを含む、請求項31に記載の方法。 - 前記スタティックデータ項目は、前記ゲームタイトルのレンダリングにおいて使用される標準スタティックデータ項目であり、前記方法はさらに、
前記スタティックデータ項目の前記スタティックメモリプールへの格納の前に、前記スタティックデータ項目を前記サーバシステムのハードドライブまたはリモートライブラリサーバから取出すことを含む、請求項31または32に記載の方法。 - 前記スタティックデータ項目は、特に前記ゲームタイトルの開発者によって事前に定義され、前記サーバシステムのハードドライブに格納されたカスタムスタティックデータ項目であり、前記方法はさらに、
前記スタティックデータ項目の前記スタティックメモリプールへの格納の前に、前記スタティックデータ項目を前記サーバシステムの前記ハードドライブから取出すことをさらに含む、請求項31または32に記載の方法。 - 前記実行可能なゲームプログラムに従って、前記1つ以上のCPUが、前記複数のGPUの各々を、その上で実行されるべき前記複数のオンラインゲームセッションのサブセットに割当てることと、
前記複数のゲームセッションの各々について、それぞれのGPUによる前記グラフィックス処理の実行中に、前記それぞれのGPUが、前記メモリコントローラを介して前記スタティックメモリプールから前記スタティックデータ項目のコピーを取得することと、前記スタティックデータ項目の前記コピーを用いて前記グラフィックス処理を実行することとをさらに含む、請求項31〜34のいずれか1項に記載の方法。 - 前記複数のゲームセッションの各々について、前記それぞれのGPUによる前記グラフィックス処理の実行中に、前記それぞれのオンラインゲームセッションと関連して、ダイナミックデータ項目およびユーザ情報を前記メインダイナミックメモリに格納することをさらに含む、請求項35に記載の方法。
- 前記複数のゲームセッションの各々について、前記それぞれのGPUによる前記グラフィックス処理の実行中に、前記スタティックデータ項目の前記コピーを前記それぞれのGPUのそれぞれのローカルキャッシュにロードすることをさらに含む、請求項35に記載の方法。
- 前記それぞれのGPUが前記スタティックデータ項目のコピーを前記スタティックメモリプールから取得することはさらに、前記複数のゲームセッションのサブセットについて、前記スタティックデータ項目の前記コピーを前記複数のGPUのローカルキャッシュに一度ロードすることと、前記複数のゲームセッションの前記サブセットに対応する前記複数のGPUのサブセットが、前記スタティックデータ項目の前記コピーを共有することとを含む、請求項35に記載の方法。
- 1つ以上のCPUと、
複数のGPUと、
前記1つ以上のCPUおよび/または前記複数のGPUによって実行されるための1つ以上のプログラムを格納するメモリとを備え、前記メモリは少なくとも、メモリコントローラによって管理されるスタティックメモリプールとメインダイナミックメモリとを含み、前記1つ以上のプログラムは、請求項31〜38のいずれか1項に記載の方法を実現するための命令を含む、サーバシステム。 - サーバシステムの1つ以上のプロセッサによる実行のために構成された1つ以上のプログラムを格納する非一時的コンピュータ可読記憶媒体であって、前記サーバシステムは、1つ以上のCPUと複数のGPUとを含み、前記非一時的コンピュータ可読記憶媒体は少なくとも、メモリコントローラによって管理されるスタティックメモリプールとメインダイナミックメモリとを含み、前記1つ以上のプログラムは、請求項31〜38のいずれか1項に記載の方法を実現するための命令を含む、非一時的コンピュータ可読記憶媒体。
- オンラインゲームセッションのために画像フレームをレンダリングする方法であって、
サーバシステムは、1つ以上のCPUと、1つ以上のGPUと、プログラムの実行中に前記1つ以上のCPUおよび/または前記1つ以上のGPUによる使用のためのプログラムおよびデータを格納するメインダイナミックメモリと、シェーダキャッシュとを含み、前記方法は前記サーバシステムにおいて、
前記1つ以上のCPU上で、ゲームタイトルについて複数のオンラインゲームセッションを並行して実行することと、
前記1つ以上のGPUが、コンパイルされたシェーダの第1のシーケンスを用いて、前記複数のオンラインゲームセッションの各々について複数の画像フレームをレンダリングすることとを含み、前記方法はさらに、
前記複数のオンラインゲームセッションを実行しつつ、
前記ゲームタイトルと関連付けられた前記複数のオンラインゲームセッションについて性能基準を識別することと、
前記複数のオンラインゲームセッションの各々の実行を特徴付ける使用統計を収集することと、
前記コンパイルされたシェーダの第1のシーケンスの性能を前記性能基準に関して改良するために前記コンパイルされたシェーダの第1のシーケンス内の第1のシェーダを修正して、コンパイルされたシェーダの修正された第1のシーケンスを生成することとを含む、方法。 - 前記シェーダキャッシュ内の前記コンパイルされたシェーダの第1のシーケンスを前記コンパイルされたシェーダの修正された第1のシーケンスと置換えることをさらに含む、請求項41に記載の方法。
- 前記コンパイルされたシェーダの第1のシーケンスの第1のバージョンとして、前記コンパイルされたシェーダの第1のシーケンスを前記シェーダキャッシュに格納することと、
前記コンパイルされたシェーダの第1のシーケンスの第2のバージョンとして、前記コンパイルされたシェーダの修正された第1のシーケンスを前記シェーダキャッシュに格納することと、
前記複数のオンラインゲームセッションの各々の実行を特徴付ける次の使用統計を収集することと、
前記次の使用統計に従って、前記コンパイルされたシェーダの第1のシーケンスの前記第1および第2のバージョンのうち1つを選択して、前記複数のオンラインゲームセッションの各々について前記複数の画像フレームをレンダリングすることとを含む、請求項41または42に記載の方法。 - 前記コンパイルされたシェーダの第1のシーケンス内の前記第1のシェーダを修正することはさらに、前記複数のオンラインゲームセッションの性能が前記性能基準を満たすように、代替的なシェーダオプションのグループから代替的なシェーダを選択して、前記コンパイルされたシェーダの第1のシーケンス内の前記第1のシェーダを置換えることを含み、前記コンパイルされたシェーダの修正された第1のシーケンスは、前記代替的なシェーダを含む、請求項41〜43のいずれか1項に記載の方法。
- 前記コンパイルされたシェーダの第1のシーケンス内の前記第1のシェーダを修正するユーザ命令を受信することをさらに含み、前記第1のシェーダは、前記ユーザ命令に応答して、前記にコンパイルされたシェーダの第1のシーケンスで修正される、請求項41〜44のいずれか1項に記載の方法。
- 前記コンパイルされたシェーダの第1のシーケンスの性能を前記性能基準に関して改良するために前記コンパイルされたシェーダの第1のシーケンス内の前記第1のシェーダは自動的にユーザの介入なしで修正される、請求項41〜45のいずれか1項に記載の方法。
- 前記コンパイルされたシェーダの修正された第1のシーケンスを生成することはさらに、前記コンパイルされたシェーダの第1のシーケンスの性能を前記性能基準に関して改良するために前記コンパイルされたシェーダの第1のシーケンス内の第2のシェーダを修正することを含む、請求項41〜46のいずれか1項に記載の方法。
- 前記複数のゲームセッションは前記性能基準に従ってレンダリングされる必要があると判断することと、
前記複数のオンラインゲームセッションの各々について、前記複数の画像フレームをレンダリングするために前記コンパイルされたシェーダの第1のシーケンスを識別することとをさらに含む、請求項41〜47のいずれか1項に記載の方法。 - 前記性能基準は第1の性能基準を含み、前記複数のオンラインゲームセッションは、前記第1の性能基準とは異なる第2の性能基準に従ってレンダリングおよび実行され、前記方法はさらに、
前記第1の性能基準を、前記コンパイルされたシェーダの修正された第1のシーケンスと関連付けることと、
前記第2の性能基準を、前記コンパイルされたシェーダの第1のシーケンスと関連付けることとを含む、請求項41〜48のいずれか1項に記載の方法。 - 前記性能基準は第1の性能基準を含み、前記方法はさらに、
前記コンパイルされたシェーダの修正された第1のシーケンスを前記第1の性能基準と関連して前記シェーダキャッシュに格納することを含む、請求項41〜49のいずれか1項に記載の方法。 - 前記複数のオンラインゲームセッションを実行しつつ、
前記ゲームタイトルと関連付けられた前記複数のオンラインゲームセッションについて第2の性能基準を識別することと、
前記コンパイルされたシェーダの第1のシーケンスの性能を前記第2の性能基準に関して改良するためにコンパイルされたシェーダの第2のシーケンスを判断することと、
前記第2の性能基準と関連して、前記コンパイルされたシェーダの第2のシーケンスを前記シェーダキャッシュに格納することとをさらに含む、請求項50に記載の方法。 - 前記使用統計は前記複数のオンラインゲームセッションの全消費電力を含み、前記第1の性能基準および前記第2の性能基準はそれぞれ、前記複数のオンラインゲームセッションの応答時間および電力使用量を最適化し、前記方法はさらに、
前記複数のオンラインゲームセッションの前記全消費電力が事前に定義された電力閾値を超えているという判断に従って、前記コンパイルされたシェーダの第2のシーケンスを選択し、前記コンパイルされたシェーダの第2のシーケンスを用いて、前記複数のオンラインゲームセッションの各々について前記複数の画像フレームをレンダリングすることを含む、請求項51に記載の方法。 - 複数の性能基準の各々をコンパイルされたシェーダのそれぞれのシーケンスと関連付けるシェーダハッシュテーブルを確立することをさらに含み、前記確立することは、前記シェーダハッシュテーブルにおいて前記性能基準と前記コンパイルされたシェーダの第1のシーケンスとを関連付けることを含み、前記方法はさらに、
前記シェーダハッシュテーブルを前記シェーダキャッシュに格納することを含む、請求項41〜52のいずれか1項に記載の方法。 - 前記使用統計はユーザ入力情報を含み、前記方法はさらに、
前記シェーダハッシュテーブルにおいて、前記コンパイルされたシェーダの第1のシーケンスの複数のバージョンを前記ユーザ入力情報と関連付けることを含む、請求項53に記載の方法。 - 前記使用統計に従って前記シェーダハッシュテーブルをダイナミックにアップデートすることをさらに含み、前記アップデートすることは、前記シェーダキャッシュ内の前記コンパイルされたシェーダの第1のシーケンスを、前記コンパイルされたシェーダの修正された第1のシーケンスと置換えることを含む、請求項53に記載の方法。
- 前記使用統計は、前記複数のオンラインゲームセッションの各々に対応する前記コンパイルされたシェーダの第1のシーケンスのユーザ入力、消費電力、1つ以上のゲームレイテンシ、コードサイズ、メモリ使用量およびキャッシュ使用量のうち少なくとも1つまたは全てを含む、請求項41〜55のいずれか1項に記載の方法。
- 前記性能基準は、前記複数のオンラインゲームセッションを実行する過程における前記コンパイルされたシェーダの第1のシーケンスの全消費電力、コードサイズ、平均レイテンシ、全キャシュ使用量、および全メモリ使用量のうち1つ以上に対応する、請求項41〜56のいずれか1項に記載の方法。
- 前記複数のオンラインゲームセッションは、前記ゲームタイトルについて、前記1つ以上のCPUおよび前記1つ以上のGPUによって処理されるオンラインゲームセッションの全てからサンプリングされる、請求項41〜57のいずれか1項に記載の方法。
- 1つ以上のCPUと、
複数のGPUと、
前記1つ以上のCPUおよび/または前記複数のGPUによる実行のための1つ以上のプログラムを格納するメモリとを備え、前記メモリは少なくとも、メインダイナミックメモリおよびシェーダキャッシュを含み、前記1つ以上のプログラムは、請求項41〜58のいずれか1項に記載の方法を実現するための命令を含む、サーバシステム。 - サーバシステムの1つ以上のプロセッサによる実行のために構成された1つ以上のプログラムを格納する非一時的なコンピュータ可読記憶媒体であって、前記1つ以上のプログラムは、請求項41〜58のいずれか1項に記載の方法を実現するための命令を含む、非一時的なコンピュータ可読記憶媒体。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2022078311A JP2022122875A (ja) | 2018-04-10 | 2022-05-11 | ゲームレンダリングにおけるメモリ管理 |
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201862655688P | 2018-04-10 | 2018-04-10 | |
US62/655,688 | 2018-04-10 | ||
PCT/US2019/026611 WO2019199848A1 (en) | 2018-04-10 | 2019-04-09 | Memory management in gaming rendering |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2022078311A Division JP2022122875A (ja) | 2018-04-10 | 2022-05-11 | ゲームレンダリングにおけるメモリ管理 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2021517997A true JP2021517997A (ja) | 2021-07-29 |
JP7073494B2 JP7073494B2 (ja) | 2022-05-23 |
Family
ID=66397450
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2020529148A Active JP7073494B2 (ja) | 2018-04-10 | 2019-04-09 | ゲームレンダリングにおけるメモリ管理 |
JP2022078311A Pending JP2022122875A (ja) | 2018-04-10 | 2022-05-11 | ゲームレンダリングにおけるメモリ管理 |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2022078311A Pending JP2022122875A (ja) | 2018-04-10 | 2022-05-11 | ゲームレンダリングにおけるメモリ管理 |
Country Status (6)
Country | Link |
---|---|
US (3) | US11110348B2 (ja) |
EP (3) | EP4345731A1 (ja) |
JP (2) | JP7073494B2 (ja) |
KR (3) | KR102614649B1 (ja) |
CN (1) | CN111417978A (ja) |
WO (1) | WO2019199848A1 (ja) |
Families Citing this family (36)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10616086B2 (en) * | 2012-12-27 | 2020-04-07 | Navidia Corporation | Network adaptive latency reduction through frame rate control |
US10238965B2 (en) * | 2016-04-28 | 2019-03-26 | Sony Interactive Entertainment America Llc | Cloud gaming device handover |
US10456672B2 (en) | 2016-05-19 | 2019-10-29 | Google Llc | Methods and systems for facilitating participation in a game session |
EP3600581B1 (en) | 2017-10-10 | 2024-02-21 | Google LLC | Distributed sample-based game profiling with game metadata and metrics and gaming api platform supporting third-party content |
US11140207B2 (en) | 2017-12-21 | 2021-10-05 | Google Llc | Network impairment simulation framework for verification of real time interactive media streaming systems |
KR102360052B1 (ko) | 2018-03-22 | 2022-02-08 | 구글 엘엘씨 | 온라인 인터랙티브 게임 세션들에 대한 콘텐츠를 렌더링 및 인코딩하기 위한 방법들 및 시스템들 |
KR102694451B1 (ko) | 2018-04-02 | 2024-08-13 | 구글 엘엘씨 | 대화형 클라우드 게임용 방법, 디바이스 및 시스템 |
US11077364B2 (en) | 2018-04-02 | 2021-08-03 | Google Llc | Resolution-based scaling of real-time interactive graphics |
US11872476B2 (en) | 2018-04-02 | 2024-01-16 | Google Llc | Input device for an electronic system |
US10887574B2 (en) | 2018-07-31 | 2021-01-05 | Intel Corporation | Selective packing of patches for immersive video |
DE102019127349A1 (de) | 2018-10-10 | 2020-04-16 | Intel Corporation | Punktwolkencodierungsstandard-konformitätsdefintion in computerumgebungen |
WO2020102493A1 (en) | 2018-11-16 | 2020-05-22 | Google Llc | Shadow tracking of real-time interactive simulations for complex system analysis |
CN112348732B (zh) * | 2019-08-08 | 2023-11-17 | 华为技术有限公司 | 基于图形渲染管线的模型推理方法、装置及存储介质 |
WO2021033617A1 (ja) * | 2019-08-20 | 2021-02-25 | 株式会社ソニー・インタラクティブエンタテインメント | 情報提供サーバ、情報処理装置および情報提供方法 |
US11321900B2 (en) * | 2019-11-22 | 2022-05-03 | Sony Interactive Entertainment Inc. | Systems and methods for adjusting one or more parameters of a GPU |
WO2021120141A1 (en) * | 2019-12-20 | 2021-06-24 | Intel Corporation | Asset caching in cloud rendering computing architectures |
US20210245047A1 (en) * | 2020-02-10 | 2021-08-12 | Intel Corporation | Continuum architecture for cloud gaming |
CN113939830A (zh) * | 2020-03-09 | 2022-01-14 | 谷歌有限责任公司 | 神经网络模型的高效处理 |
CN111736850B (zh) * | 2020-07-21 | 2020-12-22 | 腾讯科技(深圳)有限公司 | 图像处理方法、装置、服务器及介质 |
US20220129295A1 (en) * | 2020-10-25 | 2022-04-28 | Meta Platforms, Inc. | Server-side hosted environment for a cloud gaming system |
US11722393B2 (en) * | 2020-12-15 | 2023-08-08 | Caterpillar Inc. | Systems and methods for managing on-site communications for latency-dependent applications |
CN112416605B (zh) * | 2020-12-16 | 2021-11-05 | 北京蔚领时代科技有限公司 | 一种基于互联网的分布式显卡调用方法及装置 |
US11726755B2 (en) * | 2021-04-09 | 2023-08-15 | Nvidia Corporation | Caching of compiled shader programs in a cloud computing environment |
CN113082705B (zh) * | 2021-05-08 | 2023-09-15 | 腾讯科技(上海)有限公司 | 游戏场景切换方法、装置、计算机设备及存储介质 |
CN113332706B (zh) * | 2021-06-18 | 2024-02-20 | 深圳市景创科技电子股份有限公司 | 一种在WiFi网络下处理游戏手柄指令的方法和装置 |
US11900136B2 (en) * | 2021-07-28 | 2024-02-13 | Sony Interactive Entertainment LLC | AoT compiler for a legacy game |
CN115937380A (zh) * | 2021-08-24 | 2023-04-07 | 荣耀终端有限公司 | 图形渲染方法、装置及存储介质 |
EP4174134B1 (en) | 2021-09-02 | 2024-10-02 | Lg Chem, Ltd. | Thermoplastic resin composition, method for preparing same, and molded article comprising same |
US11727531B2 (en) | 2021-09-23 | 2023-08-15 | Google Llc | Creating secure pipeline cache objects using differential privacy techniques |
US20230127685A1 (en) * | 2021-10-26 | 2023-04-27 | Sony Interactive Entertainment LLC | Gameplay roulette |
CN114115873B (zh) * | 2021-11-18 | 2024-08-27 | 网易(杭州)网络有限公司 | 着色器数据处理方法、装置、设备及存储介质 |
JP7454003B2 (ja) * | 2022-02-16 | 2024-03-21 | 任天堂株式会社 | 情報処理プログラム、情報処理システム、情報処理装置、および情報処理方法 |
CN114225385B (zh) * | 2022-02-25 | 2022-07-08 | 腾讯科技(深圳)有限公司 | 云游戏数据处理方法、装置、设备及存储介质 |
US12048876B2 (en) * | 2022-03-17 | 2024-07-30 | Bidstack Group PLC | Server-side gaming method and system for the delivery of remotely-rendered content comprising impression content |
CN117130662A (zh) * | 2023-09-19 | 2023-11-28 | 摩尔线程智能科技(北京)有限责任公司 | 一种指令读取方法及l2指令缓存、电子设备和存储介质 |
CN117883789B (zh) * | 2024-03-15 | 2024-05-28 | 腾讯科技(深圳)有限公司 | 数据获取方法、装置、设备、可读存储介质及程序产品 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2015524092A (ja) * | 2012-04-04 | 2015-08-20 | クゥアルコム・インコーポレイテッドQualcomm Incorporated | グラフィックス処理におけるパッチされたシェーディング |
US20160171757A1 (en) * | 2014-12-16 | 2016-06-16 | Selvakumar Panneer | Dynamic kernel modification for graphics processing units |
JP2017510862A (ja) * | 2013-12-26 | 2017-04-13 | 株式会社スクウェア・エニックス・ホールディングス | 描画システム、制御方法、及び記憶媒体 |
JP2017516207A (ja) * | 2014-04-21 | 2017-06-15 | クアルコム,インコーポレイテッド | グラフィックス処理におけるレンダーターゲットに基づいたフレックスレンダリング |
JP2017215997A (ja) * | 2014-05-14 | 2017-12-07 | インテル・コーポレーション | 装置、方法およびシステム |
Family Cites Families (149)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5892897A (en) | 1997-02-05 | 1999-04-06 | Motorola, Inc. | Method and apparatus for microprocessor debugging |
US7548238B2 (en) * | 1997-07-02 | 2009-06-16 | Nvidia Corporation | Computer graphics shader systems and methods |
US6948092B2 (en) | 1998-12-10 | 2005-09-20 | Hewlett-Packard Development Company, L.P. | System recovery from errors for processor and associated components |
US6393582B1 (en) | 1998-12-10 | 2002-05-21 | Compaq Computer Corporation | Error self-checking and recovery using lock-step processor pair architecture |
US20060287098A1 (en) | 2001-09-28 | 2006-12-21 | Morrow James W | System and method for gaming-content configuration and management system |
JP2003236251A (ja) | 2002-02-15 | 2003-08-26 | Aruze Corp | キャラクタ管理システム |
US7015909B1 (en) * | 2002-03-19 | 2006-03-21 | Aechelon Technology, Inc. | Efficient use of user-defined shaders to implement graphics operations |
US7711847B2 (en) | 2002-04-26 | 2010-05-04 | Sony Computer Entertainment America Inc. | Managing users in a multi-user network game environment |
US7803052B2 (en) | 2002-06-28 | 2010-09-28 | Microsoft Corporation | Discovery and distribution of game session information |
AU2002345205A1 (en) | 2002-07-05 | 2004-01-23 | Dominic Clancy | System and method for playing an interactive game using a mobile device |
JP3495032B1 (ja) | 2002-07-24 | 2004-02-09 | コナミ株式会社 | ゲーム進行管理装置、ゲーム用サーバ装置、端末装置、ゲーム進行管理方法及びゲーム進行管理プログラム |
US20040198403A1 (en) | 2002-07-25 | 2004-10-07 | Pedersen Claus Aagaard | Gaming concept for wireless terminals |
US8366552B2 (en) * | 2002-12-10 | 2013-02-05 | Ol2, Inc. | System and method for multi-stream video compression |
US9138644B2 (en) | 2002-12-10 | 2015-09-22 | Sony Computer Entertainment America Llc | System and method for accelerated machine switching |
US20060154710A1 (en) | 2002-12-10 | 2006-07-13 | Nokia Corporation | Method and device for continuing an electronic multi-player game, in case of an absence of a player of said game |
US8549574B2 (en) | 2002-12-10 | 2013-10-01 | Ol2, Inc. | Method of combining linear content and interactive content compressed together as streaming interactive video |
US8661496B2 (en) | 2002-12-10 | 2014-02-25 | Ol2, Inc. | System for combining a plurality of views of real-time streaming interactive video |
US10664138B2 (en) | 2003-03-14 | 2020-05-26 | Comcast Cable Communications, Llc | Providing supplemental content for a second screen experience |
WO2005010680A2 (en) | 2003-07-15 | 2005-02-03 | Wildtangent, Inc. | Multi-session user launching and invitation system and method |
US7966642B2 (en) | 2003-09-15 | 2011-06-21 | Nair Ajith N | Resource-adaptive management of video storage |
US7401150B2 (en) | 2003-09-19 | 2008-07-15 | Wildtangent, Inc. | Joint consumption of content invitation methods and apparatus |
US7261798B2 (en) | 2004-01-28 | 2007-08-28 | Hamilton Sundstrand Corporation | Assembly for maintaining compression for electrical contact of the active area of an electrochemical cell |
US8241129B2 (en) | 2005-06-20 | 2012-08-14 | Microsoft Corporation | Setting up on-line game sessions out of a game context |
JP2009511200A (ja) | 2005-10-11 | 2009-03-19 | ティーエイチキュー・ワイヤレス・インコーポレーテッド | プレーヤのための望ましいマルチプレーヤ・ゲームを見つけるための方法及び装置 |
KR20070082395A (ko) | 2006-02-16 | 2007-08-21 | 엔에이치엔(주) | 유알엘을 이용한 플래시 게임 초대 시스템 및 방법 |
US7675412B2 (en) | 2006-02-27 | 2010-03-09 | Adra Hosni I | System and method for dynamically tracking and state forecasting tagged entities |
US20070293319A1 (en) | 2006-06-20 | 2007-12-20 | Microsoft Corporation | Transfer of Features Between Gaming Devices |
US7925485B2 (en) | 2006-10-25 | 2011-04-12 | International Business Machines Corporation | System and apparatus for managing latency-sensitive interaction in virtual environments |
CN101068258B (zh) | 2006-12-14 | 2011-09-21 | 腾讯科技(深圳)有限公司 | 一种电子游戏的控制方法及控制系统 |
US20080220878A1 (en) | 2007-02-23 | 2008-09-11 | Oliver Michaelis | Method and Apparatus to Create or Join Gaming Sessions Based on Proximity |
WO2008104221A1 (en) | 2007-02-27 | 2008-09-04 | Telefonaktiebolaget Lm Ericsson (Publ) | Method and apparatus for use in multiplayer server-based gaming |
JP5003252B2 (ja) * | 2007-04-04 | 2012-08-15 | 凸版印刷株式会社 | 画像表示装置及び画像表示方法 |
KR101422005B1 (ko) | 2007-07-04 | 2014-07-23 | 엘지전자 주식회사 | 디스펜서 및 이를 구비하는 냉장고 |
JP5468193B2 (ja) | 2007-08-06 | 2014-04-09 | 任天堂株式会社 | コントローラカバー |
US8235817B2 (en) | 2009-02-12 | 2012-08-07 | Sony Computer Entertainment America Llc | Object based observation |
US8979647B2 (en) | 2007-10-26 | 2015-03-17 | Microsoft Technology Licensing, Llc | Method of providing player status and ability to join games |
US8613673B2 (en) | 2008-12-15 | 2013-12-24 | Sony Computer Entertainment America Llc | Intelligent game loading |
US9498714B2 (en) | 2007-12-15 | 2016-11-22 | Sony Interactive Entertainment America Llc | Program mode switching |
US20100016081A1 (en) | 2008-03-20 | 2010-01-21 | Gdi Game Domain International Plc | Game server |
JP5075727B2 (ja) | 2008-04-25 | 2012-11-21 | 株式会社日立製作所 | ストリーム配信システム及び障害検知方法 |
US8200795B2 (en) | 2008-06-05 | 2012-06-12 | Sony Computer Entertainment Inc. | Mobile phone game interface |
US20100073712A1 (en) | 2008-09-19 | 2010-03-25 | Konica Minolta Systems Laboratory, Inc. | Print job assignment method allowing user-prioritization |
US9498711B2 (en) | 2008-11-04 | 2016-11-22 | Quado Media Inc. | Multi-player, multi-screens, electronic gaming platform and system |
WO2010093831A1 (en) | 2009-02-11 | 2010-08-19 | Social Gaming Network | Apparatuses, methods and systems for an interactive proximity display tether with remote co-play |
CN101887485A (zh) | 2009-05-14 | 2010-11-17 | 灰熊(北京)科技有限公司 | 一种在棋牌游戏中实现稳妥的掉线重连的方法 |
US9723319B1 (en) | 2009-06-01 | 2017-08-01 | Sony Interactive Entertainment America Llc | Differentiation for achieving buffered decoding and bufferless decoding |
US8621585B2 (en) | 2009-06-16 | 2013-12-31 | Z2Live, Inc. | Invitation service for multi-device application sessions |
US9155963B2 (en) * | 2009-11-25 | 2015-10-13 | Disney Enterprises, Inc. | Collaborative online ranking |
US8352798B2 (en) | 2009-12-10 | 2013-01-08 | International Business Machines Corporation | Failure detection and fencing in a computing system |
CN102195935B (zh) | 2010-03-03 | 2015-07-29 | 深圳市腾讯计算机系统有限公司 | 游戏托管系统及方法 |
JP5730914B2 (ja) | 2010-03-05 | 2015-06-10 | ブラス・モンキー・インコーポレイテッドBrass Monkey,Inc. | Webブラウザにおける双方向通信および内容制御のシステムおよび方法 |
US8591334B2 (en) | 2010-06-03 | 2013-11-26 | Ol2, Inc. | Graphical user interface, system and method for implementing a game controller on a touch-screen device |
EP2621594B1 (en) | 2010-09-13 | 2016-08-10 | Sony Computer Entertainment America LLC | Dual mode program execution and loading |
US8788243B2 (en) | 2011-02-14 | 2014-07-22 | Disney Enterprises, Inc. | Performance metrics gathering from multiple video game platforms |
US8814697B2 (en) | 2011-04-19 | 2014-08-26 | Sony Computer Entertainment America Llc | Method and apparatus for use in preserving a game state |
JP5076132B1 (ja) * | 2011-05-25 | 2012-11-21 | 株式会社スクウェア・エニックス・ホールディングス | 描画制御装置、その制御方法、プログラム、記録媒体、描画サーバ、及び描画システム |
US9412193B2 (en) * | 2011-06-01 | 2016-08-09 | Apple Inc. | Run-time optimized shader program |
US20130017884A1 (en) | 2011-07-13 | 2013-01-17 | Igt | Methods and apparatus for providing secure logon to a gaming machine using a mobile device |
US8814956B2 (en) | 2011-07-14 | 2014-08-26 | Semiconductor Energy Laboratory Co., Ltd. | Power storage device, electrode, and manufacturing method thereof |
US9167260B2 (en) | 2011-08-02 | 2015-10-20 | Advanced Micro Devices, Inc. | Apparatus and method for video processing |
KR101817652B1 (ko) | 2011-09-01 | 2018-02-22 | 삼성전자주식회사 | 게임 스트리밍 데이터 수신 방법 및 그를 위한 장치, 및 게임 스트리밍 데이터 제공 방법 및 그를 위한 서버 |
WO2013069655A1 (en) * | 2011-11-07 | 2013-05-16 | Square Enix Holdings Co., Ltd. | Information processing system, control method, program, and recording medium |
US9773344B2 (en) * | 2012-01-11 | 2017-09-26 | Nvidia Corporation | Graphics processor clock scaling based on idle time |
US9889376B2 (en) | 2012-01-24 | 2018-02-13 | Sony Interactive Entertainment Inc. | Information processing apparatus and information processing system |
US20130221923A1 (en) | 2012-02-23 | 2013-08-29 | Whalen Furniture Manufacturing Inc. | Universal charging system and battery pack for video game controllers |
US9868062B2 (en) | 2012-03-13 | 2018-01-16 | Sony Interactive Entertainment America Llc | System, method, and graphical user interface for controlling an application on a tablet |
US20130274000A1 (en) | 2012-04-11 | 2013-10-17 | Meteor Entertainment, Inc. | Modifying use of resources within a cloud-based gaming platform |
US9208642B2 (en) | 2012-04-23 | 2015-12-08 | Touchspin Gaming Ag | Multiplayer slot machine gaming |
US20140006517A1 (en) | 2012-07-02 | 2014-01-02 | WUPIMA, Inc. | System and method for social invitations to facilitate playing and sharing of mobile application or mobile game on mobile device |
KR101923113B1 (ko) | 2012-07-12 | 2018-11-28 | 캠프모바일 주식회사 | 이동통신 단말기의 메시징 서비스를 이용한 초대정보 처리방법, 이를 수행하는 서비스 서버, 이동통신 단말기 및 컴퓨터로 판독 가능한 기록매체 |
WO2014022311A2 (en) | 2012-07-30 | 2014-02-06 | Google Inc. | Access control in communication environments |
JP5563633B2 (ja) | 2012-08-31 | 2014-07-30 | 株式会社スクウェア・エニックス | ビデオゲーム処理装置、およびビデオゲーム処理プログラム |
US8663004B1 (en) | 2012-09-05 | 2014-03-04 | Kabam, Inc. | System and method for determining and acting on a user's value across different platforms |
DE112013005689T5 (de) | 2012-11-28 | 2015-09-10 | Nvidia Corporation | Tragbare Spielekonsole |
US8870661B2 (en) | 2012-12-21 | 2014-10-28 | Sony Computer Entertainment America Llc | Cloud-based game slice generation and frictionless social sharing with instant play |
EP2750032B1 (en) | 2012-12-27 | 2020-04-29 | Sony Computer Entertainment America LLC | Methods and systems for generation and execution of miniapp of computer application served by cloud computing system |
CN104885467B (zh) | 2013-01-30 | 2018-08-17 | 英特尔公司 | 用于下一代视频编码的内容自适应参数变换 |
US9433862B2 (en) * | 2013-02-12 | 2016-09-06 | Microsoft Technology Licensing, Llc | Dynamic allocation of computing resources in remote gaming environment |
MX361278B (es) | 2013-03-14 | 2018-12-03 | Univ Georgia State Res Found | Inhibición o reducción del crecimiento de hongos. |
US11185783B2 (en) | 2013-03-14 | 2021-11-30 | Sony Interactive Entertainment Inc. | Controller emulation for cloud gaming |
US20140274384A1 (en) | 2013-03-15 | 2014-09-18 | Electronic Arts Inc. | Delivering and consuming interactive video gaming content |
US9628332B2 (en) | 2013-05-20 | 2017-04-18 | Microsoft Technology Licensing, Llc | Resource allocation to game titles in a remote gaming environment |
US9295915B2 (en) | 2013-05-20 | 2016-03-29 | Microsoft Technology Licensing, Llc | Game availability in a remote gaming environment |
US9339733B2 (en) | 2013-05-22 | 2016-05-17 | Wesley John Boudville | Barcode-based methods to enhance mobile multiplayer games |
WO2014186858A1 (en) | 2013-05-23 | 2014-11-27 | KABUSHIKI KAISHA SQUARE ENlX HOLDINGS (ALSO TRADING AS SQUARE ENIX HOLDINGS CO., LTD.) | Dynamic allocation of rendering resources in a cloud gaming system |
US10587663B2 (en) | 2013-05-31 | 2020-03-10 | Verily Life Sciences Llc | Video stream preview |
US9675874B1 (en) | 2013-07-18 | 2017-06-13 | nWay, Inc. | Multi-player gaming system |
US9723051B2 (en) | 2013-08-13 | 2017-08-01 | Criteo Sa | Setting first-party cookies by redirection |
US20150087414A1 (en) | 2013-09-26 | 2015-03-26 | Cellco Partnership D/B/A Verizon Wireless | Cloud gaming implemented using a mobile device and a display device |
JP6292707B2 (ja) | 2013-10-22 | 2018-03-14 | 任天堂株式会社 | 情報処理システム、情報処理装置、情報処理プログラム、および情報処理方法 |
US9592446B2 (en) | 2013-12-13 | 2017-03-14 | DeNA Co., Ltd. | Electronic game providing device and non-transitory computer-readable storage medium storing electronic game program |
JP6376638B2 (ja) | 2014-01-29 | 2018-08-22 | 株式会社コロプラ | ゲームに関わるサーバコンピュータ及びゲームプログラム |
WO2015115512A1 (ja) | 2014-01-29 | 2015-08-06 | 独立行政法人産業技術総合研究所 | シクロデキストリンの利用による抗がん活性が増強されたアシュワガンダ葉の水抽出物の調製方法、及びアシュワガンダ葉を含む医薬組成物 |
KR102100161B1 (ko) * | 2014-02-04 | 2020-04-14 | 삼성전자주식회사 | Gpu 데이터 캐싱 방법 및 그에 따른 데이터 프로세싱 시스템 |
CN104866699B (zh) | 2014-02-25 | 2017-07-14 | 上海征途信息技术有限公司 | 一种网络游戏智能化数据分析方法 |
US9912562B2 (en) | 2014-03-31 | 2018-03-06 | Microsoft Technology Licensing, Llc | Measuring latency in an interactive application |
US20150297998A1 (en) | 2014-04-16 | 2015-10-22 | Microsoft Corporation | Hyperlink initiation of game sessions |
GB2525437B (en) | 2014-04-25 | 2016-05-25 | Cheng Uei Prec Ind Co Ltd | Push-button structure |
US10374910B2 (en) | 2014-06-13 | 2019-08-06 | Convida Wireless, Llc | Automated service profiling and orchestration |
US9393486B2 (en) | 2014-06-27 | 2016-07-19 | Amazon Technologies, Inc. | Character simulation and playback notification in game session replay |
US20160005257A1 (en) | 2014-07-04 | 2016-01-07 | Trendy Entertainment | Influence system and methods |
WO2016014603A1 (en) | 2014-07-22 | 2016-01-28 | Sony Computer Entertainment America Llc | Save game load time reduction for cloud gaming |
US10021214B2 (en) | 2014-07-22 | 2018-07-10 | Microsoft Technology Licensing, Llc | Synthetic transactions between communication endpoints |
US9975044B2 (en) | 2014-07-22 | 2018-05-22 | Ngage SporTek Ltd. | System and method for social gaming |
US10909809B2 (en) | 2014-12-12 | 2021-02-02 | Synergy Blue Llc | Graphical user interface and computer processing techniques for facilitating user interaction with electronic gaming devices |
US20170124812A1 (en) | 2014-12-12 | 2017-05-04 | Synergy Blue, Llc | Gaming and wagering techniques relating to skill-based gaming |
US10255765B2 (en) | 2015-08-20 | 2019-04-09 | Synergy Blue, Llc | Gaming aspects relating to multiplayer/tournament hybrid arcade/wager-based games |
CN104598292B (zh) | 2014-12-15 | 2017-10-03 | 中山大学 | 一种应用于云游戏系统的自适应流适配和资源优化方法 |
US9396702B2 (en) | 2014-12-23 | 2016-07-19 | Sony Interactive Entertainment America Llc | Latency tester |
US20160279523A1 (en) | 2015-03-25 | 2016-09-29 | GAMEin30 Ltd. | System and method for interactive gaming |
US10130874B2 (en) | 2015-05-01 | 2018-11-20 | Microsoft Technology Licensing, Llc | Removable controller accessory for a game controller |
WO2016183253A1 (en) | 2015-05-12 | 2016-11-17 | Equinix, Inc. | Programmable network platform for a cloud-based services exchange |
CN104991827A (zh) * | 2015-06-26 | 2015-10-21 | 季锦诚 | 云游戏中gpu资源共享的方法 |
US9609275B2 (en) | 2015-07-08 | 2017-03-28 | Google Inc. | Single-stream transmission method for multi-user video conferencing |
US10135892B2 (en) | 2015-07-28 | 2018-11-20 | Google Llc | Independent control of interactive streaming media |
US9993729B2 (en) | 2015-08-19 | 2018-06-12 | Sony Interactive Entertainment America Llc | User save data management in cloud gaming |
US9946593B2 (en) | 2015-09-18 | 2018-04-17 | Salesforce.Com, Inc. | Recovery strategy for a stream processing system |
WO2017058539A1 (en) | 2015-09-30 | 2017-04-06 | Sony Interactive Entertainment America Llc | Multi-user demo streaming service for cloud gaming |
US11420114B2 (en) | 2015-09-30 | 2022-08-23 | Sony Interactive Entertainment LLC | Systems and methods for enabling time-shifted coaching for cloud gaming systems |
US20170097816A1 (en) | 2015-10-01 | 2017-04-06 | Motorola Mobility Llc | Context-based applications for mobile devices |
US10630773B2 (en) | 2015-11-12 | 2020-04-21 | Nvidia Corporation | System and method for network coupled cloud gaming |
US20170185464A1 (en) | 2015-12-29 | 2017-06-29 | Ca, Inc. | Detecting flapping in resource measurements |
US20170246544A1 (en) | 2016-02-26 | 2017-08-31 | Microsoft Technology Licensing, Llc | Video game streaming for spectating |
CN105749551B (zh) | 2016-02-26 | 2019-04-30 | 网易(杭州)网络有限公司 | 一种游戏托管方法、系统及终端 |
US10016689B2 (en) | 2016-03-21 | 2018-07-10 | Electronic Arts Inc. | Synchronized video with in game telemetry |
US10456672B2 (en) | 2016-05-19 | 2019-10-29 | Google Llc | Methods and systems for facilitating participation in a game session |
US11351468B2 (en) | 2016-06-13 | 2022-06-07 | Sony Interactive Entertainment LLC | Generating challenges using a location based game play companion application |
US10046236B2 (en) | 2016-06-13 | 2018-08-14 | Sony Interactive Entertainment America, LLC | Browser-based cloud gaming |
JP6560826B2 (ja) | 2016-06-28 | 2019-08-14 | 株式会社ソニー・インタラクティブエンタテインメント | 利用状態判定装置、利用状態判定方法及びプログラム |
US10332296B2 (en) | 2016-07-05 | 2019-06-25 | Ubitus Inc. | Overlaying multi-source media in VRAM |
US10521879B2 (en) | 2016-07-05 | 2019-12-31 | Ubitus, Inc. | Overlaying multi-source media in VRAM |
CN106328855B (zh) | 2016-11-29 | 2019-06-04 | 宁德时代新能源科技股份有限公司 | 电池组件及电池模组 |
US10722803B2 (en) | 2017-02-15 | 2020-07-28 | Roblox Corporation | Integrated chat and game play platform |
US20180250591A1 (en) | 2017-03-02 | 2018-09-06 | The Fast Mind, LLC | Methods of circumventing platform restrictions in gaming |
US10512846B2 (en) | 2017-03-07 | 2019-12-24 | Sony Interactive Entertainment LLC | Emulating player behavior after player departure |
US10567466B2 (en) | 2017-04-06 | 2020-02-18 | Microsoft Technology Licensing, Llc | Co-streaming within a live interactive video game streaming service |
EP3600581B1 (en) | 2017-10-10 | 2024-02-21 | Google LLC | Distributed sample-based game profiling with game metadata and metrics and gaming api platform supporting third-party content |
CN107670275B (zh) | 2017-10-26 | 2020-10-13 | 广州市雷军游乐设备有限公司 | 游戏进程断线重连的方法和系统 |
US20190199722A1 (en) | 2017-12-19 | 2019-06-27 | Advanta Computer, LLC | Systems and methods for networked computing |
US10792576B2 (en) | 2018-02-28 | 2020-10-06 | Sony Interactive Entertainment LLC | Player to spectator handoff and other spectator controls |
KR102360052B1 (ko) | 2018-03-22 | 2022-02-08 | 구글 엘엘씨 | 온라인 인터랙티브 게임 세션들에 대한 콘텐츠를 렌더링 및 인코딩하기 위한 방법들 및 시스템들 |
KR102694451B1 (ko) | 2018-04-02 | 2024-08-13 | 구글 엘엘씨 | 대화형 클라우드 게임용 방법, 디바이스 및 시스템 |
WO2019195300A2 (en) | 2018-04-02 | 2019-10-10 | Google Llc | Input device for an electronic system |
US11077364B2 (en) | 2018-04-02 | 2021-08-03 | Google Llc | Resolution-based scaling of real-time interactive graphics |
US10773168B2 (en) | 2018-04-02 | 2020-09-15 | Google Llc | Temporary game control by user simulation following loss of active control |
US10950092B2 (en) | 2018-10-07 | 2021-03-16 | Synergy Blue Llc | Skillful multi-level games and gaming machines in which players are granted free play sessions |
WO2020102493A1 (en) | 2018-11-16 | 2020-05-22 | Google Llc | Shadow tracking of real-time interactive simulations for complex system analysis |
US11731043B2 (en) | 2019-11-19 | 2023-08-22 | Sony Interactive Entertainment Inc. | Adaptive graphics for cloud gaming |
US11128636B1 (en) | 2020-05-13 | 2021-09-21 | Science House LLC | Systems, methods, and apparatus for enhanced headsets |
-
2019
- 2019-04-09 KR KR1020227023033A patent/KR102614649B1/ko active IP Right Grant
- 2019-04-09 KR KR1020207015259A patent/KR102419100B1/ko active IP Right Grant
- 2019-04-09 CN CN201980006052.0A patent/CN111417978A/zh active Pending
- 2019-04-09 WO PCT/US2019/026611 patent/WO2019199848A1/en unknown
- 2019-04-09 JP JP2020529148A patent/JP7073494B2/ja active Active
- 2019-04-09 KR KR1020237042902A patent/KR20230173223A/ko not_active Application Discontinuation
- 2019-04-09 EP EP24157044.9A patent/EP4345731A1/en active Pending
- 2019-04-09 EP EP22202122.2A patent/EP4141781B1/en active Active
- 2019-04-09 EP EP19721919.9A patent/EP3701489B1/en active Active
- 2019-04-10 US US16/380,831 patent/US11110348B2/en active Active
-
2021
- 2021-03-29 US US17/216,115 patent/US11813521B2/en active Active
-
2022
- 2022-05-11 JP JP2022078311A patent/JP2022122875A/ja active Pending
-
2023
- 2023-09-07 US US18/243,291 patent/US20240001230A1/en active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2015524092A (ja) * | 2012-04-04 | 2015-08-20 | クゥアルコム・インコーポレイテッドQualcomm Incorporated | グラフィックス処理におけるパッチされたシェーディング |
JP2017510862A (ja) * | 2013-12-26 | 2017-04-13 | 株式会社スクウェア・エニックス・ホールディングス | 描画システム、制御方法、及び記憶媒体 |
JP2017516207A (ja) * | 2014-04-21 | 2017-06-15 | クアルコム,インコーポレイテッド | グラフィックス処理におけるレンダーターゲットに基づいたフレックスレンダリング |
JP2017215997A (ja) * | 2014-05-14 | 2017-12-07 | インテル・コーポレーション | 装置、方法およびシステム |
US20160171757A1 (en) * | 2014-12-16 | 2016-06-16 | Selvakumar Panneer | Dynamic kernel modification for graphics processing units |
Non-Patent Citations (1)
Title |
---|
池田 孝利 他2名: "GPUアプリケーションを高速化するための命令割当て方式", 情報処理学会論文誌, vol. 第46巻 第SIG12(ACS11)号, JPN6021044628, 15 August 2005 (2005-08-15), pages 140 - 149, ISSN: 0004636351 * |
Also Published As
Publication number | Publication date |
---|---|
EP4141781A1 (en) | 2023-03-01 |
JP7073494B2 (ja) | 2022-05-23 |
KR20200077565A (ko) | 2020-06-30 |
EP3701489A1 (en) | 2020-09-02 |
KR102614649B1 (ko) | 2023-12-14 |
US11110348B2 (en) | 2021-09-07 |
CN111417978A (zh) | 2020-07-14 |
EP3701489B1 (en) | 2022-10-26 |
KR20230173223A (ko) | 2023-12-26 |
WO2019199848A1 (en) | 2019-10-17 |
US11813521B2 (en) | 2023-11-14 |
JP2022122875A (ja) | 2022-08-23 |
EP4141781B1 (en) | 2024-03-20 |
US20190308099A1 (en) | 2019-10-10 |
EP4345731A1 (en) | 2024-04-03 |
KR102419100B1 (ko) | 2022-07-07 |
KR20220101011A (ko) | 2022-07-18 |
US20240001230A1 (en) | 2024-01-04 |
US20210213354A1 (en) | 2021-07-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP7073494B2 (ja) | ゲームレンダリングにおけるメモリ管理 | |
US11617947B2 (en) | Video game overlay | |
US11596861B2 (en) | Add-on management methods | |
US11083963B2 (en) | Save game load time reduction for cloud gaming | |
US9455931B2 (en) | Load balancing between processors | |
US9584575B2 (en) | Qualified video delivery | |
US9486706B2 (en) | Voice overlay | |
US9633379B1 (en) | Qualified video delivery advertisement | |
US20210346799A1 (en) | Qualified Video Delivery Methods |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20201208 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20201208 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20211101 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20211109 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20220208 |
|
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: 20220412 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20220511 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 7073494 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |