IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 北京蔚領時代科技有限公司の特許一覧

特許7323948複数のビデオカードに基づくゲーム画面のレンダリング方法及びシステム
<>
  • 特許-複数のビデオカードに基づくゲーム画面のレンダリング方法及びシステム 図1
  • 特許-複数のビデオカードに基づくゲーム画面のレンダリング方法及びシステム 図2
  • 特許-複数のビデオカードに基づくゲーム画面のレンダリング方法及びシステム 図3
  • 特許-複数のビデオカードに基づくゲーム画面のレンダリング方法及びシステム 図4
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-08-01
(45)【発行日】2023-08-09
(54)【発明の名称】複数のビデオカードに基づくゲーム画面のレンダリング方法及びシステム
(51)【国際特許分類】
   G06T 15/00 20110101AFI20230802BHJP
【FI】
G06T15/00 501
【請求項の数】 9
(21)【出願番号】P 2021555100
(86)(22)【出願日】2021-01-07
(65)【公表番号】
(43)【公表日】2022-12-08
(86)【国際出願番号】 CN2021070651
(87)【国際公開番号】W WO2022048098
(87)【国際公開日】2022-03-10
【審査請求日】2021-09-10
(31)【優先権主張番号】202010907905.2
(32)【優先日】2020-09-02
(33)【優先権主張国・地域又は機関】CN
(73)【特許権者】
【識別番号】521404864
【氏名又は名称】北京蔚領時代科技有限公司
【氏名又は名称原語表記】Beijing Weiling Times Technology Co., Ltd.
【住所又は居所原語表記】14/F, BUILDING 6A, ELECTRONICS CITY, 6 JIUXIANQIAO RD, CHAOYANG DISTRICT, BEIJING, CHINA
(74)【代理人】
【識別番号】110000567
【氏名又は名称】弁理士法人サトー
(72)【発明者】
【氏名】呉 越▲斤▼
(72)【発明者】
【氏名】郭 建君
(72)【発明者】
【氏名】孫 華慶
【審査官】松永 隆志
(56)【参考文献】
【文献】特開2017-126331(JP,A)
【文献】中国特許出願公開第109285108(CN,A)
【文献】米国特許出願公開第2015/0009222(US,A1)
【文献】米国特許出願公開第2019/0206023(US,A1)
【文献】ノジク ヴァンソン ほか2名,画像処理とコンピュータビジョンのためのGPU,情報処理学会研究報告,2008年05月01日,第2008巻、第36号,p. 263~286
(58)【調査した分野】(Int.Cl.,DB名)
G06T 1/00-19/20
(57)【特許請求の範囲】
【請求項1】
物理ホストにおける、Mが1よりも大きい整数であるM個の物理ビデオカードを識別すること、
レンダリングタスクを特定して少なくとも一つのレンダリング部分に分けること、
前記少なくとも一つのレンダリング部分に基づいて、目標物理ビデオカードを特定し、ただし、前記目標物理ビデオカードが前記M個の物理ビデオカードにおける一つ以上であること、
前記目標物理ビデオカードにより、前記少なくとも一つのレンダリング部分をレンダリングすること、
ここで、各前記レンダリング部分は、レンダリングのための一つのレンダリングスレッドが配分されており、
複数の前記レンダリングスレッドは一つの共通のレンダリングリソースマネージャを共有しており、
前記レンダリングスレッドは前記共通のレンダリングリソースマネージャから現在のレンダリング部分に必要なレンダリングリソースを取得し、
及び、
出力装置によりレンダリング結果を出力すること、を含む、
複数のビデオカードに基づくゲーム画面のレンダリング方法。
【請求項2】
前記物理ホストには図形APIがロードされており、前記物理ホストのビデオカードドライバープログラムにより前記M個の物理ビデオカードを制御し、
ただし、物理ホストにおけるM個の物理ビデオカードを識別することは、
前記ビデオカードドライバープログラム及び前記図形APIにより、前記M個の物理ビデオカードを識別することを含む、
請求項1に記載の複数のビデオカードに基づくゲーム画面のレンダリング方法。
【請求項3】
前記レンダリングタスクを特定して少なくとも一つのレンダリング部分に分けることは、
前記レンダリングタスクが一つのユーザーによるゲーム画面のレンダリングタスクである場合には、前記レンダリングタスクを少なくとも一つのレンダリング部分に分け、ただし、各レンダリング部分がそれぞれ当該ユーザーによる一つのフレームのゲーム画面又は一つのフレームのゲーム画面の一部であること、及び、
前記レンダリングタスクが複数のユーザーによるゲーム画面のレンダリングタスクである場合には、前記レンダリングタスクを複数のレンダリング部分に分け、ただし、各レンダリング部分がそれぞれ一つのユーザーによる一つのフレームのゲーム画面又は一つのユーザーによる一つのフレームのゲーム画面の一部であること、を含む、
請求項1に記載の複数のビデオカードに基づくゲーム画面のレンダリング方法。
【請求項4】
前記レンダリングタスクが一つのユーザーによるゲーム画面のレンダリングタスクであり、
ただし、前記少なくとも一つのレンダリング部分に基づいて、目標物理ビデオカードを特定することは、
前記レンダリングタスクを一つのレンダリング部分に分けると、前記M個の物理ビデオカードにおける一つの物理ビデオカードを前記目標物理ビデオカードとして特定すること、及び、
前記レンダリングタスクを複数のレンダリング部分に分けると、前記M個の物理ビデオカードにおけるN個の物理ビデオカードを前記目標物理ビデオカードとして特定し、ただし、Nが1よりも大きいと共にM以下の整数であること、を含む、
請求項3に記載の複数のビデオカードに基づくゲーム画面のレンダリング方法。
【請求項5】
前記レンダリングタスクが複数のユーザーによるゲーム画面のレンダリングタスクであり、
ただし、前記少なくとも一つのレンダリング部分に基づいて、目標物理ビデオカードを特定することは、
前記M個の物理ビデオカードにおけるN個の物理ビデオカードを前記目標物理ビデオカードとして特定し、ただし、Nが1よりも大きいと共にM以下の整数であることを含む、
請求項3に記載の複数のビデオカードに基づくゲーム画面のレンダリング方法。
【請求項6】
前記目標物理ビデオカードにより、前記少なくとも一つのレンダリング部分をレンダリングすることは、
少なくとも一つの論理デバイスを作成すること、
前記少なくとも一つの論理デバイスに対応する少なくとも一つのレンダリング手段を作成し、ただし、一つの論理デバイスが一つのレンダリング手段に対応すること、及び、
前記目標物理ビデオカードにより、前記少なくとも一つのレンダリング手段を補助し、前記少なくとも一つのレンダリング部分をレンダリング処理すること、を含む、
請求項1に記載の複数のビデオカードに基づくゲーム画面のレンダリング方法。
【請求項7】
前記少なくとも一つの論理デバイスを作成することは、
特定の前記目標物理ビデオカードにより、それぞれ前記目標物理ビデオカードにおける各物理ビデオカードから論理デバイスを作成し、ただし、一つの物理ビデオカードが少なくとも一つの論理デバイスに対応することを含む、
請求項6に記載の複数のビデオカードに基づくゲーム画面のレンダリング方法。
【請求項8】
前記出力装置によりレンダリング結果を出力することは、
前記レンダリングタスクを一つのレンダリング部分に分けると、前記出力装置がレンダリング結果を出力すること、及び、
前記レンダリングタスクを複数のレンダリング部分に分けると、前記出力装置が前記少なくとも一つのレンダリング部分のレンダリング結果を合弁して出力すること、を含む、
請求項1に記載の複数のビデオカードに基づくゲーム画面のレンダリング方法。
【請求項9】
物理ホストにおけるMが1よりも大きい整数であるM個の物理ビデオカードを識別するための識別手段と、
レンダリングタスクを特定して少なくとも一つのレンダリング部分に分けるためのタスク分け手段と、
前記少なくとも一つのレンダリング部分に基づいて、目標物理ビデオカードを特定するものであって、ただし、前記目標物理ビデオカードが前記M個の物理ビデオカードにおける一つ以上である、ビデオカード配分手段と、
前記目標物理ビデオカードにより、前記少なくとも一つのレンダリング部分をレンダリングするためのレンダリング手段と、
ここで、各前記レンダリング部分は、レンダリングのための一つのレンダリングスレッドが配分されており、
複数の前記レンダリングスレッドは一つの共通のレンダリングリソースマネージャを共有しており、
前記レンダリングスレッドは前記共通のレンダリングリソースマネージャから現在のレンダリング部分に必要なレンダリングリソースを取得し、
及び、
レンダリング結果を出力するための出力手段と、を含む、
複数のビデオカードに基づくゲーム画面のレンダリングシステム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、クラウドゲームの技術分野に関し、特に、複数のビデオカードに基づくゲーム場面のレンダリング方法及びシステムに関する。
【背景技術】
【0002】
従来のゲーム及びゲームのエンジンは、単一のビデオカードの呼び出し及びレンダリングの能力しか提供しない。複数のビデオカードレンダリングは、クラウドゲームや画面の専門分野に一定適用されたものの、複数のビデオカードレンダリングを使用する現在の方法は、NvidiaのSLI、NVLink及びAMDが互いにクロスファイアする技術である。NvidiaのSLI及びNVLinkは、使用されている複数のビデオカードが同じ規格であると共に接続部品により物理接続を介してその使用が始まるように保証することが必要である。AMDは、その大部分のビデオカードについて、その作戦にもブリッジが必要となり、その小部分の装置はブリッジが必要とならないが、AカードとNカードとの間のクロスファイアができない。しかも、従来技術は、シングルプロセスと単一のビデオカードによる使用の場面にのみ満たされているが、中途にビデオカードを切り替えることもできない。
【発明の概要】
【発明が解決しようとする課題】
【0003】
本発明は、上記の問題を解決するために、SLI及びNVLinkの接続装置が関与しない場合でも、異なるメーカーから由来する、異なる規格及び異なる演算能力を付けた複数のビデオカードを用いてゲーム画面をレンダリングする方法を提供することを目的とする。
【課題を解決するための手段】
【0004】
本発明は、上記の目的を達成するために、複数のビデオカードに基づくゲーム画面のレンダリング方法を提供しており、当該方法は、物理ホストにおけるMが1よりも大きい整数であるM個の物理ビデオカードを識別すること、レンダリングタスクを特定して少なくとも一つのレンダリング部分に分けること、前記少なくとも一つのレンダリング部分に基づいて、目標物理ビデオカードを特定し、ただし、前記目標物理ビデオカードが前記M個の物理ビデオカードにおける一つ以上であること、前記目標物理ビデオカードにより前記少なくとも一つのレンダリング部分をレンダリングすること、及び、出力装置によりレンダリング結果を出力することを含む。
【0005】
本発明に対する更なる改良としては、前記物理ホストには図形APIがロードされており、前記物理ホストのビデオカードドライバープログラムにより前記M個の物理ビデオカードを制御し、ただし、物理ホストにおけるM個の物理ビデオカードを識別することは、前記ビデオカードドライバープログラム及び前記図形APIにより前記M個の物理ビデオカードを識別することを含む。
【0006】
本発明に対する更なる改良としては、前記レンダリングタスクを特定し少なくとも一つのレンダリング部分に分けることは、前記レンダリングタスクが一つのユーザーによるゲーム画面のレンダリングタスクである場合には、前記レンダリングタスクを少なくとも一つのレンダリング部分に分け、ただし、各レンダリング部分がそれぞれ当該ユーザーによる一つのフレームのゲーム画面又は一つのフレームのゲーム画面の一部であること、及び、前記レンダリングタスクが複数のユーザーによるゲーム画面のレンダリングタスクである場合には、前記レンダリングタスクを複数のレンダリング部分に分け、ただし、各レンダリング部分がそれぞれ一つのユーザーによる一つのフレームのゲーム画面又は一つのユーザーによる一つのフレームのゲーム画面の一部であることを含む。
【0007】
本発明に対する更なる改良としては、前記レンダリングタスクが一つのユーザーによるゲーム画面のレンダリングタスクであり、ただし、前記少なくとも一つのレンダリング部分に基づいて、目標物理ビデオカードを特定することは、前記レンダリングタスクを一つのレンダリング部分に分けると、前記M個の物理ビデオカードにおける一つの物理ビデオカードを前記目標物理ビデオカードとして特定すること、及び、前記レンダリングタスクを複数のレンダリング部分に分けると、前記M個の物理ビデオカードにおけるN個の物理ビデオカードを前記目標物理ビデオカードとして特定し、ただし、Nが1よりも大きいと共にM以下の整数である、ことを含む。
【0008】
本発明に対する更なる改良としては、前記レンダリングタスクが複数のユーザーによるゲーム画面のレンダリングタスクであり、ただし、前記少なくとも一つのレンダリング部分に基づいて、目標物理ビデオカードを特定することは、前記M個の物理ビデオカードにおけるN個の物理ビデオカードを前記目標物理ビデオカードとして特定し、ただし、Nが1よりも大きいと共にM以下の整数である。
【0009】
本発明に対する更なる改良としては、前記目標物理ビデオカードにより前記少なくとも一つのレンダリング部分をレンダリングすることは、少なくとも一つの論理デバイスを作成すること、及び、前記少なくとも一つの論理デバイスに対応する少なくとも一つのレンダリング手段を作成し、ただし、一つの論理デバイスが一つのレンダリング手段に対応すること、前記目標物理ビデオカードにより前記少なくとも一つのレンダリング手段を補助し、前記少なくとも一つのレンダリング部分をレンダリング処理することを含む。
【0010】
本発明に対する更なる改良としては、前記レンダリング手段がレンダリング結果を出力装置のスワップチェーンに出力し、前記出力装置が前記出力装置のスワップチェーンからレンダリング結果を取得する。
【0011】
本発明に対する更なる改良としては、前記少なくとも一つの論理デバイスを作成することは、特定の前記目標物理ビデオカードにより、それぞれ前記目標物理ビデオカードにおける各物理ビデオカードから論理デバイスを作成し、ただし、一つの物理ビデオカードが少なくとも一つの論理デバイスに対応することを含む。
【0012】
本発明に対する更なる改良としては、前記出力装置によりレンダリング結果を出力することは、前記レンダリングタスクを一つのレンダリング部分に分けると、前記出力装置がレンダリング結果を出力すること、及び、前記レンダリングタスクを複数のレンダリング部分に分けると、前記出力装置が前記少なくとも一つのレンダリング部分のレンダリング結果を合弁して出力することを含む。
【0013】
本発明に対する更なる改良としては、前記物理ホストに図形APIがロードされており、ただし、前記方法は、前記少なくとも一つの論理デバイスに、Contextを対応に作成し、ただし、一つの前記レンダリング部分が一つの前記Contextと関連し、前記Contextにより前記図形APIを呼び出すと共に論理デバイスの識別子を提供する、ことをさらに含む。
【0014】
本発明に対する更なる改良としては、各前記レンダリング部分にそれぞれ一つのレンダリングスレッドを配分してレンダリングを行う。
【0015】
本発明に対する更なる改良としては、複数の前記レンダリングスレッドが一つの共通のレンダリングリソースマネージャを共有している。
【0016】
本発明に対する更なる改良としては、前記レンダリングスレッドが前記共通のレンダリングリソースマネージャから現在のレンダリング部分に必要なレンダリングリソースを取得する。
【0017】
本発明に対する更なる改良としては、前記レンダリングスレッドが、現在のレンダリング部分により、レンダリングリソースマネージャを介してレンダリングリソースを呼び出し、レンダリング手段によりレンダリングの実行が終わると、出力装置のスワップチェーンによりレンダリング結果を出力する。
【0018】
本発明は、複数のビデオカードに基づくゲーム画面のレンダリングシステムをさらに提供しており、当該システムは、物理ホストにおけるMが1よりも大きい整数であるM個の物理ビデオカードを識別するための識別手段と、レンダリングタスクを特定して少なくとも一つのレンダリング部分に分けるためのタスク分け手段と、前記少なくとも一つのレンダリング部分に基づいて、目標物理ビデオカードを特定するためのものであって、ただし、前記目標物理ビデオカードが前記M個の物理ビデオカード中の一つ以上であるビデオカード配分手段と、前記目標物理ビデオカードにより前記少なくとも一つのレンダリング部分をレンダリングためのレンダリング手段と、レンダリング結果を出力するための出力手段とを含む。
【0019】
本発明に対する更なる改良としては、前記識別手段が、前記物理ホストにロードされているビデオカードドライバープログラム及び図形APIにより、前記M個の物理ビデオカードを識別する。
【0020】
本発明に対する更なる改良としては、レンダリング手段が、前記目標物理ビデオカードに基づいて、前記少なくとも一つのレンダリング部分をレンダリングすることは、少なくとも一つの論理デバイスを作成すること、前記少なくとも一つの論理デバイスに対応する少なくとも一つのレンダリング手段を作成し、ただし、一つの論理デバイスが一つのレンダリング手段に対応すること、及び、前記目標物理ビデオカードにより前記少なくとも一つのレンダリング手段を補助して、前記少なくとも一つのレンダリング部分をレンダリング処理することを含む。
【0021】
本発明に対する更なる改良としては、前記レンダリング手段がレンダリング結果を出力装置のスワップチェーンに出力し、前記出力装置が前記出力装置のスワップチェーンからレンダリング結果を取得する。
【0022】
本発明に対する更なる改良としては、前記少なくとも一つの論理デバイスを作成することは、特定の前記目標物理ビデオカードにより、それぞれ前記目標物理ビデオカードにおける各物理ビデオカードから論理デバイスを作成し、ただし、一つの物理ビデオカードが少なくとも一つの論理デバイスに対応することを含む。
【発明の効果】
【0023】
本発明による有益な効果が以下の通りである。
シングルプロセスが複数のユーザーにサービスを提供するゲームプロセスには、物理ホストにおける複数の物理ビデオカードを十分に利用してレンダリングタスクを完了させることから、アクセスしている各ユーザーに、それぞれ、異なるビデオカードを用いてゲーム画面をレンダリングすることができるし、一つのユーザーに複数のビデオカードを同時に用いて一つのゲーム画面をレンダリングすることができる。図形APIにより一つのプロセスに一つ又は複数のビデオカードを用いて、図形のレンダリングを行うことから、複数のビデオカードリソースを十分に利用でき、レンダリングの能力を高め、一層に高いフレームレートを得ることができる。
【図面の簡単な説明】
【0024】
図1】本発明の実施例に記載されている複数のビデオカードに基づくゲーム画面のレンダリング方法を模式的に示すフロチャートである。
図2】本発明の実施例に記載されている複数のビデオカードに基づくゲーム画面のレンダリング方法について複数のビデオカードの構成を示す模式図である。
図3】本発明の実施例に記載されている複数のビデオカードに基づくゲーム画面のレンダリング方法についてレンダリングを模式的に示すフロチャートである。
図4】本発明の実施例に記載されている複数のビデオカードに基づくゲーム画面のレンダリングシステムについてシステムの構成を示す模式図である。
【発明を実施するための形態】
【0025】
以下には、本発明の実施例における図面を参照しながら、本発明の実施例における技術的手段を明確的にかつ完全的に説明するが、記載する実施例が本発明における一部の実施例に過ぎず、全ての実施例ではないということが明らかである。本発明における実施例に基づいて、創造性を付けた労働がない限り当業者が取得可能な如何なる他の実施例は、いずれも、本開示の保護しようとする範囲に含まれる。
【0026】
説明するべきことは、本発明の実施例に方向性を有する指示(例えば上、下、左、右、前や後・・・)があれば、当該方向性を付けた指示は、ある特定の姿態(図面に示すように)において、各部件間における相対的な位置関係や動き場合などを解釈するためのものに過ぎず、当該特定の姿態が変わると、当該方向性による指示もそれに伴い変わるわけである。
【0027】
また、本発明の説明では、係る用語が説明という目的にのみ用いられており、本開示の範囲を限定するものではない。「含み」及び/又は「含まれ」という用語は、素子、ステップ、操作及び/又は手段の存在を意味するためのものであるが、一つ以上である他の素子、ステップ、操作及び/又は手段が存在する場合を追加するのを排除するわけではない。「第一」や「第二」などの用語は、様々な素子を説明するためのものであるが、順番付けを意味せず、しかも、これらの素子に限定される役割もない。また、本発明の記載において、他の特別な断りが無ければ、「複数の」とは二つ又は二つの以上を意味している。これらの用語は、一つの要素及び他の要素を区別するということにしか用いられない。以下に図面を参照しながら、これら及び/又は他の局面が明らかになるだろう。しかも、当業者が本発明の実施例についての説明をより易く理解できるだろう。図面は、説明だけを目的として本開示の実施例を説明するためのものである。当業者は、以下の説明から本開示の原理を背離しない限り、本発明に開示する構成及び方法を代替する実施例を採用してもよいということを容易に認識することが可能である。
【0028】
本発明の実施例に記載される複数のビデオカードに基づくゲーム画面のレンダリング方法は、図1乃至3に示すように、物理ホストにおけるMが1よりも大きい整数であるM個の物理ビデオカードを識別すること、レンダリングタスクを特定して少なくとも一つのレンダリング部分に分けること、少なくとも一つのレンダリング部分に基づいて、目標物理ビデオカードを特定し、ただし、目標物理ビデオカードがM個の物理ビデオカードにおける一つ以上であること、目標物理ビデオカードにより、少なくとも一つのレンダリング部分をレンダリングすること、及び、出力装置によりレンダリング結果を出力することを含む。
【0029】
さらに、物理ホストには図形APIがロードされており、物理ホストのビデオカードドライバープログラムによりM個の物理ビデオカードを制御し、ただし、物理ホストにおけるM個の物理ビデオカードを識別することは、ビデオカードドライバープログラム及び図形APIによりM個の物理ビデオカードを識別する。
【0030】
好ましい実施形態は、図形APIが例えばVulkanAPIであり、VulkanAPIにより物理ビデオカードを選択して物理ビデオカードから論理デバイスを作成する。ゲームのプロセスでは、必要に応じて、M(1≦M≦ビデオカードの数)個の物理ビデオカードを選択してN(N≧M)個の論理デバイスを作成し、次に、論理デバイスに基づいて、レンダリングリソースマネージャ、レンダリング手段及び出力先に対応する出力装置のスワップチェーンを対応的に作成する。
【0031】
さらに、前記目標物理ビデオカードに基づいて、前記少なくとも一つのレンダリング部分をレンダリングすることは、少なくとも一つの論理デバイスを作成すること、少なくとも一つの論理デバイスに対応する少なくとも一つのレンダリング手段を作成し、ただし、一つの論理デバイスが一つのレンダリング手段に対応すること、及び、目標物理ビデオカードにより少なくとも一つのレンダリング手段を補助して、少なくとも一つのレンダリング部分をレンダリング処理することを含む。
【0032】
さらに、一つのレンダリング手段が一つの出力装置のスワップチェーンに対応しており、レンダリング手段がレンダリング結果を出力装置のスワップチェーンに出力し、出力装置が出力装置のスワップチェーンからそれに対応するレンダリング手段のレンダリング結果を取得する。出力装置のスワップチェーンは、図3に示すSwapChainである。
【0033】
さらに、少なくとも一つの論理デバイスがContextを対応的に作成し、ただし、一つのレンダリング部分が一つのContextに関連し、Contextにより図形APIを呼び出すと共に論理デバイスの識別子を提供する。
【0034】
さらに、ゲームプロセスは、各レンダリング部分にそれぞれ、一つのレンダリングスレッドを配分してレンダリングを行う。
【0035】
さらに、複数の前記レンダリングスレッドが一つの共通のレンダリングリソースマネージャを共用している。レンダリングリソースは、現在のレンダリング部分に必要な模型や模様等のデータを含む。レンダリングスレッドは、共通のレンダリングリソースマネージャから、現在のレンダリング部分に必要なレンダリングリソースを取得する。レンダリングタスクが一つのレンダリング部分であり一つのレンダリング手段によりレンダリングを行う場合には、レンダリング手段が出力装置のスワップチェーンによりレンダリング結果を出力装置に出力して表示する。レンダリングタスクを複数のレンダリング部分に分けると共に、複数のレンダリング手段によりレンダリングを行う場合には、出力装置のスワップチェーンによりレンダリング結果を出力装置に出力し、出力装置が複数のレンダリング手段のレンダリング結果を合弁して表示する。
【0036】
さらに、レンダリングタスクを特定して少なくとも一つのレンダリング部分に分けることは、レンダリングタスクが一つのユーザーによるゲーム画面のレンダリングタスクである場合には、レンダリングタスクを少なくとも一つのレンダリング部分に分け、ただし、各レンダリング部分がそれぞれ、当該ユーザーによる一つのフレームのゲーム画面又は一つのフレームのゲーム画面の一部であること、及び、レンダリングタスクが複数のユーザーによるゲーム画面のレンダリングタスクである場合には、レンダリングタスクを複数のレンダリング部分に分け、ただし、各レンダリング部分がそれぞれ一つのユーザーによる一つのフレームのゲーム画面又は一つのユーザーによる一つのフレームのゲーム画面の一部であることを含む。
【0037】
ただし、レンダリング部分が一つのフレームのゲーム画面の一部である場合に、一つの分け形態は、平面に基づいて、グリッドに従って等配で分けるものであり、平面全体についてはその幅や高さを特定できるし、グリッドにおける小さいブロックの座標、大きさ及び偏りを特定できることから、分けられた各部分の位置情報を特定でき、次の合弁が上記の位置情報に基づいて行われる。
【0038】
さらに、出力装置によりレンダリング結果を出力することは、レンダリングタスクを一つのレンダリング部分に分けると、出力装置がレンダリング結果を出力すること、及び、レンダリングタスクを複数のレンダリング部分に分けると、出力装置が少なくとも一つのレンダリング部分のレンダリング結果を合弁して出力することを含む。
【0039】
好ましい実施形態は、複数のビデオカードにより同一のレンダリングタスクを完了させることが必要である場合に、レンダリングデータが、読み出し可能なバッファエリアに位置するスワップチェーンに流れ、レンダリングのビデオカードを補助してデータをバッファエリアに出力してから、合成画面を担当するビデオカードにより組み合わせを行うとともにスクリーンのスワップチェーンに出力して出力を行うとよい。そうすると、レンダリングリソース、レンダリング目標、及び、レンダリングを組み合わせる効果を適正に配分することにより、複数のビデオカードにより一つの場面を共同してレンダリングする能力を効果的に図ることができる。具体的な過程は、場面の複雑度により、レンダリングに参加するビデオカードの数を選択すると共に、配分されるビデオカードの数に基づいて、場面画面を分け、分けられた各ビデオカードにレンダリングに必要なリソースを提供し、レンダリングを担当するビデオカードによりレンダリングの作業を並行して実行し、すべてのレンダリングが終わると、全てのレンダリング結果を組み合わせ、レンダリング結果が完全なゲームの画面となり、最後に、完了となるゲーム画面を表示装置又はコーディング装置に出力する。
【0040】
レンダリングの実施形態は、レンダリングタスクが一つのユーザーによるゲーム画面であり、レンダリングタスクを一つのレンダリング部分に分け、レンダリング部分が当該ユーザーによる一つのフレームのゲーム画面であり、レンダリング部分により一つの目標物理ビデオカードを特定し、一つの論理デバイスを対応的に作成し、論理デバイスが一つのレンダリング手段に対応する。レンダリング手段は、一つのフレームのゲーム画面を対応的にレンダリングし、レンダリングを経た一つのフレームのゲーム画面は、出力装置により出力される。上記の形態は、シングルのビデオカードによるレンダリングの場面と同様に、独立するレンダリングプログラムに書き込まれるとよい。
【0041】
他のレンダリングの実施形態は、レンダリングタスクが一つのユーザーによるゲーム画面であり、レンダリングタスクを複数のレンダリング部分に分け、レンダリング部分が当該ユーザーによる一つのフレームのゲーム画面であり、レンダリング部分により複数の目標物理ビデオカードを特定し、複数の論理デバイスを対応的に作成し、各論理デバイスが一つのレンダリング手段及び一つの出力装置のスワップチェーンに対応しており、レンダリング手段により一つのフレームのゲーム画面を対応的にレンダリングすると共に、レンダリングを経た一つのフレームのゲーム画面を出力装置のスワップチェーンに対応的に出力し、出力装置が各出力装置のスワップチェーンからレンダリングを経た一つのフレームのゲーム画面を取得すると共に、レンダリングタスクを分ける時に記録されているフレーム画面のタイムスタンプ、及び、レンダリングの操作を実行する論理デバイスの識別子に基づいて、取得される複数のフレームのゲーム画面をビデオストリームに整合して出力する。
【0042】
もう一つのレンダリングの実施形態は、レンダリングタスクが一つのユーザーによるゲーム画面であり、レンダリングタスクを複数のレンダリング部分に分け、レンダリング部分が当該ユーザーによる一つのフレームのゲーム画面の一部であり、レンダリング部分に基づいて、複数の目標物理ビデオカードを特定し、複数の論理デバイスを対応的に作成し、各論理デバイスが一つのレンダリング手段及び一つの出力装置のスワップチェーンに対応しており、レンダリング手段により一つのフレームのゲーム画面の一部を対応的にレンダリングすると共に、レンダリングを経た一つのフレームのゲーム画面の一部を出力装置のスワップチェーンに対応的に出力し、出力装置が出力装置のスワップチェーンからレンダリングを経た一つのフレームのゲーム画面の一部を取得し、レンダリングタスクを分ける時に記録される各レンダリング部分の識別子及びレンダリングの操作を実行する論理デバイスの識別子に基づいて、取得された複数のゲームサブ画面を一つの完全な一つのフレームのゲーム画面に合弁して出力する。
【0043】
もう一つのレンダリングの実施形態は、レンダリングタスクが複数のユーザーによるゲーム画面であり、レンダリングタスクを複数のレンダリング部分に分け、レンダリング部分が一つのユーザーによる一つのフレームのゲーム画面であり、レンダリング部分により複数の目標物理ビデオカードを特定し、複数の論理デバイスを対応的に作成し、各論理デバイスがそれぞれ一つのレンダリング手段及び一つの出力装置のスワップチェーンに対応しており、各ユーザーにそれぞれ複数のレンダリング手段を配分して当該ユーザーによるゲーム画面をレンダリングし、一つのレンダリング手段がレンダリング一つのフレームのゲーム画面に対応しており、レンダリングを経た一つのフレームのゲーム画面を出力装置のスワップチェーンに対応的に出力し、出力装置が各出力装置のスワップチェーンからレンダリングを経た一つのフレームのゲーム画面を取得し、レンダリングタスクを分ける時に記録されるユーザーの識別子、フレームの画面のタイムスタンプ及びレンダリングの操作を実行する論理デバイスの識別子に基づいて、それぞれ、各ユーザーがレンダリングした複数のフレームのゲーム画面をビデオストリームに整合して出力する。
【0044】
もう一つのレンダリングの実施形態は、レンダリングタスクが複数のユーザーによるゲーム画面であり、レンダリングタスクを複数のレンダリング部分に分け、レンダリング部分が一つのユーザーによる一つのフレームのゲーム画面の一部であり、レンダリング部分により複数の目標物理ビデオカードを特定し、複数の論理デバイスを対応的に作成し、各論理デバイスが一つのレンダリング手段及び一つの出力装置のスワップチェーンに対応しており、レンダリング手段が現在のユーザーによる一つのフレームのゲーム画面の一部を対応的にレンダリングし、レンダリングを経た現在のユーザーによる一つのフレームのゲーム画面の一部を出力装置のスワップチェーンに対応的に出力し、出力装置が出力装置のスワップチェーンからレンダリングを経た現在のユーザーによる一つのフレームのゲーム画面の一部を取得し、レンダリングタスクを分ける時に記録されるユーザーの識別子、各レンダリング部分の識別子及びレンダリングの操作を実行する論理デバイスの識別子に基づいて、取得される現在のユーザーによる一つのフレームのゲーム画面の複数のゲームサブ画面を一つの完全な一つのフレームのゲーム画面に合弁して出力する。
【0045】
一つのゲームプロセスには、一つ以上となるユーザーにより、レンダリングプログラムを実行すると、ゲームプロセスがクラウドのサーバーに実行されており、クラウドのサーバーにおける物理ホストに複数の物理ビデオカードが存在しており、複数の物理ビデオカードがビデオカードドライバープログラムによりマネジメントされており、ゲームプロセスは、ビデオカードドライバープログラム及び図形APIにより、物理ビデオカードを識別すると共に、図形APIにより各物理装置を複数の論理デバイスとして抽象化し、各論理デバイスにより一つのレンダリング手段を対応的に作成し、各レンダリング手段は、相対的に独立するビデオカードリソースを有し、各レンダリング手段がレンダリングの結果を出力して表示するための一つの出力装置に対応する。
【0046】
具体的な作業のフロチャートは、
(1)ゲームプロセスが始まり、ゲームプロセスを初期化にし、VulkanAPIを初期化にし、物理ホストにおけるあらゆる物理ビデオカードを識別して記録すること、
(2)共通のリソースマネージャを初期化すること、
(3)受信したレンダリングタスク(例えば、ユーザーがアクセスする)に基づいて、レンダリング部分を作成し、レンダリング部分に論理デバイスを作成し、レンダリング部分に配分される論理デバイスにレンダリングリソースマネージャ、レンダリング手段、出力装置のスワップチェーンを作成すること、
(4)レンダリング手段によりレンダリングタスクを実行すること、
(5)レンダリングが完了(例えば、ユーザーが退出する)し、レンダリング部分を廃棄し、配分された論理デバイスを廃棄すること、
(6)プロセスが終わり、共通のレンダリングリソースマネージャを廃棄し、Vulkanのオブジェクトを廃棄すること、を含む。
【0047】
本発明に係る方法は、複数のビデオカードを呼び出す能力を有する図形APIライブラリにパッケージングされてもよい。開発者は、提供されるAPIを用いて、一つのプロセスに一つ又は複数のビデオカードにより図形のレンダリングを行うことができる。一つのプロセスは、複数のビデオカードを用いて同時に作動することが可能であり、たとえ一つのプロセスをしか有さない場合でも、複数のビデオカードリソースを十分に利用可能であり、一つのビデオカードによりレンダリングを円滑にできない複雑の場面に、複数のビデオカードによるレンダリング能力により、一層に高いフレームレートを取得することが可能であり、しかも、ビデオカードにおける残りの計算能力を利用して、無駄を抑制することが可能である。
【0048】
本発明の実施例に係る複数のビデオカードに基づくゲーム画面のレンダリングシステムは、図4に示すように、識別手段、タスク分け手段、ビデオカード配分手段、レンダリング手段及び出力手段を含む。識別手段は、物理ホストにおけるMが1よりも大きい整数であるM個の物理ビデオカードを識別するためのものである。タスク分け手段は、レンダリングタスクを特定して少なくとも一つのレンダリング部分に分けるためのである。ビデオカード配分手段は、前記少なくとも一つのレンダリング部分に基づいて、目標物理ビデオカードを特定し、ただし、前記目標物理ビデオカードが前記M個の物理ビデオカードにおける一つ以上である。レンダリング手段は、前記目標物理ビデオカードにより、前記少なくとも一つのレンダリング部分をレンダリングするためのものである。出力手段は、レンダリング結果を出力するためのものである。
【0049】
つまり、当業者にとって理解するべきことは、上記した実施例の方法における全て又は一部のステップを実現することが、関連するハードウェアをプログラムにより命令して完了するものであり、当該プログラムは、記憶媒体に記憶されており、一つの装置(マイクロコントローラ、チップなどであってもよい)又はプロセッサー(processor)により本願の各実施例における前記方法の全て又は一部のステップを実行するための複数の命令を含む。上記した記憶媒体は、USBフラッシュドライブ、携帯型ハードディスク、読み出し専用のメモリ(ROM、Read-Only Memory)、ランダムアクセスメモリ(RAM、Random Access Memory)、フロッピーディスク又は光ディスクなどの様々なプログラムコードを記憶できる媒体を含む。
【0050】
ここで提供する明細書には、数多くの詳細を説明した。しかしながら、理解するべきことは、ここで開示している実施例が、これらの詳細が無いでも実施され得る。幾つかの実施例では、公知の方法、構成及び技術を詳しく提示しないことが、本明細書への理解を明確にするためである。
【0051】
また、当業者にとって理解するべきことは、上記の幾つかの実施例に、他の実施例に含まれるある特徴を含み、他の特徴を含まないが、異なる実施例における特徴の組み合わせが本発明の範囲に含まれると共に異なる実施例を形成するということを意味している。例えば、特許請求の範囲には、保護を要求しようとする実施例のいずれか一つが任意の組み合わせの形態により使用されてもよい。
【0052】
以上の説明は、本発明における好ましい実施例に過ぎず、本発明を限定するものではない。当業者にとっては、本発明について様々な補正や変形が可能である。本発明の趣旨や原則を逸脱しない限り、如何なる補正、均等置換や改良などは、いずれも、本発明の保護範囲に含まれる。
図1
図2
図3
図4