(57)【要約】  演算プロセッサ１は、キューメモリ２１を制御するキュー手段１０２と、描画コマンドから抽出可能な検索キーに対応した描画負荷情報を保持する負荷データベース１０３と、キューメモリ２１に蓄積された描画コマンドに基づいて負荷データベース１０３から描画負荷情報を検索し、当該描画コマンドの描画処理時間を算出する負荷判定手段１０４と、キューメモリ２１に蓄積された描画コマンドに付加された優先度および負荷判定手段１０４により算出された描画コマンドの描画処理時間に基づいて、当該描画コマンドの処理順序の入れ替えおよび／または当該描画コマンドの細分化をキュー手段１０２に指示する描画スケジューラ手段１０５とを備えた。
2013102956.tif 000002
【特許請求の範囲】
【請求項１】
優先度が付加された描画コマンドを発行する描画プログラムを有する演算プロセッサと、前記描画プログラムにより発行された描画コマンドを蓄積するキューメモリとを備えた描画制御装置であって、
前記演算プロセッサは、
前記キューメモリを制御するキュー手段と、
描画コマンドから抽出可能な検索キーに対応した描画負荷情報を保持する負荷データベースと、
前記キューメモリに蓄積された描画コマンドに基づいて前記負荷データベースから描画負荷情報を検索して、当該描画コマンドの描画処理時間を算出する負荷判定手段と、
前記キューメモリに蓄積された描画コマンドに付加された優先度および前記負荷判定手段により算出された描画コマンドの描画処理時間に基づいて、当該描画コマンドの処理順序の入れ替えおよび／または当該描画コマンドの細分化を前記キュー手段に指示する描画スケジューラ手段と
を備えた描画制御装置。
【請求項２】
前記演算プロセッサは、前記描画プログラム、前記キュー手段、前記負荷データベース、前記負荷判定手段および前記描画スケジューラ手段を有する第１のプロセッサコアと、前記描画プログラムを有する第２のプロセッサコアとからなるマルチコア構成である
ことを特徴とする請求項１記載の描画制御装置。
【請求項３】
前記各プロセッサコア上は、各々異なるＯＳが動作する
ことを特徴とする請求項２記載の描画制御装置。
【請求項４】
前記描画プログラムを有する第２の演算プロセッサと、
前記キューメモリに代えて、前記各演算プロセッサの描画プログラムにより発行された描画コマンドを蓄積する共有メモリとを備え、
前記負荷判定手段は、前記共有メモリに蓄積された描画コマンドに基づいて前記負荷データベースから描画負荷情報を検索して、当該描画コマンドの描画処理時間を算出し、
前記描画スケジューラ手段は、前記共有メモリに蓄積された描画コマンドに付加された優先度および前記負荷判定手段により算出された描画コマンドの描画処理時間に基づいて、当該描画コマンドの処理順序の入れ替えおよび／または当該描画コマンドの細分化を前記キュー手段に指示する
ことを特徴とする請求項１記載の描画制御装置。
【請求項５】
前記検索キーには描画面積および頂点数が含まれる
ことを特徴とする請求項１記載の描画制御装置。
【請求項６】
前記検索キーには描画品質が含まれる
ことを特徴とする請求項５記載の描画制御装置。
【請求項７】
前記描画プログラムは標準ＡＰＩを呼び出し、
前記描画プログラムによる描画コマンドの発行に代えて、前記描画プログラムにより呼び出された標準ＡＰＩを読み込み、当該標準ＡＰＩを用いて優先度が付加された描画コマンドを発行して前記キューメモリに蓄積させるＡＰＩ処理手段を備えた
ことを特徴とする請求項１記載の描画制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、図形や文字などを描画する描画処理において、複数のアプリケーションの優先度に応じた描画や、複数のアプリケーションをバランスよく滑らかに動作させる機能を有する描画制御装置に関するものである。
【背景技術】
【０００２】
従来から、図形や文字などを描画する描画処理において、優先度付きの描画処理や描画割り込み処理を行っている（例えば特許文献１〜３参照）。例えば、優先度の低い処理から高い処理へ移行する場合、まず、優先度の低い処理を実行中のハードウェアを一旦停止させ、ハードウェア内の処理情報を退避させた後、優先度の高い処理を実行する。そして、優先度の高い処理の終了後に、優先度の低い処理の情報を復帰させて、この優先度の低い処理を実行している。
また、従来の描画スケジューリングに対応した描画処理では、描画コマンドに付加された優先度に応じて、描画コマンドを蓄積したキューメモリ内で処理順序を入れ替えたり、実行時間テーブルを参照することで取得した描画コマンドの描画処理時間に応じて、描画コマンドを細分化している（例えば特許文献４参照）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開平７−２７１３４４号公報
【特許文献２】特開平１１−１３３９４３号公報
【特許文献３】特開２００７−２４１６２９号公報
【特許文献４】特開２０１０−１８２１３９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
上述したように、特許文献１〜３に開示された従来のグラフィックス処理を行う装置では、ハードウェアを一旦停止させ、内部の情報を一旦退避させる方式をとっている。そのため、グラフィックス描画用のハードウェアが、割込み処理に対応でき、また、ハードウェアの動作ステイト情報を退避・復帰させることが可能であり、描画処理の途中から描画再開できる必要がある。しかしながら、現在のグラフィックス処理では、３次元グラフィックスやベクタグラフィックスなど、ステイト状態が多く、ハードウェア内で持つステイト状態も多い。また、処理パイプラインも深く、再動作可能な状態での割り込み処理の受け付けられる可能性やソフトウェアでの退避時間を考えると、これらを実現できるハードウェアの実行環境は非常に少ない。【０００５】
上記のようなハードウェア実行環境がない場合、描画処理中に割り込みを受け付けることができず、現在動作中の処理の終了を待って次の処理を実行することになる。そのため、大量の３次元描画や地図描画など、描画ハードウェアの占有時間が長い場合において、緊急の表示を行う優先順位の高いリクエストが発生した場合には対応ができないという課題があった。
例えば、自動車のインストルメントパネル（インパネ）の表示では、スピードメータのような計器類はきっちり１秒間に３０回や６０回という描画更新を実現しなくてはならないが、カーナビなどのような地図描画ではスピードメータほどきっちりした性能は要求されず、優先順位はスピードメータが高く、ナビは低くなる。この場合において、従来の方法を用いると、地図描画性能を向上させるために大量のデータの固まりを描画させた場合にＨ／Ｗが専有されてしまい、スピードメータの描画更新回数を守れなくなる場合がある。【０００６】
また、特許文献４に開示された従来の描画コマンドをスケジューリングする装置では、実行時間テーブルから描画コマンドの描画処理時間を取得し、この描画処理時間が所定時間以上である場合には描画コマンドの細分化を実施している。しかしながら、実行時間テーブルは、描画コマンドそのものに対する描画処理時間を保持したものであり、描画処理時間を決定する複数の項目（描画面積や頂点数などの描画条件）から描画処理時間を取得することはできないという課題があった。
また、特許文献４に開示された装置では、描画コマンドをスケジューリングする演算プロセッサとしてシングルＣＰＵを想定しており、シングルＣＰＵ上で動作するアプリケーションのみしか対応できないという課題があった。そのため、マルチコア構成の演算プロセッサを使用した場合での各プロセッサコア間のアプリケーションのスケジューリングや、マルチＣＰＵ構成である場合での各演算プロセッサ間のアプリケーションのスケジューリングを行うことはできない。【０００７】
この発明は、上記のような課題を解決するためになされたもので、ハードウェアが割り込みなどに対応していない環境においても、優先度の高い処理への対応を配慮することが可能であり、また、複数のアプリケーションをバランスよく滑らかに動作させることが可能な描画制御装置を提供することを目的としている。
【課題を解決するための手段】
【０００８】
この発明に係る描画制御装置は、優先度が付加された描画コマンドを発行する描画プログラムを有する演算プロセッサと、描画プログラムにより発行された描画コマンドを蓄積するキューメモリとを備え、演算プロセッサは、キューメモリを制御するキュー手段と、描画コマンドから抽出可能な検索キーに対応した描画負荷情報を保持する負荷データベースと、キューメモリに蓄積された描画コマンドに基づいて負荷データベースから描画負荷情報を検索し、当該描画コマンドの描画処理時間を算出する負荷判定手段と、キューメモリに蓄積された描画コマンドに付加された優先度および負荷判定手段により算出された描画コマンドの描画処理時間に基づいて、当該描画コマンドの処理順序の入れ替えおよび／または当該描画コマンドの細分化をキュー手段に指示する描画スケジューラ手段とを備えたものである。
【発明の効果】
【０００９】
この発明によれば、上記のように構成したので、ハードウェアが割り込みなどに対応していない環境においても、優先度の高い処理への対応を配慮することができ、また、複数のアプリケーションをバランスよく滑らかに動作させることができる。
【図面の簡単な説明】
【００１０】
【図１】この発明の実施の形態１に係る描画制御装置の構成を示す図である。
【図２】この発明の実施の形態１に係る描画制御装置の動作を示すフローチャートである。
【図３】この発明の実施の形態１に係る描画制御装置の動作を説明する図である。
【図４】この発明の実施の形態２に係る描画制御装置の構成を示す図である。
【図５】この発明の実施の形態３に係る描画制御装置の構成を示す図である。
【図６】この発明の実施の形態４に係る描画制御装置の構成を示す図である。
【発明を実施するための形態】
【００１１】
以下、この発明の実施の形態について図面を参照しながら詳細に説明する。
実施の形態１．
図１はこの発明の実施の形態１に係る描画制御装置の構成を示す図である。
描画制御装置は、図１に示すように、演算プロセッサ１、システムメモリ２、描画プロセッサ３および描画メモリ４から構成されている。
【００１２】
演算プロセッサ１は、オペレーティングシステム（ＯＳ）上で複数のアプリケーションや複数のタスクを実行し、描画プロセッサ３に文字・図形描画や描画制御などの描画リクエストを発行するものである。演算プロセッサ１は、例えばＣＰＵなどから構成されている。
この演算プロセッサ１は、描画プログラム１０１、キュー手段１０２、負荷データベース１０３、負荷判定手段１０４および描画スケジューラ手段１０５から構成されている。
【００１３】
描画プログラム１０１は、所定の描画ＡＰＩ（Ａｐｐｌｉｃａｔｉｏｎ  Ｐｒｏｇｒａｍ  Ｉｎｔｅｒｆａｃｅ）を呼び出し、当該描画ＡＰＩを用いて、描画リクエストを構成する描画コマンドを発行するものである。この描画コマンドには優先度が付加されている。この描画プログラム１０１により発行された描画コマンドはシステムメモリ２内の後述するキューメモリ２１に蓄積される。
【００１４】
キュー手段１０２は、描画スケジューラ手段１０５による指示に従い、キューメモリ２１を制御するものである。
負荷データベース１０３は、描画コマンドから抽出可能な検索キー（描画条件）に対応した描画負荷情報を保持するものである。
【００１５】
負荷判定手段１０４は、キューメモリ２１内の描画コマンドに基づいて負荷データベース１０３から描画負荷情報を検索し、当該描画コマンドの描画処理時間を算出するものである。すなわち、負荷判定手段１０４は、まず、キュー手段１０２を介してキューメモリ２１内の描画コマンドを解析して、検索キーを抽出する。そして、抽出した検索キーを用い、負荷データベース１０３から該当する描画負荷情報を検索し、描画処理時間を算出する。この負荷判定手段１０４により算出された描画コマンドの描画処理時間は描画スケジューラ手段１０５に通知される。
【００１６】
描画スケジューラ手段１０５は、キューメモリ２１内の描画コマンドに付加された優先度および負荷判定手段１０４により算出された描画コマンドの描画処理時間に基づいて、当該描画コマンドの処理順序の入れ替えおよび／または当該描画コマンドの細分化を、キュー手段１０２に指示するものである。また、描画スケジューラ手段１０５は、描画プロセッサ３に対して、描画命令を発行する。
【００１７】
システムメモリ２は、演算プロセッサ１の命令コードやデータを保持するものである。このシステムメモリ２は、キューメモリ２１を有している。
キューメモリ２１は、描画プログラム１０１からの描画コマンドを蓄積するものである。
【００１８】
描画プロセッサ３は、描画スケジューラ手段１０５による描画命令に従い、キューメモリ２１内の描画コマンドに応じて、描画処理（直線描画や領域転送などの２次元描画処理、３次元グラフィックス処理や、ベクタグラフィックス処理など）を行うものである。この描画プロセッサ３は、例えば、グラフィックスアクセラレータ、グラフィックスエンジンや、ＧＰＵ（Ｇｒａｐｈｉｃｓ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）などから構成される。
描画メモリ４は、描画プロセッサ３が描画を行う際に使用するものである。
【００１９】
次に、上記のように構成された描画制御装置の動作について、図２を参照しながら説明する。
描画制御装置は、図２に示すように、まず、描画プログラム１０１は、優先度が付加された所定の描画コマンドを発行し、キューメモリ２１に蓄積させる（ステップＳＴ１）。
【００２０】
次いで、負荷判定手段１０４は、キューメモリ２１内の描画コマンドに基づいて負荷データベース１０３から該当する描画負荷情報を検索し、描画コマンドの描画処理時間を算出する（ステップＳＴ２）。すなわち、負荷判定手段１０４は、まず、キュー手段１０２を介してキューメモリ２１の描画コマンドを解析し、検索キーを抽出する。ここで、検索キーには、描画コマンドにより描画される画面上の面積（描画面積）や、描画コマンドに含まれる頂点数などが含まれている。また、負荷データベース１０３に保持された描画負荷情報には、描画面積で支配される塗り潰し処理時間や、頂点数で支配される座標変換時間などが含まれている。そして、負荷判定手段１０４は、抽出した検索キーを用い、負荷データベース１０３から該当する描画負荷情報（塗り潰し処理時間、座標変換時間）を検索することで、描画コマンドの描画処理時間を算出する。
【００２１】
次いで、描画スケジューラ手段１０５は、キューメモリ２１内の描画コマンドに付加された優先度および負荷判定手段１０４により算出された描画コマンドの描画処理時間に基づいて、キュー手段１０２を介して、当該描画コマンドの処理順序の入れ替えおよび／または当該描画コマンドの細分化を行う（ステップＳＴ３）。この描画コマンドの処理順序の入れ替えにより、優先度の高い処理に対する優先実行を実現することができる。また、描画コマンドの細分化により、一連の描画コマンドによる長時間にわたる描画プロセッサ３の専有を回避することができる。
【００２２】
この描画スケジューラ手段１０５による描画コマンドの処理順序の入れ替えにおいて、入れ替え対象の描画コマンドは、当該描画コマンドよりも高い優先度を持つ描画コマンドの後ろに挿入される。なお、入れ替え対象の描画コマンドの描画領域が、他の描画コマンドの描画領域上に重なる場合には、当該描画領域が重なる描画コマンドの後に挿入される。
【００２３】
例えば、図３（ａ）に示すように、優先度の高い描画コマンド５が、挿入前キュー内の各描画コマンドの描画領域と重ならない場合には、描画コマンド５より優先度が高い描画コマンドの後ろに挿入される。図３（ａ）の例では、描画コマンド５よりも優先度が高い描画コマンドはなく、描画コマンド５をキューメモリ２１内の先頭に挿入した場合を示している。
一方、図３（ｂ）の右図に示すように、優先度の高い描画コマンド５が、挿入前キュー内の描画コマンド１，２の描画領域上に重なる場合には、左図に示すように、描画コマンド５は描画コマンド２の後ろに挿入される。これにより、正しい画面イメージを維持することができる。
【００２４】
また、図３（ｃ）に示すように、挿入前キュー内に大量のデータを描画させる（描画処理時間がかかる）描画コマンド１がある場合には、描画コマンド１を描画コマンドＡ〜Ｄに細分化する。これにより、描画コマンド５を描画コマンド１の間に挿入することができ、描画コマンド５の処理を、描画コマンド１全体の処理が終了するまで待つ必要がなくなる。図３（ｃ）の例では、描画コマンド１の処理中（細分化した描画コマンドＡ，Ｂの描画処理は終了）に発行された描画コマンド５を、その時点でキューメモリ１の先頭にある描画コマンドＣの前に挿入した場合を示している。これにより、特定のアプリケーションが描画Ｈ／Ｗを専有することなく、複数のアプリケーションの安定した描画動作を実現できる。
【００２５】
なお、本実施の形態では、描画プログラム１０１をクライアントとし、描画スケジューラ手段１０５をサーバとするサーバクライアント型の構成として、データをやり取りする方式をとることができる。
また、本実施の形態では、描画プロセッサ３は、描画メモリ４に描画を行うものとしているが、システムとしては描画メモリ４がなくてもよく、システムメモリ２に描画を行うようにしてもよい。
【００２６】
また、負荷データベース１０３では、描画コマンドから抽出された描画面積および頂点数に基づいて、描画負荷情報を検索可能としている。これにより、例えば、描画面積は非常に小さいが頂点数が多い場合や、頂点数は少ないが描画面積が大きい場合などの条件に対して細かい対応が可能になる。
また、上記では検索キーとして描画面積および頂点数を用いたが、これらに描画品質を加えるようにしてもよい。描画品質を示すパラメータとしては、エッジ部分のギザギザを取り除くアンチエイリアスの有効無効の設定、アンチエイリアス処理のピクセル分解能、サンプリング数や、拡大縮小時のフィルタリングの方式などが挙げられる。この描画品質を考慮することで、塗り潰し処理時間を詳細に分類することができる。また、半透明処理やフォグなどの処理では１ピクセル毎にメモリのリードとライトが発生し、通常の塗り潰し処理時間とは異なるため、検索キーの１つとして含めることができる。このように、検索キーを細かく設定することで、描画処理時間の正確さが向上し、描画コマンドの最適な分割を実現することができ、複数のアプリケーションの安定した描画動作を実現できる。
【００２７】
以上のように、この実施の形態１によれば、描画コマンドに付加された優先度、および、描画コマンドから抽出された検索キーを基に得た描画処理時間に基づいて、キューメモリ２１内で、描画コマンドの処理順序の入れ替えや細分化を行うように構成したので、ハードウェアが割り込みなどに対応していない環境においても、優先度の高い処理への対応を配慮することができ、また、複数のアプリケーションをバランスよく滑らかに動作させることができる。
【００２８】
実施の形態２．
図４はこの発明の実施の形態２に係る描画制御装置の構成を示す図である。図４に示す実施の形態２に係る描画制御装置は、図１に示す実施の形態１に係る描画制御装置の演算プロセッサ１に複数のプロセッサコア１０，１１を設けたものである。図４において、実施の形態１の例は、プロセッサコア１０内で単独に動作している場合に当てはまる。すなわち、図４に示すプロセッサコア１０内の各機能部は、図１に示す演算プロセッサ１内の各機能部の構成と同様である。
【００２９】
プロセッサコア１１には、描画プログラム１１１が設けられている。この描画プログラム１１１は、プロセッサコア１０内の描画プログラム１０１と同様の処理を行うものである。
そして、２つのプロセッサコア１０，１１で１つの描画プロセッサ３を使う場合、プロセッサコア１１は、プロセッサコア１０で動作する実施の形態１の仕組みを適用することで、優先描画やアプリケーション間の描画安定化を図ることができる。
【００３０】
例えば、自動車のインパネ表示において、描画更新を１秒間に３０回や６０回実行する必要がある計器類等のアプリケーションと、カーナビのように１秒間に３０回や１５回程度の描画更新を実行する必要があるアプリーケーションとを、それぞれプロセッサコア１０とプロセッサコア１１に分けて動作させる場合が本実施の形態に該当する。
【００３１】
この場合、計器類等の優先度の高いアプリケーションを動作させる描画プログラム１０１と、カーナビのような優先度の低いアプリケーションを動作させる描画プログラム１１１はそれぞれ、キューメモリ２１に描画コマンドを蓄積させる。
次いで、負荷判定手段１０４は、キューメモリ２１内の描画コマンドの検索キーを抽出し、負荷データベース１０３から描画負荷情報を検索して、描画処理時間を算出する。
次いで、描画スケジューラ手段１０５は、優先度の低い描画コマンドの描画処理時間が、描画処理を切り換えるスイッチ時間を超える場合には、キュー手段１０２を介して、当該描画コマンドを細分化する。そして、優先度の高い描画コマンドに対しては、キューメモリ２１内で挿入可能な最前位置に描画コマンドを移動させることで優先度を上げる。このように描画処理時間のかかる描画コマンドを細分化することで、優先度の高い処理を割り込ませることができる。
【００３２】
また、プロセッサコア１０，１１上で異なるＯＳが動作する場合も、システムメモリ２を共有することで、キューメモリ２１を共有でき、描画コマンドの入れ替えや細分化が可能になる。プロセッサコア１０，１１間でＯＳを分離することで、例えば、スピードメータ表示などのような重要な表示を、他の描画プログラムとは別のＯＳで管理することができる。これにより、万が一プログラムがクラッシュした場合でも、このプロセッサコアのＯＳのみを再起動することで、高速に復帰することができるというメリットがある。
【００３３】
以上のように、この実施の形態２によれば、マルチコア構成の描画制御装置において、描画コマンドに付加された優先度、および、描画コマンドから抽出された検索キーを基に得た描画処理時間に基づいて、キューメモリ２１内で、描画コマンドの処理順序の入れ替えや細分化を行うように構成しても、ハードウェアが割り込みなどに対応していない環境においても、優先度の高い処理への対応を配慮することができ、また、複数のアプリケーションをバランスよく滑らかに動作させることができる。
【００３４】
実施の形態３．
実施の形態３では、描画プロセッサを有するプロセッサ（高級プロセッサ）と、描画プロセッサがないプロセッサ（小さいプロセッサ）とが混在したマルチＣＰＵ構成の描画制御装置において、小さいプロセッサが、高級プロセッサが有する描画プロセッサを用いる場合について示す。
図５はこの発明の実施の形態３に係る描画制御装置の構成を示す図である。図５に示す実施の形態３に係る描画制御装置は、図１に示す実施の形態１に係る描画制御装置からキューメモリ２１を削除し、小さいプロセッサ（演算プロセッサ５およびシステムメモリ６）、共有メモリ７および共有メモリ管理手段８を追加したものである。その他の構成は同様であり、同一の符号を付してその説明を省略する。
【００３５】
演算プロセッサ５は、描画プログラム５０１を備えている。この描画プログラム５０１は、演算プロセッサ１の描画プログラム１０１と同様の処理を行うものである。また、システムメモリ６は、システムメモリ２と同様の処理を行うものである。
【００３６】
共有メモリ７は、演算プロセッサ１および演算プロセッサ５で共有されるものであり、キューメモリ７１を有している。キューメモリ７１は、各演算プロセッサ１，５の描画プログラム１０１，５０１によりそれぞれ発行された描画コマンドを蓄積するものである。
共有メモリ管理手段８は、演算プロセッサ１，５間で共有メモリ７の制御を行うものである。
これにより、演算プロセッサ１の描画コマンドと演算プロセッサ５の描画コマンド間での優先描画やアプリケーション間の描画安定化を図ることできる。
【００３７】
すなわち、各演算プロセッサ１，５で動作する描画プログラム１０１，５０１は、発行した描画コマンドを共有メモリ７のキューメモリ７１に一旦蓄積させる。
次いで、描画プロセッサ３を有する演算プロセッサ１の負荷判定手段１０４は、キュー手段１０２を介してキューメモリ７１内の描画コマンドの検索キーを抽出し、負荷データベース１０３から描画負荷情報を検索して、描画コマンドの描画処理時間を算出する。
次いで、描画スケジューラ手段１０５は、キューメモリ７１内の描画コマンドに付加された優先度および負荷判定手段１０４により算出された描画コマンドの描画処理時間に基づいて、キュー手段１０２を介して、当該描画コマンドの処理順序の入れ替え・細分化を実行し優先描画やアプリケーション間の安定化動作を実現する。
【００３８】
以上のように、この実施の形態３によれば、マルチＣＰＵ構成の描画制御装置において、描画コマンドに付加された優先度、および、描画コマンドから抽出された検索キーを基に得た描画処理時間に基づいて、キューメモリ７１内で、描画コマンドの処理順序の入れ替えや細分化を行うように構成しても、ハードウェアが割り込みなどに対応していない環境においても、優先度の高い処理への対応を配慮することができ、また、複数のアプリケーションをバランスよく滑らかに動作させることができる。
【００３９】
実施の形態４．
図６はこの発明の実施の形態１に係る描画制御装置の構成を示す図である。図６に示す実施の形態４に係る描画制御装置は、図１に示す実施の形態１に係る描画制御装置に、ダミー描画ＡＰＩ（ＡＰＩ処理手段）１０６および描画マネジャ１０７を追加したものである。その他の構成は同様であり、同一の符号を付してその説明を省略する。
【００４０】
ダミー描画ＡＰＩ１０６は、描画マネジャ１０７による制御に従い、描画プログラム１０１により呼び出された標準ＡＰＩを読み込み、当該標準ＡＰＩを用いて優先度が付加された描画コマンドを発行して、キューメモリ２１に蓄積させるものである。
描画マネジャ１０７は、ダミー描画ＡＰＩ１０６を制御するものである。
【００４１】
描画プログラム１０１が用いる描画ＡＰＩがＯｐｅｎＧＬなどの標準ＡＰＩである場合、この標準ＡＰＩではキューメモリ２１への書き込みが想定されていないため、描画コマンドをキューメモリ２１に蓄積させることができない。そこで、この標準ＡＰＩを一旦ダミー描画ＡＰＩ１０６に書き込み、ダミー描画ＡＰＩ１０６にて、優先度が付加された描画コマンドを発行し、キューメモリ２１に蓄積させる。これにより、標準ＡＰＩを用いた場合であっても処理順序の入れ替えや細分化が可能となる。
【００４２】
なお、本実施の形態では、ダミー描画ＡＰＩ１０６をクライアントとし、描画スケジューラ手段１０５をサーバとするサーバクライアント型の構成として、データをやり取りする方式をとることができる。
【００４３】
以上のように、この実施の形態４によれば、描画プログラム１０１で呼び出した標準ＡＰＩをダミー描画ＡＰＩ１０６に書き込み、ダミー描画ＡＰＩ１０６にて描画コマンドを発行してキューメモリ２１に蓄積させるように構成したので、描画プログラム１０１が標準ＡＰＩを用いる場合であっても実施の形態１と同様の効果を得ることができる。
【００４４】
なお、本願発明はその発明の範囲内において、各実施の形態の自由な組み合わせ、あるいは各実施の形態の任意の構成要素の変形、もしくは各実施の形態において任意の構成要素の省略が可能である。
【産業上の利用可能性】
【００４５】
この発明に係る描画制御装置は、上記のように構成したので、ハードウェアが割り込みなどに対応していない環境においても、優先度の高い処理への対応を配慮することができ、また、複数のアプリケーションをバランスよく滑らかに動作させることができ、図形や文字などを描画する描画制御装置等に用いるのに適している。
【符号の説明】
【００４６】
１，５  演算プロセッサ、２，６  システムメモリ、３  描画プロセッサ、４  描画メモリ、７  共有メモリ、８  共有メモリ管理手段、１０，１１  プロセッサコア、２１，７１  キューメモリ、１０１  描画プログラム、１０２  キュー手段、１０３  負荷データベース、１０４  負荷判定手段、１０５  描画スケジューラ手段、１０６  ダミー描画ＡＰＩ（ＡＰＩ処理手段）、１０７  描画マネジャ、１１１  描画プログラム、５０１  描画プログラム。
【図１】
2013102956.tif 000003
【図２】
2013102956.tif 000004
【図３】
2013102956.tif 000005
【図４】
2013102956.tif 000006
【図５】
2013102956.tif 000007
【図６】
2013102956.tif 000008
【手続補正書】
【提出日】平成26年10月1日(2014.10.1)
【手続補正１】
【補正対象書類名】明細書
【補正対象項目名】０００８
【補正方法】変更
【補正の内容】
【０００８】
この発明に係る描画制御装置は、優先度が付加された描画コマンドを発行する描画プログラムを有する演算プロセッサと、描画プログラムにより発行された描画コマンドを蓄積するキューメモリとを備え、演算プロセッサは、キューメモリを制御するキュー手段と、描画コマンドから抽出可能な検索キーに対応した描画負荷情報を保持する負荷データベースと、キューメモリに蓄積された描画コマンドに基づいて負荷データベースから描画負荷情報を検索し、当該描画コマンドの描画処理時間を算出する負荷判定手段と、キューメモリに蓄積された描画コマンドに付加された優先度および負荷判定手段により算出された描画コマンドの描画処理時間に基づいて、当該描画コマンドの処理順序の入れ替え、または、当該描画コマンドの細分化および処理順序の入れ替えを、キュー手段に指示する描画スケジューラ手段とを備え、演算プロセッサは、描画プログラム、キュー手段、負荷データベース、負荷判定手段および描画スケジューラ手段を有する第１のプロセッサコアと、描画プログラムを有する第２のプロセッサコアとからなるマルチコア構成である。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】００３９
【補正方法】変更
【補正の内容】
【００３９】
実施の形態４．
図６はこの発明の実施の形態４に係る描画制御装置の構成を示す図である。図６に示す実施の形態４に係る描画制御装置は、図１に示す実施の形態１に係る描画制御装置に、ダミー描画ＡＰＩ（ＡＰＩ処理手段）１０６および描画マネジャ１０７を追加したものである。その他の構成は同様であり、同一の符号を付してその説明を省略する。
【手続補正３】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
優先度が付加された描画コマンドを発行する描画プログラムを有する演算プロセッサと、前記描画プログラムにより発行された描画コマンドを蓄積するキューメモリとを備えた描画制御装置であって、
前記演算プロセッサは、
前記キューメモリを制御するキュー手段と、
描画コマンドから抽出可能な検索キーに対応した描画負荷情報を保持する負荷データベースと、
前記キューメモリに蓄積された描画コマンドに基づいて前記負荷データベースから描画負荷情報を検索して、当該描画コマンドの描画処理時間を算出する負荷判定手段と、
前記キューメモリに蓄積された描画コマンドに付加された優先度および前記負荷判定手段により算出された描画コマンドの描画処理時間に基づいて、当該描画コマンドの処理順序の入れ替え、または、当該描画コマンドの細分化および処理順序の入れ替えを、前記キュー手段に指示する描画スケジューラ手段とを備え、
前記演算プロセッサは、前記描画プログラム、前記キュー手段、前記負荷データベース、前記負荷判定手段および前記描画スケジューラ手段を有する第１のプロセッサコアと、前記描画プログラムを有する第２のプロセッサコアとからなるマルチコア構成である
ことを特徴とする描画制御装置。
【請求項２】
前記各プロセッサコア上は、各々異なるＯＳ（オペレーティングシステム）が動作する
ことを特徴とする請求項１記載の描画制御装置。
【請求項３】
優先度が付加された描画コマンドを発行する描画プログラムを有する演算プロセッサと、前記描画プログラムを有する第２の演算プロセッサと、前記各演算プロセッサの描画プログラムにより発行された描画コマンドを蓄積する共有メモリとを備えた描画制御装置であって、
前記演算プロセッサは、
前記共有メモリを制御するキュー手段と、
描画コマンドから抽出可能な検索キーに対応した描画負荷情報を保持する負荷データベースと、
前記共有メモリに蓄積された描画コマンドに基づいて前記負荷データベースから描画負荷情報を検索して、当該描画コマンドの描画処理時間を算出する負荷判定手段と、
前記共有メモリに蓄積された描画コマンドに付加された優先度および前記負荷判定手段により算出された描画コマンドの描画処理時間に基づいて、当該描画コマンドの処理順序の入れ替え、または、当該描画コマンドの細分化および処理順序の入れ替えを、前記キュー手段に指示する描画スケジューラ手段とを備えた
ことを特徴とする描画制御装置。
【請求項４】
前記検索キーには描画面積および頂点数が含まれる
ことを特徴とする請求項１又は請求項３記載の描画制御装置。
【請求項５】
前記検索キーには描画品質が含まれる
ことを特徴とする請求項４記載の描画制御装置。
【請求項６】
前記描画プログラムは標準ＡＰＩ（Ａｐｐｌｉｃａｔｉｏｎ  Ｐｒｏｇｒａｍ  Ｉｎｔｅｒｆａｃｅ）を呼び出し、
前記描画プログラムによる描画コマンドの発行に代えて、前記描画プログラムにより呼び出された標準ＡＰＩを読み込み、当該標準ＡＰＩを用いて優先度が付加された描画コマンドを発行して前記キューメモリに蓄積させるＡＰＩ処理手段を備えた
ことを特徴とする請求項１記載の描画制御装置。
【請求項７】
前記描画プログラムは標準ＡＰＩ（Ａｐｐｌｉｃａｔｉｏｎ  Ｐｒｏｇｒａｍ  Ｉｎｔｅｒｆａｃｅ）を呼び出し、
前記描画プログラムによる描画コマンドの発行に代えて、前記描画プログラムにより呼び出された標準ＡＰＩを読み込み、当該標準ＡＰＩを用いて優先度が付加された描画コマンドを発行して前記共有メモリに蓄積させるＡＰＩ処理手段を備えた
ことを特徴とする請求項３記載の描画制御装置。
【国際調査報告】
2013102956.tif 000009
2013102956.tif 000010
2013102956.tif 000011
2013102956.tif 000012