(57)【特許請求の範囲】
【請求項１】
アプリケーションプログラムが実行された際、このアプリケーションプログラムにおいて実行される描画処理を全て抽出する抽出手段と、
前記抽出手段により抽出された描画処理について、描画処理の種類ごとに処理量を算出して、処理量の最も多い描画処理の種類を判定する判定手段と、
前記判定手段により判定された処理量の最も多い描画処理の種類に基づいてＧＰＵを選出して、このＧＰＵに描画処理を行わせる描画制御手段と、
を備えたことを特徴とする情報処理装置。
【請求項２】
アプリケーションプログラムが実行された際、この実行されたアプリケーションプログラムに対して前記描画制御手段により選出されたＧＰＵを対応付けて記憶する記憶手段を備えたことを特徴とする請求項１記載の情報処理装置。
【請求項３】
前記描画処理の種類に、３次元グラフィック処理または動画処理が含まれることを特徴とする請求項１記載の情報処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、特性の異なる複数のＧＰＵを備えた情報処理装置に係り、特に、描画処理の際に、描画処理の種類に基づいてＧＰＵを変更する情報処理装置に関する。
【背景技術】
【０００２】
近年、ＰＣ（Ｐｅｒｓｏｎａｌ  Ｃｏｍｐｕｔｅｒ）等の情報処理装置において高画質な動画が再生されたり複雑な３Ｄ画面が描画される３Ｄゲームが実行されたりするようになったのに伴い、ＧＰＵを２つ以上搭載するデュアルＧＰＵにより描画能力を向上させた情報処理装置が提案されてきた。
【０００３】
例えば特許文献１には、グラフィックチップの開発に柔軟性を有する描画処理方法が記載されている。この描画処理方法は、主に互換性を取るために、新・旧で違うアーキテクチャを持ったＧＰＵを両方とも搭載し、協調動作させるものである。この描画処理方法は具体的には、第１のＧＰＵが、データ入出力インタフェースを介して第２のＧＰＵから供給されたデータに対して所定の描画処理を施し、描画処理後のデータをデータ入出力インタフェースを介して第２のＧＰＵに戻す。そして、第２のＧＰＵが、必要に応じて第１のＧＰＵから介されたデータを処理し、デジタルビデオ信号を外部出力する方法である。
【特許文献１】特開２００４−９６２８０号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
同程度の機能をもったＧＰＵを複数搭載した情報処理装置は、通常、画面を複数の領域に分割して、それらの領域ごとに描画処理を各々のＧＰＵに割り振ることにより描画処理を行っている。一方で、情報処理装置で実行されるアプリケーションプログラムは多種多様に開発されており、３Ｄ演算や動画処理などの様々な描画処理を行うため、実行される描画処理の種類に関わらずに高速な描画処理を行うことが求められている。
【０００５】
本発明は、上記課題を鑑みなされたもので、ＧＰＵを複数搭載するとともに、描画処理の種類に関わらずに高パフォーマンスかつ高画質な描画を行うことができる情報処理装置を提供することを目的とする。
【課題を解決するための手段】
【０００６】
上記課題を解決するために、本発明に係る情報処理装置は、アプリケーションプログラムが実行された際、このアプリケーションプログラムにおいて実行される描画処理を全て抽出する抽出手段と、前記抽出手段により抽出された描画処理について、描画処理の種類ごとに処理量を算出して、処理量の最も多い描画処理の種類を判定する判定手段と、前記判定手段により判定された処理量の最も多い描画処理の種類に基づいてＧＰＵを選出して、このＧＰＵに描画処理を行わせる描画制御手段と、を備えたことを特徴とする。
【発明の効果】
【０００７】
本発明に係る情報処理装置によると、特性の異なるＧＰＵを複数搭載して、描画処理の種類に基づいて、描画処理を行うＧＰＵを選出することにより、描画処理の種類に関わらずに高パフォーマンスかつ高画質な描画を行うことが可能となる。
【発明を実施するための最良の形態】
【０００８】
〔第１実施形態〕
本発明に係る情報処理装置の第１実施形態について、添付図面に基づいて説明する。図１は、第１実施形態の情報処理装置１の斜視図である。情報処理装置１は、一般的に用いられているノート型のＰＣ（Ｐｅｒｓｏｎａｌ  Ｃｏｍｐｕｔｅｒ）等であり、図１に示すように、ユーザが指示を入力するためのキーボード２、文字が図形等を含んだ画面を表示するための液晶ディスプレイ３、音声を出力するためのスピーカ４を外部に露出するように内蔵している。
【０００９】
図２は、情報処理装置１のブロック図である。情報処理装置１は、図２に示すように、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）１１、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）１２、ＨＤ（Ｈａｒｄ  Ｄｉｓｋ）ドライブ１３、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）ドライブ１４、第１のＧＰＵ１５、第２のＧＰＵ１６、及び音声コーデック１７を備えていて、これらはチップセット１９により相互に接続されている。
【００１０】
ＣＰＵ１１は、情報処理装置１を総括的に制御し、後述する描画制御処理やその他の様々な演算処理や制御処理を行う。またＣＰＵ１１は、キーボード２や外部接続されたマウス等の入力装置に対する入力インタフェースを備え、これらの入力装置を介して入力された信号に基づいて様々な処理を行う。ＲＡＭ１２は、ＣＰＵ１１が処理を行う際の作業領域として、処理に必要なデータを一時的に記憶する。ＨＤドライブ１３は、ＣＰＵ１１が処理を行うための処理プログラムや処理に必要なデータが記憶されたＨＤ（Ｈａｒｄ  Ｄｉｓｋ）に対して読み書きを行うための駆動装置である。ＲＯＭドライブ１４は、映像データ等が記憶されたＤＶＤ（Ｄｉｇｉｔａｌ  Ｖｅｒｓａｔｉｌｅ  Ｄｉｓｋ）等の記録媒体に対して読み書きを行うための駆動装置である。
【００１１】
第１のＧＰＵ１５は、液晶ディスプレイ３に文書データや画像データを表示するための表示インタフェースや、液晶ディスプレイ３に表示される文字や図形データを一時的に蓄えたり２次元グラフィックス（２Ｄ）や３次元グラフィックス（３Ｄ）の処理、動画処理に使用されたりするビデオＲＡＭ１５ａを備えていて、ＣＰＵ１１の制御に基づいて、第１のビデオＲＡＭ１５ａにロードされたフレームデータを液晶ディスプレイ３に出力する描画処理を行う。
【００１２】
第２のＧＰＵ１６は、第１のＧＰＵ１５と同様に、液晶ディスプレイ３に文書データや画像データを表示するための表示インタフェースや第２のビデオＲＡＭ１６ａを備えていて、ＣＰＵ１１の制御に基づいて、第２のビデオＲＡＭ１６ａにロードされたフレームデータを液晶ディスプレイ３に出力する描画処理を行う。
【００１３】
なお、第１のＧＰＵ１５及び第２のＧＰＵ１６はそれぞれ特性が異なり、ここでは、第１のＧＰＵ１５は２Ｄ処理や３Ｄ処理に優れていて、２Ｄ処理や３Ｄ処理を高速で行うことができ、一方、第２のＧＰＵ１６は動画処理に優れていて、動画処理を高速、高画質で行うことができるものとする。
【００１４】
音声コーデック１７は、情報処理装置１に内蔵されたスピーカ４に音声を出力するための出力インタフェースを備え、ＣＰＵ１１の制御に基づいて、音声のデジタル信号をアナログ信号に変換して、スピーカ４から音声として出力する。
【００１５】
チップセット１９は、メモリコントローラ、バスブリッジ、ＩＤＥ（Ｉｎｔｅｇｒａｔｅｄ  Ｄｒｉｖｅ  Ｅｌｅｃｔｒｏｎｉｃｓ）コントローラ、各種Ｉ／Ｏコントローラ等を備えた集積回路である。
【００１６】
図３に示すように、情報処理装置１は、２Ｄ処理や３Ｄ処理に優れている第１のＧＰＵ１５と、動画処理に優れている第２のＧＰＵ１６を備えている。そして、情報処理装置１において、３Ｄ処理を多く含んでいる「３Ｄゲーム」のアプリケーションプログラムを実行する場合、３Ｄ処理に優れている第１のＧＰＵ１５にて描画処理を行う。また情報処理装置１は、動画処理を多く含んでいる「ＴＶ表示」のアプリケーションプログラムを実行する場合、動画処理に優れている第２のＧＰＵ１６にて描画処理を行う。
【００１７】
情報処理装置１のＨＤドライブ１３は、実行されるアプリケーションプログラムと、このアプリケーションプログラムの処理に適したＧＰＵとを対応付けるための対応表情報３０を記憶している。対応表情報３０は、図４に示すように、アプリケーションプログラムを示すアプリケーション情報３１と、情報処理装置１が備えている複数のＧＰＵのうちのいずれかのＧＰＵを示すＧＰＵ情報３２とが対応付けられている情報である。情報処理装置１は、アプリケーションプログラムを起動する際に、アプリケーションプログラム情報３１に対応付けられたＧＰＵ情報３２に基づいて、使用するＧＰＵを決定する。
【００１８】
例えば、図４に示す対応表情報３０によると、「ＴＶ表示」のアプリケーションプログラムに第２のＧＰＵ１６が、「３Ｄゲーム」のアプリケーションプログラムに第１のＧＰＵ１５が、「ＤＶＤ再生」のアプリケーションプログラムに第２のＧＰＵが、「地図表示」のアプリケーションプログラムに第１のＧＰＵが、それぞれ対応付けられている。よって、情報処理装置１において例えば「ＴＶ表示」のアプリケーションプログラムが起動された場合、第２のＧＰＵ１５を用いて、液晶ディスプレイ２に対する描画処理を行う。
【００１９】
この対応表情報３０は、ユーザによって予め設定されてＨＤドライブ１３に記憶されているものとする。また、切替情報３０は、ユーザによって入力装置２１を介して任意に書き換えてＨＤドライブ１３に記憶しなおすことができるものとする。さらに、情報処理装置１においてアプリケーションプログラムが実行された際に、このアプリケーションプログラムの実行に最も適したＧＰＵが選択され、この時に選択されたＧＰＵをアプリケーションプログラムに対応付けて対応表情報３０に追加するようにしても良い。
【００２０】
本発明に係る情報処理装置１の第1の実施形態について、図５に基づいて説明する。情報処理装置１は、例えばユーザによりキーボード２等の入力装置を介して、アプリケーションプログラムが起動された際に、このアプリケーションプログラムに最も適したＧＰＵを選出して、この選出されたＧＰＵを使用して液晶ディスプレイ３に描画する描画制御処理を行う。情報処理装置１がこの描画制御処理を行う際の手順について、図５に示すフローチャートに基づいて説明する。以下、例えば「ステップＳ１０１」を「Ｓ１０１」のように「ステップ」の語句を省略して説明する。
【００２１】
まずＣＰＵ１１は、アプリケーションプログラムが起動されたか否かを判断する（Ｓ１０１）。アプリケーションプログラムが起動されていない場合（Ｓ１０１のＮｏ）は、ＣＰＵ１１はそのまま待機する。アプリケーションプログラムが起動された場合（Ｓ１０１のＹｅｓ）は、ＣＰＵ１１は、ＨＤドライブ１３から対応表情報３０を取得する（Ｓ１０３）。
【００２２】
ＣＰＵ１１は、ステップＳ１０１にて起動されたアプリケーションプログラムが対応表情報３０のアプリケーション情報３１に含まれているか否かを判断する（Ｓ１０５）。起動されたアプリケーションプログラムが対応表情報３０に含まれていた場合（Ｓ１０５のＹｅｓ）は、ＣＰＵ１１は、対応表情報３０において、ステップＳ１０１にて起動されたアプリケーションプログラムに対応付けられているＧＰＵ情報３２を取得する（Ｓ１０７）。そしてＣＰＵ１１は、ステップＳ１０７にて取得したＧＰＵ情報３２が示すＧＰＵを使用して、アプリケーションプログラムに含まれる描画処理を実行する（Ｓ１０９）。これにより、情報処理装置１にてアプリケーションプログラムが実行される際に、このアプリケーションプログラムに最も適したＧＰＵが使用されて描画処理が行われる。
【００２３】
例えば、ステップＳ１０１にて「ＴＶ表示」のアプリケーションプログラムが起動された場合は、ステップＳ１０７にて対応表情報３０から「第２のＧＰＵ」を示すＧＰＵ情報３２が取得され、ステップＳ１０９にて第２のＧＰＵ１６を使用して描画処理が行われる。また、ステップＳ１０１にて「３Ｄゲーム」のアプリケーションプログラムが起動された場合は、ステップＳ１０７にて対応表情報３０から「第１のＧＰＵ」を示すＧＰＵ情報３２が取得され、ステップＳ１０９にて第１のＧＰＵ１５を使用して描画処理が行われる。
【００２４】
起動されたアプリケーションプログラムが対応表情報３０に含まれていなかった場合（Ｓ１０５のＮｏ）は、ＣＰＵ１１は、デフォルトのＧＰＵを使用して、アプリケーションプログラムに含まれる描画処理を実行する（Ｓ１１１）。なお、第１のＧＰＵ１５あるいは第２のＧＰＵ１６のいずれかがデフォルトのＧＰＵとして設定されてＨＤドライブ１３に記憶されていて、実行するアプリケーションプログラムに最も適しているＧＰＵが不明な場合に、このデフォルトのＧＰＵが使用される。
【００２５】
ＣＰＵ１１は、ステップＳ１０１にて起動されたアプリケーションプログラムにより、２Ｄ処理、３Ｄ処理、または動画処理を使用する描画処理が実行されたか否かを判断する（Ｓ１１３）。２Ｄ処理、３Ｄ処理、または動画処理を使用する描画処理が実行されなかった場合（Ｓ１１３のＮｏ）は、ＣＰＵ１１は、ステップＳ１１１にて使用しているデフォルトのＧＰＵを継続して使用する。
【００２６】
２Ｄ処理、３Ｄ処理、または動画処理を使用する描画処理の実行が指示された場合（Ｓ１１３のＹｅｓ）は、ＣＰＵ１１は、実行が指示された処理に最も適したＧＰＵを使用して描画処理を実行する（Ｓ１１５）。例えば、ＣＰＵ１１は、３Ｄ処理の実行が指示された場合は、３Ｄ処理に優れた第１のＧＰＵ１５を使用して描画処理を実行し、動画処理の実行が指示された場合は、動画処理に優れた第２のＧＰＵ１６を使用して描画処理を実行する。これにより、情報処理装置１にて描画処理が行われる際に、この描画処理の種類に最も適したＧＰＵが使用されて描画処理が行われる。
【００２７】
そしてＣＰＵ１１は、ステップＳ１０１にて起動されたアプリケーションプログラムとステップＳ１１５にて使用されたＧＰＵとをそれぞれ対応付けて、対応表情報３０としてＨＤドライブ１３に記憶する（Ｓ１１９）。これにより、ＣＰＵ１１は、次回にこのアプリケーションプログラムを起動した際に、対応表情報３０に基づいて、使用するＧＰＵを選出することができる。
【００２８】
このようにして情報処理装置１は、特性の異なる複数のＧＰＵを装備するとともに、アプリケーションプログラムを起動する際、対応表情報３０によりアプリケーションプログラムに最も適したＧＰＵが対応付けられていた場合は、このＧＰＵを使用して描画処理を行い、そうでない場合は、２Ｄ処理が要求されたら２Ｄ処理に優れたＧＰＵを使用し、３Ｄ処理が要求されたら３Ｄ処理に優れたＧＰＵを使用し、動画処理が要求されたら動画処理に優れたＧＰＵを使用して描画処理を行う。これにより、複数種類のＧＰＵを搭載した情報処理装置において、３Ｄ処理や動画処理等の多くの描画処理を必要とするアプリケーションプログラムを実行する際に、各々の描画処理を得意とするＧＰＵに描画処理を行わせることで、描画処理の動作速度を向上させることができる。
【００２９】
なお、アプリケーションプログラムが予めＧＰＵに関する情報を含んでいて、ＣＰＵ１１が、この情報に基づいてＧＰＵを選出して、このＧＰＵに描画処理を行わせるようにしても良い。この際、ステップＳ１１１にてデフォルトのＣＰＵを使用する代わりに、アプリケーションプログラムからＧＰＵに関する情報を取得して、このＧＰＵを使用するようにすると良い。
【００３０】
第１実施形態の情報処理装置１によると、特性の異なるＧＰＵを複数搭載して、２Ｄ処理、３Ｄ処理、動画処理等の描画処理の種類に基づいて、描画処理を行うＧＰＵを選出することにより、描画処理の種類に関わらずに高パフォーマンスかつ高画質な描画を行うことが可能となる。
【００３１】
〔第２実施形態〕
次に、本発明に係る情報処理装置の第２実施形態について、図６乃至図８に基づいて説明する。第２実施形態の情報処理装置１は、例えばユーザがキーボード２等の入力装置を介して、アプリケーションプログラムを起動した際に、このアプリケーションプログラムを解析することにより、このアプリケーションプログラムに最も適したＧＰＵを選出して、この選出されたＧＰＵを使用して液晶ディスプレイ３に描画する描画制御処理を行う。
【００３２】
第２実施形態の情報処理装置１は、第１実施形態の情報処理装置１と同一の構成・機能を備えている。すなわち、情報処理装置１は、一般的に用いられているノート型のＰＣ等であり、図１に示すように、ユーザが指示を入力するためのキーボード２、文字が図形等を含んだ画面を表示するための液晶ディスプレイ３、音声を出力するためのスピーカ４を外部に露出するように内蔵している。
【００３３】
また、第２実施形態の情報処理装置１は、第１実施形態の情報処理装置１と同様に、図２に示すように、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）１１、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）１２、ＨＤ（Ｈａｒｄ  Ｄｉｓｋ）ドライブ１３、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）ドライブ１４、第１のＧＰＵ１５、第２のＧＰＵ１６、及び音声コーデック１７を備えていて、これらはチップセット１９により相互に接続されている。
【００３４】
情報処理装置１のＨＤドライブ１３は、アプリケーションプログラムを解析するための重み付け情報４０を記憶している。重み付け情報４０は、図７に示すように、描画処理を示す描画処理情報４１に対して、２Ｄ処理に対する重み付けを示す２Ｄ係数情報４２と、３Ｄ処理に対する重み付けを示す３Ｄ係数情報４３と、動画処理に対する重み付けを示す動画係数情報４４とがそれぞれ対応付けられた情報である。
【００３５】
描画処理とは例えば「丸を描く」、「四角を描く」等の処理であり、これらの描画処理は、「２Ｄ処理を多く行う」、「３Ｄ処理を多く行う」、「３Ｄ処理及び動画処理を多く行う」等の様々な特徴を有している。重み付け情報４０は、このような各々の描画処理の特徴を示す情報である。
【００３６】
例えば図７によると、処理Ａに対して２Ｄ係数「０」、３Ｄ係数「３．０」、動画係数「２．０」がそれぞれ対応付けられていて、処理Ｂに対して２Ｄ係数「２．０」、３Ｄ係数「０」、動画係数「３．０」がそれぞれ対応付けられているとともに、処理Ｃに対して２Ｄ係数「０」、３Ｄ係数「２．０」、動画係数「０」がそれぞれ対応付けられている。これは、処理Ａを実行した場合に、３Ｄ処理の比重が最も重く、次に動画処理の比重が重いことを意味する。
【００３７】
情報処理装置１は、この重み付け情報４０を用いて、アプリケーションプログラムにより実行される処理内容に基づいてＧＰＵを選出して、このＧＰＵを使用して描画処理を行う。情報処理装置１がこの描画制御処理を行う際の手順について、図６に示すフローチャートに基づいて説明する。
【００３８】
まずＣＰＵ１１は、アプリケーションプログラムが起動されたか否かを判断する（Ｓ２０１）。アプリケーションプログラムが起動されていない場合（Ｓ２０１のＮｏ）は、ＣＰＵ１１はそのまま待機する。アプリケーションプログラムが起動された場合（Ｓ２０１のＹｅｓ）は、ＣＰＵ１１は、ＨＤドライブ１３から対応表情報３０を取得する（Ｓ２０３）。
【００３９】
ＣＰＵ１１は、ステップＳ２０１にて起動されたアプリケーションプログラムが対応表情報３０のアプリケーション情報３１に含まれているか否かを判断する（Ｓ２０５）。起動されたアプリケーションプログラムが対応表情報３０に含まれていた場合（Ｓ２０５のＹｅｓ）は、ＣＰＵ１１は、対応表情報３０において、起動されたアプリケーションプログラムに対応付けられているＧＰＵ情報３２を取得する（Ｓ２０７）。そしてＣＰＵ１１は、ステップＳ２０７にて取得したＧＰＵ情報３２が示すＧＰＵを使用して、アプリケーションプログラムに含まれる描画処理を実行する（Ｓ２０９）。これにより、情報処理装置１にてアプリケーションプログラムが実行される際に、このアプリケーションプログラムに最も適したＧＰＵが使用されて描画処理が行われる。
【００４０】
起動されたアプリケーションプログラムが対応表情報３０に含まれていなかった場合（Ｓ２０５のＮｏ）は、ＣＰＵ１１は、起動されたアプリケーションプログラムにより呼び出される各々の関数を取得する（Ｓ２１１）。すなわち、アプリケーションプログラムにおいて、図８に示すように、処理Ａや処理Ｂ、処理Ｃ等の様々な処理を含んだ複数の関数が羅列されていて、ＣＰＵ１１は、これらの関数を取得する。
【００４１】
ＣＰＵ１１は、ステップＳ２１１にて取得した各々の関数により実行される処理を取得する（Ｓ２１３）。例えば図８によると、関数１は処理Ａを含んでいて、関数２は処理Ｂを含んでいて、関数３は処理Ａ及び処理Ｃを含んでいる。これは、アプリケーションプログラムにより関数１が呼び出されたときに処理Ａが実行され、関数２が呼び出されたときに処理Ｂが実行され、また、関数３が呼び出されたときに処理Ａ及び処理Ｃが実行されることを意味する。
【００４２】
ＣＰＵ１１は、ステップＳ２１３にて取得した各処理について、２Ｄ処理、３Ｄ処理、及び動画処理に対してそれぞれ重み付けをして各々の処理量を積算する（Ｓ２１５）。すなわちＣＰＵ１１は、重み付け情報４０からステップＳ１１３にて取得した各処理について、２Ｄ係数情報４２、３Ｄ係数情報４３、動画係数情報４４を取得する。そしてＣＰＵ１１は、これらの各処理の処理量に対して、２Ｄ係数情報４２、３Ｄ係数情報４３、動画係数情報４４を用いて重み付けをして、２Ｄ処理の処理量、３Ｄ処理の処理量、動画処理の処理量をそれぞれ算出する。
【００４３】
例えば、アプリケーションプログラムにおいて処理Ａが１回、処理Ｂが２回、処理Ｃが３回実行される場合は、２Ｄ処理の処理量は、処理Ａの２Ｄ係数×１回＋処理Ｂの２Ｄ係数×２回＋処理Ｃの２Ｄ係数×３回＝０×１＋２．０×２＋０×３＝４となる。またこの場合の３Ｄ処理の処理量は、処理Ａの３Ｄ係数×１回＋処理Ｂの３Ｄ係数×２回＋処理Ｃの３Ｄ係数×３回＝３．０×１＋０×２＋２．０×３＝９となる。またこの場合の動画処理の処理量は、処理Ａの動画係数×１回＋処理Ｂの動画係数×２回＋処理Ｃの動画係数×３回＝２．０×１＋３．０×２＋０×３＝８となる。よって、処理Ａが１回、処理Ｂが２回、処理Ｃが３回実行される場合は、３Ｄ処理の処理量が最も多いことになる。
【００４４】
ＣＰＵ１１は、ステップＳ２１５にて積算された２Ｄ処理の処理量、３Ｄ処理の処理量、動画処理の処理量のうち、２Ｄ処理の処理量が最も多いか否かを判断する（Ｓ２１７）。２Ｄ処理の処理量が最も多い場合（Ｓ２１７のＹｅｓ）は、ＣＰＵ１１は、２Ｄ処理に優れた第１のＧＰＵ１５を使用して描画処理を行う（Ｓ２１９）。
【００４５】
またＣＰＵ１１は、ステップＳ２１７にて積算された２Ｄ処理の処理量、３Ｄ処理の処理量、動画処理の処理量のうち、３Ｄ処理の処理量が最も多いか否かを判断する（Ｓ２２１）。３Ｄ処理の処理量が最も多い場合（Ｓ２２１のＹｅｓ）は、ＣＰＵ１１は、３Ｄ処理に優れた第１のＧＰＵ１５を使用して描画処理を行う（Ｓ２２３）。
【００４６】
２Ｄ処理の処理量、３Ｄ処理の処理量のいずれも最も多くない場合、すなわち動画処理の処理量が最も多い場合（Ｓ２２１のＮｏ）は、ＣＰＵ１１は、動画処理に優れた第２のＧＰＵ１６を使用して描画処理を行う（Ｓ２２５）。
【００４７】
そしてＣＰＵ１１は、ステップＳ２０１にて起動されたアプリケーションプログラムとステップＳ２１９、Ｓ２２１またはＳ２２３にて使用されたＧＰＵとをそれぞれ対応付けて、対応表情報３０としてＨＤドライブ１３に記憶する（Ｓ２２７）。これにより、ＣＰＵ１１は、次回にこのアプリケーションプログラムを起動した際に、対応表情報３０に基づいて、使用するＧＰＵを選出することができる。
【００４８】
このようにして情報処理装置１は、特性の異なる複数のＧＰＵを装備するとともに、アプリケーションプログラムを起動する際、対応表情報３０によりアプリケーションプログラムに最も適したＧＰＵが対応付けられていた場合は、このＧＰＵを使用して描画処理を行い、そうでない場合は、アプリケーションプログラムにより実行される２Ｄ処理、３Ｄ処理、動画処理のそれぞれの処理量を算出して、最も処理量の多い処理に優れたＧＰＵを使用して描画処理を行う。
【００４９】
第２実施形態の情報処理装置１によると、特性の異なるＧＰＵを複数搭載するとともに、アプリケーションプログラムを解析して最も処理量の多い描画処理の種類を求めて、この描画処理の種類に基づいて描画処理を行うＧＰＵを選出することにより、描画処理の種類に関わらずに高パフォーマンスかつ高画質な描画を行うことが可能となる。
【００５０】
なお、第１実施形態及び第２実施形態として、情報処理装置１が２Ｄ処理や３Ｄ処理に優れた第１のＧＰＵと、動画処理に優れた第２のＧＰＵを備えている例に着いて説明したが、これに限定されず、情報処理装置１が３つ以上の特性の異なるＧＰＵを備えていても良い。
【００５１】
また、情報処理装置１の構成として、チップセット１９にＣＰＵ１１、第１のＧＰＵ１５、第２のＧＰＵ１６がそれぞれ接続されている構成について説明したが、図９に示すように、情報処理装置１Ａが、チップセット１９に第１のＧＰＵを具備したＣＰＵ１１Ａ、第２のＧＰＵ１６がそれぞれ装備されるように構成されていても良い。
【００５２】
本発明に係る情報処理装置１として、装置内部に発明を実施する機能が予め記録されている場合で説明をしたが、これに限らず、同様の機能をネットワークから装置にダウンロードしても良いし、同様の機能を記録媒体に記憶させたものを装置にインストールしてもよい。記録媒体としては、ＣＤ−ＲＯＭ等プログラムを記憶でき、かつ装置が読み取り可能な記録媒体であれば、その形態は何れの形態であっても構わない。
【図面の簡単な説明】
【００５３】
【図１】本発明に係る情報処理装置を示す斜視図。
【図２】本発明に係る情報処理装置を示すブロック図。
【図３】本発明に係る情報処理装置における描画制御処理を説明するための図。
【図４】対応表情報の一例を示すデータ構成図。
【図５】本発明に係る情報処理装置が描画制御処理を行う際の手順を示すフローチャート。
【図６】本発明に係る情報処理装置が描画制御処理を行う際の手順を示すフローチャート。
【図７】重み付け情報の一例を示すデータ構成図。
【図８】アプリケーションプログラムの構成の一例を示す図。
【図９】本発明に係る情報処理装置の別形態を示すブロック図。
【符号の説明】
【００５４】
１、１Ａ…情報処理装置，２…キーボード，３…液晶ディスプレイ，４…スピーカ，１１…ＣＰＵ，１１Ａ…ＣＰＵ＋第１のＧＰＵ，１２…ＲＡＭ，１３…ＨＤドライブ，１４…ＲＯＭドライブ，１５…第１のＧＰＵ，１５ａ…第１のビデオＲＡＭ，１６…第２のＧＰＵ，１６ａ…第２のビデオＲＡＭ，１７…音声コーデック，１９…チップセット，３０…対応表情報，４０…重み付け情報。
【図１】
0004302166.tif 000002
【図２】
0004302166.tif 000003
【図３】
0004302166.tif 000004
【図４】
0004302166.tif 000005
【図５】
0004302166.tif 000006
【図６】
0004302166.tif 000007
【図７】
0004302166.tif 000008
【図８】
0004302166.tif 000009
【図９】
0004302166.tif 000010