(57)【要約】【課題】描画プログラムの再起動時間の短縮を図った描画装置を得る。【解決手段】描画プログラムの再起動時、データ管理部２０４は、描画用記憶部２０２内のグラフィックスデータの配置状況を記録しているアドレス管理テーブル１１１を参照して、描画用記憶部２０２にすでに記憶されているグラフィックスデータについては、描画用記憶部２０２への転送を省略する。【選択図】図１
2014241083.tif 000002
【特許請求の範囲】
【請求項１】
描画プログラムによる描画命令を受けて処理を行う描画装置であって、
前記描画命令を受け、グラフィックスデータを用いて描画処理を行う描画部と、
前記描画部が描画処理に用いるグラフィックスデータを記憶する描画用記憶部と、
前記描画用記憶部内のグラフィックスデータの配置状況を記録し前記描画プログラムから独立した領域に記憶されているアドレス管理テーブルを、管理するテーブル管理部と、
前記描画命令を受け、前記描画プログラムの再起動時に、前記アドレス管理テーブルを参照し、前記描画用記憶部に記憶されているグラフィックスデータに基づいて、前記描画部が描画処理に用いるグラフィックスデータの前記描画用記憶部への転送を制御するデータ管理部とを備えたことを特徴とする描画装置。
【請求項２】
前記データ管理部は、前記描画プログラムの再起動時に、前記アドレス管理テーブルを参照することで、前記描画用記憶部にすでに記憶されているグラフィックスデータについては前記描画用記憶部への転送を行わないことを特徴とする請求項１記載の描画装置。
【請求項３】
前記描画プログラムの再起動時に、前記描画用記憶部に記憶されたグラフィックスデータが再利用可能か否かを判定する判定部を備えることを特徴とする請求項１または請求項２記載の描画装置。
【請求項４】
前記データ管理部は、前記描画プログラムの再起動時に、再起動が完了するまで、フレームバッファが更新されないようフレームバッファ更新禁止フラグを設定することを特徴とする請求項１から請求項３のいずれかに記載の描画装置。
【請求項５】
前記アドレス管理テーブルは、複数の描画プログラムにより使用されることを特徴とする請求項１から請求項３のいずれかに記載の描画装置。
【請求項６】
前記アドレス管理テーブルには、グラフィックスデータの転送または削除を示す前記描画命令を受けると増減する参照カウンタを設けたことを特徴とする請求項５記載の描画装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、描画プログラムの再起動を高速に行う描画装置に関するものである。
【背景技術】
【０００２】
プログラムを一時中断した後（意図的、意図的でないもの両方を含む）、プログラムの再起動を実行する場合、一時中断前の状態を保存しておき、再起動時に一時中断前の状態から復帰できるようにして、再起動を高速化するような方法が提案されている（例えば、特許文献１、２）。
ところで、一般に描画プログラムは、専用の描画用記憶部を有する描画装置に描画命令を行うことにより、描画を実行している。このような描画プログラムの起動時においては、描画に必要な多数のグラフィックスデータを描画用記憶部へ転送する必要があるため、起動に時間がかかる。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開平１０−６３３６２号公報
【特許文献２】特開平６−３１８１２２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
描画プログラムの再起動に際して、従来技術に示されるような再起動時に一時中断前の起動状態に復帰するための機構を採用しても、描画プログラムは、プログラムの再起動時においても専用の描画用記憶部にグラフィックスデータの転送を実行するため、描画プログラムの再起動時間の短縮にはつながらないという問題があった。
本発明は上記のような問題点を解決するためになされたもので、専用の描画用記憶部を有する描画装置において、描画プログラムの再起動時にグラフィックスデータの転送処理を制御し、描画プログラムの再起動時間の短縮を図った描画装置を得ることを目的とする。
【課題を解決するための手段】
【０００５】
この発明に係る描画装置は、描画プログラムによる描画命令を受けて処理を行う描画装置であって、描画命令を受け、グラフィックスデータを用いて描画処理を行う描画部と、描画部が描画処理に用いるグラフィックスデータを記憶する描画用記憶部と、描画用記憶部内のグラフィックスデータの配置状況を記録し描画プログラムから独立した領域に記憶されているアドレス管理テーブルを、管理するテーブル管理部と、描画命令を受け、描画プログラムの再起動時に、アドレス管理テーブルを参照し、描画用記憶部に記憶されているグラフィックスデータに基づいて、描画部が描画処理に用いるグラフィックスデータの描画用記憶部への転送を制御するデータ管理部とを備えたことを特徴とするものである。
【発明の効果】
【０００６】
この発明によれば、描画プログラムの再起動時に、グラフィックスデータの転送処理を制御し、再起動を高速化した描画装置を得ることができる。
【図面の簡単な説明】
【０００７】
【図１】この発明の実施の形態１に係る描画装置の構成を示す図である。
【図２】この発明の実施の形態１に係るアドレス管理テーブルの説明図である。
【図３】この発明の実施の形態１に係る描画装置の描画プログラム再起動時における処理フローである。
【図４】この発明の実施の形態２に係る描画装置の描画プログラム再起動時における処理フローである。
【図５】この発明の実施の形態３に係る描画装置の処理フローである。
【図６】この発明の実施の形態３に係る描画装置のテーブル管理部の処理を示す図である。
【図７】この発明の実施の形態３に係る描画装置のテーブル管理部の処理を示す図である。
【図８】この発明の実施の形態３に係る描画装置のテーブル管理部の処理を示す図である。
【図９】この発明の実施の形態３に係る描画装置のテーブル管理部の処理を示す図である。
【発明を実施するための形態】
【０００８】
実施の形態１．
図１は、この発明の実施の形態１に係る描画装置とそれに関わる装置の構成を示した図である。
演算器１００は、入力装置（図示せず）から入力されるユーザーの要求を処理するＣＰＵなどの回路である。高速記憶装置１１０は、高速にアクセス可能なＤＲＡＭなどの記憶装置、外部低速記憶装置１２０は、低速でアクセス可能なＨＤＤやフラッシュメモリなどの記憶装置であり、どちらの装置もテクスチャなどのグラフィックスデータを記憶している。なお、高速記憶装置１１０と外部低速記憶装置１２０とをまとめて記憶装置１３０とする。描画装置２００は、演算器１００からの描画命令をもとに描画処理を専門に行い、処理結果を表示装置（図示せず）へ出力する。
【０００９】
描画装置２００は、描画部２０１と、描画用記憶部２０２と、テーブル管理部２０３と、データ管理部２０４と、判定部２０５とを備える。描画部２０１は、演算器１００からの描画命令を受け、グラフィックスデータを用いて描画処理を行う。描画用記憶部２０２は、描画部２０１がアクセス可能なＤＲＡＭなどで構成される記憶部であり、描画部２０１が描画処理で使用するグラフィックスデータを記憶する。テーブル管理部２０３は、描画用記憶部２０２のメモリマッピング状況を管理するアドレス管理テーブル１１１を、管理する。なお、アドレス管理テーブル１１１は、高速記憶装置１１０に記憶されている。データ管理部２０４は、演算器１００からの描画命令を受け、高速記憶装置１１０または外部低速記憶装置１２０から描画用記憶部２０２へグラフィックスデータを転送する。判定部２０５は、描画用記憶部２０２が再利用可能かどうかを判定する。
【００１０】
図２は、グラフィックスデータの保存位置を保管するアドレス管理テーブル１１１についての説明図である。アドレス管理テーブル１１１は、描画用記憶部２０２上にグラフィックスデータがどのように展開しているのかを管理する。図２に示すように、グラフィックスデータには、フレームバッファやテクスチャ、シェーダデータなどがある。
なお、アドレス管理テーブル１１１は、描画プログラムが停止しても破棄されない領域に保存すればよく、図１に示す高速記憶装置１１０内のほか、外部低速記憶装置１２０、描画用記憶部２０２などの領域に保存してもよい。
【００１１】
次に、上記のように構成された描画装置の動作の概要について説明する。
演算器１００が、描画命令を描画装置２００に対して送信する。この際、テクスチャなどのグラフィックスデータが必要な場合は、データ管理部２０４が、送信された描画命令に基づき高速記憶装置１１０または外部低速記憶装置１２０から、描画用記憶部２０２にグラフィックスデータを転送する。テーブル管理部２０３は、描画用記憶部２０２内のグラフィックスデータの配置状況を監視して、アドレス管理テーブル１１１の内容を更新する。描画部２０１は、描画用記憶部２０２に展開されたグラフィックスデータを使用して、演算器１００から送信された描画命令に基づき、描画処理を実行し、処理結果を出力する。
【００１２】
上記のデータ管理部２０４による転送処理は、描画プログラムの起動初期時に多数実行される。そして、描画用記憶部２０２に一度転送したグラフィックスデータは、描画プログラムが障害などの原因で停止した場合でも、描画用記憶部２０２内に記憶されている。また、アドレス管理テーブル１１１は、描画用記憶部２０２に転送されたグラフィックスデータを管理しており、描画プログラムが障害などで停止した場合もその状態を保存している。
従って、描画プログラムの再起動時に、データ管理部２０４がこのアドレス管理テーブル１１１を参照し、すでに描画用記憶部２０２に展開済みのグラフィックスデータは、すでに展開済みとして転送を省略することにより、描画プログラムの再起動の高速化を図ることができる。
【００１３】
次に、描画プログラム再起動時に特化した、描画装置の動作の詳細について下記で説明する。
図３は、この発明の実施の形態１に係る描画装置の、描画プログラム再起動時における詳細な動作の流れを示す処理フローであり、ＯｐｅｎＧＬを用いた３次元地図描画プログラムの例を示している。なお、この処理フローは、カーナビゲーションシステム等に搭載の３次元地図描画プログラムにおける例である。
ステップＳＴ１〜ＳＴ６の処理は、描画プログラムが何らかの原因により中断し再起動する際、中断直前の状態に復帰するための処理であり、リストア処理と呼ぶ。
まず、判定部２０５が、描画用記憶部２０２が再利用可能かどうかを判定する（ステップＳＴ１）。この判定処理は、描画プログラムの再起動直前に描画装置２００のリセットが行われたかを検出することなどで判定する。描画用記憶部２０２が再利用できない場合は（ステップＳＴ１；ＮＯ）、中断直前のデータの再構築をせずに、通常の起動処理フロー（ステップＳＴ７〜ＳＴ１３）に移行する。ステップＳＴ１の処理のためには、描画装置２００もしくは、描画装置２００を駆動するドライバにおいて、リセット判定フラグを用意することで対応できる。また、ユーザー側が意図的に再起動時に描画用記憶部２０２内のグラフィックスデータの再利用を行わないように指定することもでき、この場合も判定部２０５がその旨検出して再利用不可と判定する。あるいは、メモリのチェックサムエラーが検出された場合は再利用不可と判定するようにしてもよい。
【００１４】
描画用記憶部２０２が再利用できる場合は（ステップＳＴ１；ＹＥＳ）、ステップＳＴ２に移行する。
ステップＳＴ２では、演算器１００が、描画プログラム中断直前に保存していた位置、視野情報を再設定する。視野、位置情報は、後述するステップＳＴ１３で保存されたものである。
続いて、ステップＳＴ２で取得した視野、位置情報から、演算器１００が、視野内に入るオブジェクトを算出する（ステップＳＴ３）。
続いて、演算器１００が、必要な数のテクスチャを生成する（ステップＳＴ４）。
【００１５】
続いて、演算器１００が、ステップＳＴ４で生成したテクスチャを指定する（ステップＳＴ５）。この際、記憶装置１３０に保存されているデータを識別するための識別子を埋め込めるようにしておく。例えば、３２ビットのインデックス値の下位１６ビットをＯｐｅｎＧＬが使用するテクスチャ識別子、上位１６ビットを記憶装置１３０に保存されているデータの識別子とするなどの方法がある。当然、テクスチャ指定の関数であるｇｌＢｉｎｄＴｅｘｔｕｒｅとは別の関数を新設し、新設の関数で記憶装置１３０に保存されているデータの識別子を指定する方法など他の方法も考えられる。いずれにおいても、この識別子は、グラフィックスデータのハッシュ値などとして、固有の値であることが望ましい。
また、指定されたテクスチャの情報は、演算器１００から描画装置２００へ入力される。
【００１６】
続いて、データ管理部２０４が、指定されたテクスチャのピクセルデータを、高速記憶装置１１０または外部低速記憶装置１２０から、描画用記憶部２０２に展開（転送）する（ステップＳＴ６）。
このとき、アドレス管理テーブル１１１には、描画プログラム中断前の、前述の識別子と描画用記憶部２０２上に展開したデータのアドレスがマッピングされている。このため、アドレス管理テーブル１１１に保存された識別子群に、ステップＳＴ５で指定された識別子が含まれているか、つまりＳ５で指定されたテクスチャがすでに描画用記憶部２０２に展開済みかどうかを、データ管理部２０４は判定する。アドレス管理テーブル１１１において指定した識別子が含まれると判定された場合は、描画用記憶部２０２へのテクスチャデータの転送を省略する。
続いて、テーブル管理部２０３はアドレス管理テーブル１１１を更新する。
ステップＳＴ５およびステップＳＴ６の処理は、全オブジェクトのテクスチャデータ転送が終了するまで繰り返す。その後、ステップＳＴ７へ移行する。
【００１７】
ステップＳＴ７〜ＳＴ１３は、一般的な描画の更新処理であり、描画ループ処理とよぶ。
まず、演算器１００が、現在の位置、視野情報を取得する（ステップＳＴ７）。
続いて、演算器１００が、前回と今回の視野内のオブジェクトの差分を算出する（ステップＳＴ８）。なお、ステップＳＴ１〜ＳＴ６の処理を実施している場合には、ステップＳＴ２で取得した中断直前の位置、視野からの差分となる。
続いて、演算器１００が、視野外となったテクスチャを削除する（ステップＳＴ９）。視野外となったテクスチャの情報は、演算器１００から描画装置２００へ入力され、データ管理部２０４が該テクスチャを描画用記憶部２０２から削除する。描画用記憶部２０２内のデータ状況が変わるので、テーブル管理部２０３はアドレス管理テーブル１１１を更新する。
続いて、演算器１００が、新たに視野内に入ったテクスチャを生成する（ステップＳＴ１０）。
【００１８】
続いて、演算器１００が、ステップＳＴ１０で生成したテクスチャを指定する（ステップＳＴ１１）。ステップＳＴ１１においては、ステップＳＴ５と同様に、記憶装置１３０に保存されているデータを識別するための識別子を埋め込めるようにしておく。また、指定されたテクスチャの情報は、演算器１００から描画装置２００へ入力される。
続いて、データ管理部２０４が、指定されたテクスチャのピクセルデータを、高速記憶装置１１０または外部低速記憶装置１２０から、描画用記憶部２０２に展開（転送）する（ステップＳＴ１２）。ステップＳＴ１２の転送処理完了時点で、テーブル管理部２０３が、アドレス管理テーブル１１１を更新する。
ステップＳＴ１１およびステップＳＴ１２の処理は、新たに視野内に入った全オブジェクトのテクスチャデータ転送が終了するまで繰り返す。その後、ステップＳＴ１３へ移行する。
【００１９】
続いて、描画プログラム中断に備えて、演算器１００は、現在の位置、視野情報を保存し、他の処理を実行する（ステップＳＴ１３）。ステップＳＴ１３における現在の位置、視野情報などの描画コンテキストの保存場所も、アドレス管理テーブル１１１と同様、高速記憶装置１１０のほか、外部低速記憶装置１２０や描画用記憶部２０２などとしてもよい。
【００２０】
以上のように、カーナビゲーションシステム等に搭載の３次元地図描画プログラムにおける例では、描画プログラムが中断してから再起動が完了するまでの間に自車の位置が大幅に変わる可能性が低いので、描画処理を再開した際に、描画プログラム中断前のテクスチャデータを再利用できる可能性が高い。
なお、上記ではグラフィックスデータとして、テクスチャデータの再利用の形態について示したが、フレームデータ、シェーダデータにおいても同様の処理が可能である。
【００２１】
以上のように、この実施の形態１によれば、描画用記憶部２０２上のグラフィックスデータの配置をアドレス管理テーブル１１１で管理し、描画プログラムが何らかの原因により中断し再起動する場合に、このアドレス管理テーブル１１１を参照して、中断前に既に描画用記憶部２０２に転送されたグラフィックスデータの転送を省略することにより、描画プログラムの再起動を高速化することができる。
【００２２】
実施の形態２．
上記実施の形態１では、グラフィックスデータとして、テクスチャデータの再利用の形態について示したが、実施の形態２では、描画プログラム中断直前のフレームバッファを再利用する際の形態について示す。
図４は、この発明の実施の形態２に係る描画装置による描画プログラム中断直前のフレームバッファを利用するための処理フローを示した図である。
【００２３】
まず、実施の形態１と同様に描画用記憶部２０２が再利用可能かどうかを判定する（ステップＳＴ２０）。再利用不可の場合（ステップＳＴ２０；ＮＯ）は、ステップＳＴ２５に移行し、実施の形態１でのステップＳＴ７〜ＳＴ１３に示した描画ループ処理を行う。
再利用可の場合（ステップＳＴ２０；ＹＥＳ）は、ステップＳＴ２１に移行する。ステップＳＴ２１では、データ管理部２０４が、アドレス管理テーブル１１１に登録した描画プログラム中断直前のフレームバッファ領域を、再び再起動後のフレームバッファとするように設定する。
【００２４】
続いて、データ管理部２０４が、フレームバッファの更新禁止フラグを設定する（ステップＳＴ２２）。
続いて、実施の形態１のステップＳＴ２〜ＳＴ６で示したグラフィックスデータのリストア処理を実施する（ステップＳＴ２３）。
続いて、ステップＳＴ２２で設定したフレームバッファ更新禁止フラグを解除することで、描画プログラムによる画面の更新を許可する（ステップＳＴ２４）。
以降、描画プログラムによる通常の描画ループを動作させる（ステップＳＴ２５）。
【００２５】
以上のように、この実施の形態２によれば、フレームバッファを、描画プログラムが中断してから再び描画が可能となるまでの間は更新しないようにすることにより、この描画プログラムの処理結果を表示装置上で見るユーザーに、描画プログラムの再起動処理が実行されたということを隠匿できる効果が得られる。
【００２６】
実施の形態３． 
上記の実施の形態１および実施の形態２では、１つの描画プログラムのみに対してアドレス管理テーブル１１１を設けるような形態について示した。実施の形態３では、複数の描画プログラムのグラフィックスデータをアドレス管理テーブル１１１で管理することで、複数の描画プログラムが描画用記憶部２０２に保存されているグラフィックスデータを再利用できるような実施の形態を示す。
図５は、同一のアドレス管理テーブル１１１で複数の描画プログラムのグラフィックスデータを管理するための処理フローを示した図である。
【００２７】
ステップＳＴ３０では、実施の形態１と同様に描画用記憶部２０２上のグラフィックスデータが再利用可能かどうかを判定部２０５が判定する。
グラフィックスデータが再利用できないと判定された場合（ステップＳＴ３０；ＮＯ）、ステップＳＴ３１に移行する。ステップＳＴ３１では、データ管理部２０４が、当該描画プログラムが使用する描画用記憶部２０２の領域を確保する。この処理は、確保した領域を使用する描画プログラムを特定するための手段を含む。例えば、当該描画プログラムのプロセスの識別子であるプロセスＩＤを、アドレス管理テーブル１１１を管理するテーブル管理部２０３に通知して、アドレス管理テーブル１１１に記憶させる。
【００２８】
ステップＳＴ３０でグラフィックスデータが再利用できると判定された場合（ステップＳＴ３０；ＹＥＳ）、ステップＳＴ３２に移行する。ステップＳＴ３２では、実施の形態１で示したグラフィックスデータのリストア処理を行う。また、ステップＳＴ３２で行う処理には、ステップＳＴ３１で示した描画プログラムを特定するための手段を含む。この手段により、当該描画プログラムが使用していた描画用記憶部２０２上のグラフィックスデータの特定が可能となる。
【００２９】
続いて、当該描画プログラムが何らかの原因で中断しているか否かを判定する（ステップＳＴ３３）。例えばテーブル管理部２０３がプロセスの生存確認を行う。
当該描画プログラムが中断している場合は（ステップＳＴ３３；ＹＥＳ）、続いて当該描画プログラムの非動作時間（中断継続時間）の計測を行い、一定時間が経過したかを判定する（ステップＳＴ３４）。
一定時間が経過すると（ステップＳＴ３４；ＹＥＳ）、ステップＳＴ３８に移行する。
一定時間が経過しなかった場合（ステップＳＴ３４；ＮＯ）は、一定時間内に当該描画プログラムの再起動が行われた場合であり、再起動処理を行い（ステップＳＴ３５）、ステップＳＴ３０からの一連の処理に戻る。
【００３０】
また、当該描画プログラムが中断しなかった場合（ステップＳＴ３３；ＮＯ）は、当該描画プログラムが通常終了した場合であり、通常終了時の処理を行う（ステップＳＴ３６）。
続くステップＳＴ３７は、ステップＳＴ３６の通常終了処理の一環であり、当該描画プログラムが再起動する予定があるかどうかを演算器１００が判定する。再起動の予定がある場合（ステップＳＴ３７；ＹＥＳ）は、ステップＳＴ３４へ移行し、描画プログラムの非動作時間計測が行われる。
また、当該描画プログラムが再起動する予定が無い場合（ステップＳＴ３７；ＮＯ）は、ステップＳＴ３８に移行する。ステップＳＴ３８は、描画プログラム用に確保された描画用記憶部２０２の領域解放処理であり、当該描画プログラム通常終了後に再起動の予定がない場合（ステップＳＴ３７；ＮＯ）、または当該描画プログラムの非動作時間が一定時間を超えた場合（ステップＳＴ３４；ＹＥＳ）、確保されていた領域をデータ管理部２０４が解放する。
【００３１】
図６〜９は、実施の形態３におけるテーブル管理部２０３の処理動作について、描画プログラムと対応付けて示した図である。
図６には、描画プログラムが起動してから、正常終了し、再起動の予定がなく、アドレス管理テーブル１１１から当該描画プログラムに係るデータを削除する場合について示す。
ステップＳＴ４０〜ＳＴ４２は、描画プログラムの処理の流れを示しており、ステップＳＴ４５〜ＳＴ４７は、それぞれに対応するテーブル管理部２０３の動作について示している。
描画プログラムが起動すると（ステップＳＴ４０）、テーブル管理部２０３は、ステップＳＴ４０に対応して、描画プログラムのプロセスＩＤを取得し、アドレス管理テーブル１１１に記憶しておく（ステップＳＴ４５）。
続いて、描画プログラムに基づき、グラフィックスデータの識別子指定、グラフィックスデータの転送、削除などの描画命令が描画装置２００に入力される（ステップＳＴ４１）。テーブル管理部２０３は、ステップＳＴ４１に対応して、アドレス管理テーブル１１１にグラフィックスデータの識別子とアドレス、プロセスＩＤを登録、削除していく（ステップＳＴ４６）。
続いて、描画プログラムの再起動の予定が無い通常終了処理が行われる（ステップＳＴ４２）。テーブル管理部２０３は、ステップＳＴ４２に対応して、アドレス管理テーブル１１１から当該描画プログラムのプロセスＩＤを持つ登録を全て削除する（ステップＳＴ４７）。
【００３２】
図７には、テーブル管理部２０３が、プロセスの起動状況を確認し、停止しているプロセスの登録を削除する処理の流れについて示す。この処理は、描画プログラムの処理とは独立して行われる。
テーブル管理部２０３が、定期的にプロセスの生存確認を行う（ステップＳＴ５０）。プロセスが生存している場合（ステップＳＴ５０；ＹＥＳ）は、ステップＳＴ５０の処理を繰り返す。
プロセスが生存していない場合（ステップＳＴ５０；ＮＯ）には、ステップＳＴ５１に移行し、最初にプロセスが生存していないことを確認した時間からの経過時間を計測する。
計測時間が一定時間を超えた際（ステップＳＴ５１；ＹＥＳ）には、ステップＳＴ５２に移行し、テーブル管理部２０３は当該のプロセスと一致する登録をアドレス管理テーブル１１１から削除する。
なお、全ての登録が削除対象であるとして説明しているが、削除除外フラグを付加することで、フラグに応じて削除されないようにしてもよい。
【００３３】
図８には、描画装置２００のリセットが発生した場合について示す。
この場合、テーブル管理部２０３は、アドレス管理テーブル１１１全ての登録を削除する（ステップＳＴ５５）。
【００３４】
図９には、描画プログラムが再起動した時の動作について示す。
ステップＳＴ６０、ＳＴ６１は、描画プログラムの処理の流れを示しており、ステップＳＴ６５、ＳＴ６６は、それぞれに対応するテーブル管理部２０３の処理を示している。
描画プログラムが再起動すると（ステップＳＴ６０）、テーブル管理部２０３は、ステップＳＴ６０に対応して、描画プログラムのプロセスＩＤを取得し、アドレス管理テーブル１１１に登録されているかどうかを確認し、登録があれば、対象の登録のプロセスＩＤを現在の描画プログラムのプロセスＩＤに更新する（ステップＳＴ６５）。
続いて、描画プログラムに基づき、グラフィックスデータの識別子指定、グラフィックスデータの転送、削除などの描画命令が描画装置２００に入力される（ステップＳＴ６１）。テーブル管理部２０３は、ステップＳＴ６１に対応して、アドレス管理テーブル１１１にグラフィックスデータの識別子とアドレス、プロセスＩＤを登録、削除していく（ステップＳＴ６６）。
【００３５】
以上のように、この実施の形態３によれば、複数のプログラムが同時にアドレス管理テーブル１１１を使用していても、全ての描画プログラムで高速な再起動が可能となる。また、描画プロセスの生存を確認する仕組みを有することによって、ある描画プログラムが使用していた領域がプロセス終了後、一定時間後に解放され、別の描画プログラムが有効に使用できる効果が得られる。
【００３６】
実施の形態４．
上記実施の形態３では、アドレス管理テーブル１１１に登録されたデータは、描画プログラムと１対１で紐付されており、ある描画プログラムが別の描画プログラムのグラフィックスデータを利用できないようになっていたが、実施の形態４では、複数の描画プログラムがグラフィックスデータを共有するような実施の形態を示す。
実施の形態３におけるステップＳＴ４６、ＳＴ４７、ＳＴ５２、ＳＴ６６などでは、アドレス管理テーブル１１１の登録と削除としていたが、これを参照カウンタの増加、減少とする。参照カウンタは、各グラフィックスデータごとにアドレス管理テーブル１１１において管理、保存される。参照カウンタは、初回のグラフィックスデータの転送時に１とし、以降、描画プログラムが当該グラフィックスデータの転送処理を命じた際に値が１増加される。描画プログラムが当該グラフィックスデータを削除するよう命じた際は、参照カウンタの値を１減少させる。そして、参照カウンタの値が０となったときに初めて、当該グラフィックスデータの登録を、アドレス管理テーブル１１１から削除する。
なお、描画プログラムに基づく演算器１００からのグラフィックスデータの転送、削除命令は、データ管理部２０４からテーブル管理部２０３へと伝えられることで、テーブル管理部２０３による参照カウンタの管理が行われる。
【００３７】
以上のように、この実施の形態４によれば、複数の描画プログラムで同一のグラフィックスデータを共有することができ、描画用記憶部２０２への転送処理を減らし、処理の高速化を図るという効果が得られると同時に、描画用記憶部２０２の使用領域節約の効果も得られる。
【００３８】
なお、本願発明はその発明の範囲内において、各実施の形態の自由な組み合わせ、あるいは各実施の形態の任意の構成要素の変形、もしくは各実施の形態において任意の構成要素の省略が可能である。
【符号の説明】
【００３９】
１００  演算器、１１０  高速記憶装置、１１１  アドレス管理テーブル、１２０  外部低速記憶装置、１３０  記憶装置、２００  描画装置、２０１  描画部、２０２  描画用記憶部、２０３  テーブル管理部、２０４  データ管理部、２０５  判定部。
【図１】
2014241083.tif 000003
【図２】
2014241083.tif 000004
【図３】
2014241083.tif 000005
【図４】
2014241083.tif 000006
【図５】
2014241083.tif 000007
【図６】
2014241083.tif 000008
【図７】
2014241083.tif 000009
【図８】
2014241083.tif 000010
【図９】
2014241083.tif 000011