(57)【要約】  コマ落ち、フレーム画像の表示遅延などを低減する表示切替装置を提供する。情報処理端末１は、第１の時間間隔毎に画像を生成しバッファに書き込む第１描画コンポーネント６１と、第２の時間間隔毎に画像を生成しバッファに書き込む第２描画コンポーネント６２と、高速メモリデバイス１８上に高速フレームバッファ３１を確保し、汎用メモリデバイス１９上に汎用フレームバッファ３２を確保するバッファ管理部１１と、表示切替装置１２とを備え、表示切替装置１２は、描画コンポーネント各々についての描画処理負荷を繰り返し算出する切替判断部８１と、描画処理負荷が高い方に高速フレームバッファ３１が割り当てられていない場合に描画コンポーネント各々に割り当てるバッファを相互に入れ替える切替実施部８２とを含む。
2011118199.tif 000002
【特許請求の範囲】
【請求項１】
画像を描画する高速バッファ及び汎用バッファについて、複数の描画コンポーネント各々に割り当てるバッファを切り替える表示切替装置であって、
前記複数の描画コンポーネント各々についての描画処理負荷を繰り返し算出する切替判断部と、
前記描画処理負荷が算出される毎に、前記複数の描画コンポーネントのうち算出された描画処理負荷が最も高いものに前記高速バッファが割り当てられているか否か判断し、割り当てられていない場合に、前記算出された描画処理負荷が最も高い描画コンポーネントと、前記高速バッファが割り当てられている描画コンポーネントとに割り当てるバッファを切り替える切替実施部と
を備えることを特徴とする表示切替装置。
【請求項２】
前記描画処理負荷は、各描画コンポーネントが単位時間当たりに描画処理を行っている時間であり、
前記切替実施部は、前記複数の描画コンポーネントのうち前記描画処理負荷が最も高いものとして、単位時間当たりに描画処理を行っている時間の最も長いものを選ぶ
ことを特徴とする請求項１記載の表示切替装置。
【請求項３】
前記切替実施部は、
前記高速バッファ及び前記汎用バッファに記録されている内容をコピーせずに、バッファを切り替える第１の切替手順と、
前記高速バッファに記憶された内容を前記汎用バッファにコピーした後に、バッファを切り替える第２の切替手順と、
前記汎用バッファに記憶された内容を前記高速バッファにコピーした後に、バッファを切り替える第３の切替手順とのうち１つを選択する
ことを特徴とする請求項１記載の表示切替装置。
【請求項４】
前記切替実施部は、前記１つの切替手順を選択する場合に、前記切替手順それぞれについて、バッファを切り替えた後における、バッファを切り替えずに描画処理を継続する場合と比較したバッファ切替コストを推計し、前記バッファ切替コストが最小の手順を選択する
ことを特徴とする請求項３記載の表示切替装置。
【請求項５】
前記バッファ切替コストは、コマ落ち数、表示遅延数及びＣＰＵ負荷値のうち少なくとも１つに基づき判断する
ことを特徴とする請求項４記載の表示切替装置。
【請求項６】
前記バッファ切替コストは、コマ落ち数、表示遅延数及びＣＰＵ負荷値のうち２つ以上を加えた値に基づき判断する
ことを特徴とする請求項４記載の表示切替装置。
【請求項７】
前記切替実施部は、フレーム画像を画面表示する場合に、処理落ちがあると判定された場合、処理落ちのある期間、画面表示を変更せずにロックする
ことを特徴とする請求項４記載の表示切替装置。
【請求項８】
画像を描画する高速バッファ及び汎用バッファについて、複数の描画コンポーネント各々に割り当てるバッファを切り替える表示切替装置に用いられる表示切替方法であって、
前記複数の描画コンポーネント各々についての描画処理負荷を繰り返し算出する切替判断ステップと、
前記描画処理負荷が算出される毎に、前記複数の描画コンポーネントのうち算出された描画処理負荷が最も高いものに前記高速バッファが割り当てられているか否か判断し、割り当てられていない場合に、前記算出された描画処理負荷が最も高い描画コンポーネントと、前記高速バッファが割り当てられている描画コンポーネントとに割り当てるバッファを切り替える切替実施ステップと
を含むことを特徴とする表示切替方法。
【請求項９】
画像を描画する高速バッファ及び汎用バッファについて、複数の描画コンポーネント各々に割り当てるバッファを切り替える集積回路であって、
前記複数の描画コンポーネント各々についての描画処理負荷を繰り返し算出する切替判断部と、
前記描画処理負荷が算出される毎に、前記複数の描画コンポーネントのうち算出された描画処理負荷が最も高いものに前記高速バッファが割り当てられているか否か判断し、割り当てられていない場合に、前記算出された描画処理負荷が最も高い描画コンポーネントと、前記高速バッファが割り当てられている描画コンポーネントとに割り当てるバッファを切り替える切替実施部と
を備えることを特徴とする集積回路。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数の画像を重ね合わせて表示する情報処理端末における表示切替装置に関し、特に画像を記録する複数のバッファの切替制御に関するものである。
【背景技術】
【０００２】
近年、カーナビゲーションシステム、携帯電話などディスプレイに画像を表示する情報処理端末において、複数の画像が重ね合わせて表示されることが増加している。例えば、カーナビゲーションシステムにおいて、地図画像の上に、その地図の一地点で撮影された写真画像を重ね合わせて表示するなどの場合が該当する。そして、描画処理は複雑化する一方であるため、情報処理端末において、汎用バッファに加えて、汎用バッファより高価で高速処理が可能な高速バッファを備え、特定の処理に高速バッファを割り当てて描画処理時間の短縮を図っている。カーナビゲーションシステムの例であれば、ディスプレイ一杯に表示される地図画像を生成するコンポーネントに高速バッファが割り当てられ、その他の写真画像を生成するコンポーネントなどに汎用バッファが割り当てられる。ここで、コンポーネントとは、アプリケーションを機能、処理など毎に分割した部品に相当する。描画処理時間が延びると、コマ落ち、フレーム画像の表示遅延などが生じ、画像表示の品質が低下する。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０００−２０６９５３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ところで、情報処理端末において、要求される描画処理は複雑化する一方である。例えば、上述のカーナビゲーションシステムにおける写真画像の表示についても、単に地図の一地点で撮影された写真画像を表示するのに留まらず、一地点の写真を３Ｄ（３次元）化した上で拡大表示するなどの態様が考えられる。この場合、地図画像に比べ表示面積が小さい写真画像に係る描画処理時間が、地図画像の描画処理時間を一時的に上回る。【０００５】
上記のように描画処理が複雑化すると描画処理時間が長期化し、コマ落ち、フレーム画像の表示遅延などの問題が顕著となる。【０００６】
上記の問題に鑑み、本発明は、従来よりも描画処理時間を短縮し、描画処理時間の長期化によるコマ落ち、フレーム画像の表示遅延などを低減する表示切替装置を提供することを目的とする。
【課題を解決するための手段】
【０００７】
上記課題を解決するために、本発明の一実施態様である表示切替装置は、画像を描画する高速バッファ及び汎用バッファについて、複数の描画コンポーネント各々に割り当てるバッファを切り替える表示切替装置であって、前記複数の描画コンポーネント各々についての描画処理負荷を繰り返し算出する切替判断部と、前記描画処理負荷が算出される毎に、前記複数の描画コンポーネントのうち算出された描画処理負荷が最も高いものに前記高速バッファが割り当てられているか否か判断し、割り当てられていない場合に、前記算出された描画処理負荷が最も高い描画コンポーネントと、前記高速バッファが割り当てられている描画コンポーネントとに割り当てるバッファを切り替える切替実施部とを備える。
【発明の効果】
【０００８】
本発明の一実施態様である表示切替装置は、上述の構成を備えることにより、バッファを入れ替えた後において、第１及び前記第２描画コンポーネントの描画処理時間の合計が短縮するので、従来よりもコマ落ち、フレーム画像の表示遅延などを低減することができる。
【図面の簡単な説明】
【０００９】
【図１】本発明の実施の形態１における表示切替装置を備えた情報処理端末の構成の一例を示すブロック図
【図２】本発明の実施の形態１における表示切替装置の切替判断処理の流れの一例を示すフローチャート
【図３】本発明の実施の形態２における表示切替装置を備えた情報処理端末の構成の一例を示すブロック図
【図４】本発明の実施の形態２における表示切替装置の表示時刻算出処理の流れの一例を示すフローチャート
【図５】本発明の実施の形態２における第２切替手順についての描画処理を示すタイミングチャート
【図６】本発明の実施の形態２における第４切替手順についての描画処理を示すタイミングチャート
【図７】本発明の実施の形態２における第１切替手順についての描画処理を示すタイミングチャート
【図８】本発明の実施の形態２における第３切替手順についての描画処理を示すタイミングチャート
【図９】本発明の実施の形態２における算出したスコアの一例を示す図
【図１０】本発明の実施の形態２における切替手順選択処理の流れの一例を示すフローチャート
【図１１】本発明の実施の形態２における切替判断処理の流れの一例を示すフローチャート
【発明を実施するための形態】
【００１０】
請求項１に記載の態様である表示切替装置は、画像を描画する高速バッファ及び汎用バッファについて、複数の描画コンポーネント各々に割り当てるバッファを切り替える表示切替装置であって、前記複数の描画コンポーネント各々についての描画処理負荷を繰り返し算出する切替判断部と、前記描画処理負荷が算出される毎に、前記複数の描画コンポーネントのうち算出された描画処理負荷が最も高いものに前記高速バッファが割り当てられているか否か判断し、割り当てられていない場合に、前記算出された描画処理負荷が最も高い描画コンポーネントと、前記高速バッファが割り当てられている描画コンポーネントとに割り当てるバッファを切り替える切替実施部とを備える。
【００１１】
また、前記描画処理負荷は、各描画コンポーネントが単位時間当たりに描画処理を行っている時間であり、前記切替実施部は、前記複数の描画コンポーネントのうち前記描画処理負荷が最も高いものとして、単位時間当たりに描画処理を行っている時間の最も長いものを選ぶこととしてもよい。
【００１２】
この構成によれば、描画処理負荷の算出を、負荷の測定より比較的測定の容易な描画処理時間により判断することができる。
【００１３】
また、前記切替実施部は、前記高速バッファ及び前記汎用バッファに記録されている内容をコピーせずに、バッファを切り替える第１の切替手順と、前記高速バッファに記憶された内容を前記汎用バッファにコピーした後に、バッファを切り替える第２の切替手順と、前記汎用バッファに記憶された内容を前記高速バッファにコピーした後に、バッファを切り替える第３の切替手順とのうち１つを選択することとしてもよい。
【００１４】
この構成によれば、バッファの切替手順を複数の手順から選択することができる。最適な手順を選択することで、バッファ切り替え以後の描画処理における処理落ちを最小にすることができる。
【００１５】
また、前記切替実施部は、前記１つの切替手順を選択する場合に、前記切替手順それぞれについて、バッファを切り替えた後における、バッファを切り替えずに描画処理を継続する場合と比較したバッファ切替コストを推計し、前記バッファ切替コストが最小の手順を選択することとしてもよい。
【００１６】
この構成によれば、バッファ切り替え以後の描画処理における処理落ちを最小にすることができる。
【００１７】
また、前記バッファ切替コストは、コマ落ち数、表示遅延数及びＣＰＵ負荷値のうち少なくとも１つに基づき判断することとしてもよい。
【００１８】
この構成によれば、コマ落ち、表示遅延及びＣＰＵ負荷のうち少なくとも１つを従来より低減することができる。
【００１９】
また、前記バッファ切替コストは、コマ落ち数、表示遅延数及びＣＰＵ負荷値のうち２つ以上を加えた値に基づき判断することとしてもよい。
【００２０】
この構成によれば、コマ落ち数、表示遅延数及びＣＰＵ負荷値のうち２つ以上を加えた値のみで、バッファ切り替え以後の処理落ちの多寡を判定することができる。
【００２１】
また、前記切替実施部は、フレーム画像を画面表示する場合に、処理落ちがあると判定された場合、処理落ちのある期間、画面表示を変更せずにロックすることとしてもよい。
【００２２】
この構成によれば、画面表示の乱れを抑止することができる。
【００２３】
請求項８に記載の態様である表示切替方法は、画像を描画する高速バッファ及び汎用バッファについて、複数の描画コンポーネント各々に割り当てるバッファを切り替える表示切替装置に用いられる表示切替方法であって、前記複数の描画コンポーネント各々についての描画処理負荷を繰り返し算出する切替判断ステップと、前記描画処理負荷が算出される毎に、前記複数の描画コンポーネントのうち算出された描画処理負荷が最も高いものに前記高速バッファが割り当てられているか否か判断し、割り当てられていない場合に、前記算出された描画処理負荷が最も高い描画コンポーネントと、前記高速バッファが割り当てられている描画コンポーネントとに割り当てるバッファを切り替える切替実施ステップとを含む。
【００２４】
請求項９に記載の態様である集積回路は、画像を描画する高速バッファ及び汎用バッファについて、複数の描画コンポーネント各々に割り当てるバッファを切り替える集積回路であって、前記複数の描画コンポーネント各々についての描画処理負荷を繰り返し算出する切替判断部と、前記描画処理負荷が算出される毎に、前記複数の描画コンポーネントのうち算出された描画処理負荷が最も高いものに前記高速バッファが割り当てられているか否か判断し、割り当てられていない場合に、前記算出された描画処理負荷が最も高い描画コンポーネントと、前記高速バッファが割り当てられている描画コンポーネントとに割り当てるバッファを切り替える切替実施部とを備える。
【００２５】
この構成によれば、バッファを入れ替えた後において、第１及び前記第２描画コンポーネントの描画処理時間の合計が短縮するので、従来よりもコマ落ち、フレーム画像の表示遅延などを低減することができる。
【００２６】
以下、本発明の実施の形態について、図面を参照しながら説明する。
【００２７】
１．実施の形態１ 
本発明の一実施の形態に係る表示切替装置を備えた情報処理端末１は、タッチパネル方式のディスプレイを備える携帯型の情報処理端末である。情報処理端末１は、一例として、情報処理端末１の現在位置を地図画像上に表示するナビゲーションを行うアプリケーションを実行するものとする。このアプリケーションは、地図画像を表示する機能を担当するコンポーネント（以下、第１描画コンポーネントという。）と、写真を表示する機能を担当するコンポーネント（以下、第２描画コンポーネントという。）を含んでおり、地図画像の上に、その地図上の一地点の実際の風景を撮影した写真画像を表示するなど、各描画コンポーネントが生成した画像を必要に応じて重ね合わせて表示する。
【００２８】
通常、情報処理端末１を保持するユーザが移動するたびに、情報処理端末１の現在位置が移動するので、ディスプレイに表示される地図画像が連続的に更新される。このとき、地図画像を表示する第１描画コンポーネントの方が、写真を表示する第２描画コンポーネントよりも画像処理等に要する処理負荷が大きい。ここで、情報処理端末１は、高速なデータ処理が可能な高速メモリデバイスと、汎用メモリデバイスの２種類のメモリデバイスを有しており、第１描画コンポーネントに高速メモリデバイスが割り当てられる。
【００２９】
しかし、ユーザが、地図画像の上に重ねて表示された写真画像を拡大し、縮小し、一部を切り出して表示するなどの操作を指示した場合、第２描画コンポーネントの処理負荷が、第１描画コンポーネントの処理負荷を上回る。このときは、情報処理端末１における表示切替装置が、第１描画コンポーネントが使用するメモリデバイスと、第２描画コンポーネントが使用するメモリデバイスを入れ替えて、処理負荷の高い方が高速メモリデバイスを用いるよう制御する。
【００３０】
以下、各描画コンポーネントを使用するメモリデバイス（バッファ）を適切に切り替えるための構成、処理手順について説明する。
【００３１】
１．１．構成
本発明の一実施の形態に係る情報処理端末１は、具体的には、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）、タッチパネル方式のディスプレイユニット、キーパッドなどから構成されるコンピュータシステムである。ＲＯＭにはコンピュータプログラムが記憶されており、情報処理端末１は、ＲＡＭ上に読み出されたコンピュータプログラムに従いＣＰＵが動作することにより、その機能を達成する。
【００３２】
図１は、情報処理端末１の構成を模式的に表したブロック図である。
【００３３】
図１では、情報処理端末１について、上述のコンピュータプログラムに該当するソフトウェア部と、ハードウェア部とに分けて記載している。ソフトウェア部は、フレームバッファ管理部１１、表示切替部２１、アプリケーション部１３及び合成管理部１４を含み、ハードウェア部は、表示部１５、入力部１６、情報格納部１７、高速メモリデバイス１８、汎用メモリデバイス１９及び表示メモリデバイス１１３を含む。ここで、表示切替部２１と情報格納部１７とが、表示切替装置１２を構成している。
以下、各構成について詳細に説明する。
【００３４】
（１）ハードウェア部
高速メモリデバイス１８及び汎用メモリデバイス１９は、画像データを保持するメモリデバイスである。高速メモリデバイス１８は、汎用メモリデバイス１９に比べて、データの入出力を高速に行うことができる。高速メモリデバイス１８上には、高速な描画処理用のフレームバッファである高速フレームバッファ３１が確保される。汎用メモリデバイス１９上には、通常の描画処理用のフレームバッファである汎用フレームバッファ３２が確保される。汎用フレームバッファ３２を用いて描画処理を行う場合は、高速フレームバッファ３１を用いて同じ処理を行う場合と比べてＣＰＵ等にかかる負荷は大きくなる。
【００３５】
表示メモリデバイス２０は、画像メモリである。表示メモリデバイス２０上には、ディスプレイに表示される映像の元になる画像を保持する表示バッファ３３が確保される。
【００３６】
表示部１５は、表示制御部３４及びディスプレイ３５を含んで構成される。
【００３７】
ディスプレイ３５は、画像を表示するデバイスであり、具体的には、液晶ディスプレイである。
【００３８】
表示制御部３４は、表示バッファ３３に保持されている画像データにより表される画像を、所定の周期的なリフレッシュタイミング毎に読み出し、ディスプレイ３５に表示させる。
【００３９】
表示制御部３４は、情報取得要求に応じて、リフレッシュタイミングの間隔を示すリフレッシュ間隔情報と、直近に行ったリフレッシュの時刻を示すリフレッシュ時刻情報とを含む表示情報４６を通知する。
【００４０】
入力部１６は、キーパッド、タッチパネルを備え、これらを用いて行われるユーザ操作を検知し、入力されたユーザ操作を表すキー入力情報や、タッチパネル操作情報（以下、キー入力情報、タッチパネル操作情報をユーザ操作情報と総称する。）をアプリケーション部１３に通知する。
【００４１】
情報格納部１７は、情報を保持するセキュアなメモリデバイスである。情報格納部１７には、第１描画性能情報４１、第２描画性能情報４２、第１フレームバッファ情報４３、第２フレームバッファ情報４４等の情報が記憶される。
【００４２】
第１フレームバッファ情報４３は、高速フレームバッファ３１の先頭アドレス、汎用フレームバッファ３２の先頭アドレスのいずれか一方と一致する情報である。
【００４３】
第１フレームバッファ情報４３の内容は、適宜、表示切替部２１により書き換えられる。よって、第１フレームバッファ情報４３は、あるときには高速フレームバッファ３１の先頭アドレスと一致し、また別のときには汎用フレームバッファ３２の先頭アドレスと一致する。第２フレームバッファ情報４４についても、第１フレームバッファ情報と同様である。ここで、表示切替部２１は、第１フレームバッファ情報４３と、第２フレームバッファ情報４４との内容が相補的な関係になるよう書き換える。すなわち、第１フレームバッファ情報４３の内容を高速フレームバッファ３１の先頭アドレスと一致させるときには、第２フレームバッファ情報４４の内容を汎用フレームバッファ３２の先頭アドレスと一致させる。逆に、表示切替部２１は、第１フレームバッファ情報４３の内容を汎用フレームバッファ３２の先頭アドレスと一致させるときには、第２フレームバッファ情報４４の内容を高速フレームバッファ３１の先頭アドレスと一致させる。第１描画性能情報４１、第２描画性能情報４２については、後述する。
【００４４】
（２）ソフトウェア部
（フレームバッファ管理部１１）
フレームバッファ管理部１１は、フレームバッファを用いるアプリケーションの数や、アプリケーションに含まれるコンポーネントの数に応じて、高速メモリデバイス１８上に高速フレームバッファ３１として領域を確保し、汎用メモリデバイス１９上に汎用フレームバッファ３２として領域を確保する。
【００４５】
本実施の形態では、一例として、フレームバッファ管理部１１は、フレームバッファを用いるコンポーネントの数と同数のフレームバッファを確保するものとするが、これに限らない。各アプリケーション、コンポーネントが使用するバッファが複数である場合は、必要数だけ確保してよい。また、フレームバッファの確保は、静的に行ってもよいし、動的に行ってもよい。
【００４６】
フレームバッファ管理部１１は、確保した高速フレームバッファ３１の先頭アドレスを、高速フレームバッファ先頭アドレス１１４として保持し、確保した汎用フレームバッファ３２の先頭アドレスを、汎用フレームバッファ先頭アドレス１１５として保持する。
【００４７】
（アプリケーション部１３）
アプリケーション部１３は、コンポーネントとしての第１描画コンポーネント６１及び第２描画コンポーネント６２と、実行制御部６３とを備える。本実施の形態では、実行される描画コンポーネントは、第１描画コンポーネント６１と第２描画コンポーネント６２との２個としているが、これに限らず、３個以上の描画コンポーネントを用いることとしてもよい。
【００４８】
アプリケーション部１３は、一例として、地図を表示する機能と写真を表示する機能とを併せ持つアプリケーションである。第１描画コンポーネント６１が地図を表示する機能を有し、第２描画コンポーネント６２が写真を表示する機能を有する。合成管理部１４が、第１描画コンポーネント６１により生成された地図画像と、これとは別に第２描画コンポーネント６２により生成された写真画像とを重ね合わせる。これにより、地図がディスプレイ３５の表示領域全面に表示されている上に、地図上の一地点の様子を撮影した写真が、その地図上の一地点の近傍に表示されるというような、地図と写真との２つの画像が重ね合わされた表示がなされる。
【００４９】
第１描画コンポーネント６１は、第１描画エンジン部７１と、第１実行管理部７２とを備える。
【００５０】
第１描画エンジン部７１は、情報格納部１７に記憶されている第１フレームバッファ情報４３により指定されるバッファを用いて描画処理を実施する。
【００５１】
第１実行管理部７２は、第１描画コンポーネント６１の描画処理を管理する処理部であり、第１描画エンジン部７１に対して描画命令を与え、情報格納部１７に第１描画性能情報４１を格納する。
【００５２】
第１描画性能情報４１は、第１描画コンポーネント６１の描画性能に関する情報であり、描画所要時間情報、描画間隔情報及び前回描画開始時刻とを含む。描画所要時間は、描画すべき画像データの生成処理を開始してから、生成した画像データをフレームバッファへ書き込むまでの時間を示す。描画間隔は、画像データを描画する時間間隔を示している。例えば、描画コンポーネントが、１５ｆｐｓ（ｆｒａｍｅ  ｐｅｒ  ｓｅｃｏｎｄ）で各フレームを処理する場合であれば、描画間隔は１／１５秒となる。描画間隔については、予め定められている。前回描画開始時刻は、描画処理を実行するごとにその開始した時刻を記録するものである。
【００５３】
第２描画コンポーネント６２は、第２描画エンジン部７３と、第２実行管理部７４とを備える。
【００５４】
第２描画エンジン部７３は、情報格納部１７に記憶されている第２フレームバッファ情報４４により指定されるバッファを用いて描画処理を実施する。
【００５５】
第２実行管理部７４は、第２描画コンポーネント６２の描画処理を管理する処理部であり、第２描画エンジン部７３に描画命令を与え、情報格納部１７に第２描画性能情報４２を格納する。
【００５６】
第２描画性能情報４２は、第２描画コンポーネント６２の描画性能に関する情報であり、描画所要時間情報、描画間隔情報及び前回描画開始時刻を含む。描画所要時間、描画間隔については、第１描画性能情報４１に関し説明したものと同様である。
【００５７】
実行制御部６３は、入力部１６から受け取ったユーザ操作情報等に基づき、第１描画コンポーネント６１と第２描画コンポーネント６２の起動、実行、停止、終了等の制御を行う。また、実行制御部６３は、必要に応じて、ユーザ操作情報等を第１実行管理部７２、第２実行管理部７４に通知する。
【００５８】
（表示切替部２１）
表示切替部２１は、切替判断部８１及び切替実施部８２を含んで構成される。
【００５９】
切替判断部８１は、第１描画性能情報４１及び第２描画性能情報４２を情報格納部１７から取得し、第１描画性能情報４１及び第２描画性能情報４２を用いて、第１描画コンポーネント６１、第２描画コンポーネント６２それぞれが描画処理を実行する場合のＣＰＵ負荷を算出する。
【００６０】
ＣＰＵ負荷は、実測してもよいが、本実施の形態では実測はせず、下式で簡易に算出する。
【００６１】
ＣＰＵ負荷  ＝  描画所要時間  ／  描画間隔    （式１）
そして、切替判断部８１は、算出したＣＰＵ負荷に基づいて、各描画コンポーネントが用いるフレームバッファの切替が必要か否かを判断し、バッファ切替が必要と判断した場合、切替実施部８２へバッファ切替の実行を要求する。ここで、切替判断部８１は、ＣＰＵ負荷の高い描画コンポーネントが、高速描画が可能な高速フレームバッファ３１を用いて描画処理を行っていない場合にバッファ切替が必要と判断し、ＣＰＵ負荷の高いアプリケーションが、高速描画が可能な高速フレームバッファ３１を用いて描画処理を行っていればバッファ切替は不要と判断する。
【００６２】
切替実施部８２は、切替判断部８１から切替の実施の要求を受け付けると、高速フレームバッファ３１の先頭アドレスと、汎用フレームバッファ３２の先頭アドレスとをフレームバッファ管理部１１から取得する。そして、情報格納部１７における第１フレームバッファ情報４３と第２フレームバッファ情報４４とのうち、高速描画を要する描画コンポーネントに対応する方に、高速フレームバッファ３１の先頭アドレスを書き込み、他方に汎用フレームバッファ３２の先頭アドレスを書き込む。
【００６３】
例えば、切替判断部８１によってバッファ切替が必要と判断され、高速描画を要する描画コンポーネントが、第１描画コンポーネント６１であった場合には、高速フレームバッファ３１の先頭アドレスを第１描画コンポーネント６１に対応する第１フレームバッファ情報４３として、情報格納部１７に書き込むこととなる。このとき、第２描画コンポーネント６２に対応する第２フレームバッファ情報４４としては、汎用フレームバッファ３２の先頭アドレスを書き込むこととなる。
【００６４】
また、切替実施部８２は、フレームバッファを切り替えることにより、合成時の重なり設定の変更を合成管理部１４に通知する。ここで、重なり設定とは、高速フレームバッファ３１に描かれた画像と、汎用フレームバッファ３２に描かれた画像のいずれを上に表示するかを定めたものである。
【００６５】
ここで、バッファの切り替えが生じる場合について、具体例を用いて説明する。
【００６６】
ユーザが地図を操作し、表示中の地図画像を連続して更新している場合には、第１描画コンポーネント６１のＣＰＵ負荷が第２描画コンポーネント６２のＣＰＵ負荷よりも高いため、第１描画コンポーネント６１が高速フレームバッファ３１を使用する。このとき、第２描画コンポーネント６２は汎用フレームバッファ３２を使用する。ここで、ユーザが、特定の写真を拡大表示するといった操作を行うと、ユーザの操作対象が地図から写真に変化する。このとき、第２描画コンポーネント６２のＣＰＵ負荷が、第１描画コンポーネント６１のＣＰＵ負荷より高くなる場合があり、このときバッファの切替処理を行う。切替処理以後は、第２描画コンポーネント６２が、高速フレームバッファ３１を使用し、第１第２描画コンポーネント６２が、汎用フレームバッファ３２を使用することになる。
【００６７】
（合成管理部１４）
合成管理部１４は、切替実施部８２から受け取る重なり設定に基づき、高速フレームバッファ３１に格納されているデータから生成した画像と、汎用フレームバッファ３２に格納されたデータから生成した画像とを重ねて合成し、合成により生じた合成画像を表示フレームバッファ３３に書き込む。
【００６８】
１．２．動作
以下に、情報処理端末１におけるバッファ切替処理について説明する。
【００６９】
図２は、本実施の形態に係るバッファ切替処理の流れを示すフローチャートである。
【００７０】
情報処理端末１において、アプリケーション部１３が既に起動し、第１描画コンポーネント６１と第２描画コンポーネント６２とがそれぞれ描画処理を行っているものとする。この状態で、バッファ切替処理が一定時間毎に行われるものとするが、これに限らず、適切なときに行ってよい。例えば、ユーザ指示がある毎に行うこととしてもよい。
【００７１】
まず、切替判断部８１は、情報格納部１７から第１描画性能情報４１及び第２描画性能情報４２を取得し、取得した第１描画性能情報４１及び第２描画性能情報４２に基づいて、第１描画コンポーネント６１及び第２描画コンポーネント６２のＣＰＵ負荷を上述の式１に基づき算出する（Ｓ１０１）。
【００７２】
次に、切替判断部８１は、第１描画コンポーネント６１のＣＰＵ負荷と、第２描画コンポーネント６２のＣＰＵ負荷を参照し、最もＣＰＵ負荷の高い描画コンポーネントが高速フレームバッファ３１に描画しているか否か判定する（Ｓ１０２）。具体的には、最もＣＰＵ負荷の高い描画コンポーネント（第１描画コンポーネント６１と第２描画コンポーネント６２とのいずれか）に対応するフレームバッファ情報（第１フレームバッファ情報４３と、第２フレームバッファ情報４４とのいずれか）が、高速フレームバッファの先頭アドレスと一致するか否かにより判断する。一致する場合は、最もＣＰＵ負荷の高い描画コンポーネントが高速フレームバッファ３１に描画していることとなり、一致しない場合には、最もＣＰＵ負荷の高い描画コンポーネントが高速フレームバッファ３１に描画していないことになる。
【００７３】
最もＣＰＵ負荷の高い描画コンポーネントが高速フレームバッファ３１に描画しているならば（Ｓ１０２がＹｅｓ）、切替判断部８１は、バッファ切替は必要ないと判断し、バッファ切り替え処理を終了する。一方、最も負荷の高い描画コンポーネントが高速フレームバッファ３１に描画していないと判断した場合（Ｓ１０２がＮｏ）、切替判断部８１は、バッファ切替が必要と判断し、切替実施部８２へバッファ切替の実行を要求する。
【００７４】
バッファ切替の実行要求を受けた切替実施部８２は、第１実行管理部７２と第２実行管理部７４に実行状態（描画処理中か否か）を問い合わせ、第１描画コンポーネント６１及び第２描画コンポーネント６２の双方の描画処理が終了した後に、第１実行管理部７２と第２実行管理部７４に対し、描画処理を実行しないよう命令する（Ｓ１０３）。描画処理途中に、描画処理の中断を指示すると、ディスプレイ３５に表示される映像が乱れてしまうためである。なお、第１描画コンポーネント６１及び第２描画コンポーネント６２の双方が描画処理中でない場合は、切替実施部８２は直ちに描画処理を実行しないよう命令する。
【００７５】
次に、切替実施部８２は、フレームバッファ管理部１１から、高速フレームバッファ３１の先頭アドレスと、汎用フレームバッファ３２の先頭アドレスを取得する（Ｓ１０４）。
【００７６】
次に、切替実施部８２は、Ｓ１０２において、切替判断部８１によりＣＰＵ負荷が高いと判断された描画コンポーネント（第１描画コンポーネント６１、第２描画コンポーネント６２のいずれか）に対応するフレームバッファ情報（第１フレームバッファ情報４３又は第２フレームバッファ情報４４）の内容を高速フレームバッファ３１の先頭アドレスで書き換える。また、切替実施部８２は、ＣＰＵ負荷が高いと判断されなかった方の描画コンポーネントに対応するフレームバッファ情報の内容を、汎用フレームバッファ３２の先頭アドレスで書き換える（Ｓ１０５）。
【００７７】
これにより、ＣＰＵ負荷が高いと判断された描画コンポーネントには、高速フレームバッファ（高速フレームバッファ３１）が割り振られ、以降の描画処理には、高速フレームバッファ３１を使用することになる。
【００７８】
次に、切替実施部８２は、合成管理部１４に通知して、高速フレームバッファ３１と汎用フレームバッファ３２の、合成時の重なり設定を変更する（Ｓ１０６）。例えば、切替前において、高速フレームバッファ３１に地図画像が格納され、汎用フレームバッファ３２に写真画像が格納されており、高速フレームバッファ３１に格納された地図画像の上に、汎用フレームバッファ３２に格納された写真画像が重ねて表示されていたものとする。この場合、切替後には、汎用フレームバッファ３２に地図画像が格納され、高速フレームバッファ３１に写真画像が格納されることになる。重なり設定を変更しない場合、高速フレームバッファ３１に格納された写真画像の上に汎用フレームバッファ３２に格納された地図画像が表示されることになり、ディスプレイ３５には、結局地図画像のみが表示されることになってしまう。これを避けるために、高速フレームバッファ３１に格納された画像と、汎用フレームバッファ３２に格納された画像との重なり順序を入れ替えるように重なり設定を変更する。
【００７９】
最後に、切替実施部８２は、第１実行管理部７２と第２実行管理部７４に、描画処理を再開するよう命令する（Ｓ１０７）。描画処理を再開した後は、Ｓ１０２で切替判断部８１によりＣＰＵ負荷が高いと判断された描画コンポーネントが、高速フレームバッファ３１を使用して描画処理を行うことになる。
【００８０】
かかる構成によれば、複数の描画コンポーネントを持つアプリケーションを実行中に、ユーザー操作などで各描画コンポーネントの処理にかかるＣＰＵ負荷の大小が変化しても、ＣＰＵ負荷の高い描画コンポーネントが随時、描画処理の所要時間の短い高速フレームバッファ３１に対して描画することとなるので、ＣＰＵ負荷を低減し、描画処理時間を短縮でき、ひいては、フレームレートを向上させ、及びユーザー操作に対するレスポンスを向上させることができる。
【００８１】
２．実施の形態２
実施の形態１では、ＣＰＵ負荷に応じてバッファの切り替え要否を判断していたが、実施の形態２では、これに加え、バッファの切り替えが必要と判断した場合に、予め備える複数のバッファ切替手順から最適なものを選択し、選択したバッファ切替手順によりバッファの切り替えを行う。最適なバッファ切替手順は、各切替手順についての描画遅延の発生、コマ落ちの発生、ＣＰＵ負荷を予測し、予測結果から総合的に判断して決定する。
【００８２】
ここで、複数のバッファ切替手順は、（１）バッファの内容を相互にコピーすることなくバッファを切り替える手順（以下、第１切替手順という。）、（２）第１描画コンポーネント６１が用いているバッファの内容を第２描画コンポーネント６２が用いているバッファにコピーし、その後、バッファを切り替える手順（以下、第２切替手順という。）、（３）第２描画コンポーネント６２が用いているバッファの内容を第１描画コンポーネント６１が用いているバッファにコピーし、その後、バッファを切り替える手順（以下、第３切替手順という。）の３つである。なお、以下では、バッファを切り替えずに描画処理を進める手順を、便宜上、第４切替手順という。
【００８３】
なお、第１切替手順では、バッファ切替手順の選択直前にバッファに記憶されている内容は破棄されてしまうので、第１描画コンポーネント６１、第２描画コンポーネント６２のそれぞれが、新たに、バッファ切替手順の選択直前に用いていたのと異なるフレームバッファを用いて描画処理を行うことになる。
【００８４】
２．１．構成
図３は、本発明の実施の形態２における情報処理端末１の構成の一例を示すブロック図である。
【００８５】
図３において、図１と同じ構成要素については同じ符号を用い、重複する説明は省略する。
【００８６】
本実施の形態に係る情報処理端末１は、実施の形態１の構成と以下の点で異なっている。
（１）フレームバッファ管理部１１内に、フレームバッファ生成管理部９４、フレームバッファ状態管理部９３が設けられている。なお、フレームバッファ生成管理部９４が、実施の形態１のフレームバッファ管理部１１に相当する。
（２）描画コピー制御部２２が追加されている。
（３）表示切替部２１に、切替手順選択部８３と表示時刻算出部８４とが追加されている。
（４）情報格納部１７に記録される情報に、切替手順情報４５と表示情報４６とが追加されている。
（５）表示メモリデバイス２０に、第１直前フレームバッファ３６と第２直前フレームバッファ３７とが設けられている。
（６）表示切替装置１２が、情報格納部１７、表示切替部２１及び描画コピー制御部２２から構成されている。
【００８７】
以下、これらの相違点を中心に説明する。
（フレームバッファ管理部１１）
フレームバッファ管理部１１は、フレームバッファ状態管理部９３と、フレームバッファ生成管理部９４とを備える。
【００８８】
フレームバッファ状態管理部９３は、表示制御部３４から表示情報４６を取得して情報格納部１７に記録する。本実施の形態では、表示制御部３４が、リフレッシュタイミング毎にリフレッシュ時刻情報を更新し、最新のリフレッシュ時刻情報を含む最新の表示情報４６をリフレッシュタイミング毎にフレームバッファ状態管理部９３に通知するものとする。
【００８９】
フレームバッファ生成管理部９４は、フレームバッファを用いるアプリケーションの数や、アプリケーションに含まれるコンポーネントの数に応じて、高速メモリバッファ１８上に高速フレームバッファ３１としてメモリ領域を確保し、汎用メモリデバイス１９上に汎用フレームバッファ３２としてメモリ領域を確保する。そして、フレームバッファ生成管理部９４は、確保した高速フレームバッファ３１の先頭アドレスを高速フレームバッファ先頭アドレス１１４として保持し、確保した汎用フレームバッファ３２の先頭アドレスを汎用フレームバッファ先頭アドレス１１５として保持する。ここで、本実施の形態では、フレームバッファ生成管理部９４は、フレームバッファを用いるコンポーネントの数と同数のフレームバッファを確保するものとする。具体的には、高速メモリデバイス１８における高速フレームバッファ３１と、汎用メモリデバイス１９における汎用フレームバッファ３２の２つのフレームバッファを確保するものとする。しかしながら、２つのフレームバッファを確保するとしたのは、説明を簡潔にするため便宜上定めたものであり、これに限らない。各アプリケーション、コンポーネントが使用するバッファが複数である場合は、２個に限らず必要数だけ、あるいは必要数の一部だけ確保してよい。また、フレームバッファの確保は、静的に行ってもよいし、動的に行ってもよい。また、高速フレームバッファ３１のメモリ領域が許す限り、高速フレームバッファ３１上にフレームバッファを確保することとした方が、描画処理の能力は向上する。
【００９０】
フレームバッファ生成管理部９４は、更に、高速フレームバッファ３１を用いた描画処理の所要時間を、汎用フレームバッファ３２を用いて同じ描画処理を行うとした場合の所要時間に変換する第１変換係数、及び、汎用フレームバッファ３２を用いた描画処理の所要時間を、高速フレームバッファ３１を用いて同じ描画処理を行うとした場合の所要時間に変換する第２変換係数を保持している。例えば、高速フレームバッファ３１及び汎用フレームバッファ３２を用いて同じ描画処理を行うとしたときに、高速フレームバッファ３１を用いると０．１秒要し、汎用フレームバッファ３２を用いると０．２秒要する場合であれば、第１変換係数は２となり、第２変換係数は０．５となる。
（描画コピー制御部２２）
描画コピー制御部２２は、コピー要求に従い、高速フレームバッファ３１と汎用フレームバッファ３２のうちの一方に記録された内容を他方へコピーし、また、双方に記録されている内容を相互にコピーして入れ替える。
（表示切替部２１）
表示切替部２１は、切替判断部８１、切替実施部８２に加え、切替手順選択部８３と、表示時刻算出部８４とを含んで構成される。
（表示時刻算出部８４）
表示時刻算出部８４は、切替手順選択部８３から、第１〜第４切替手順のうちいずれかを指定した表示時刻算出要求を受け取る。そして、表示時刻算出部８４は、第１描画コンポーネント６１及び第２描画コンポーネント６２のそれぞれが定期的に行う描画処理それぞれの開始時刻、終了時刻を算出する。そして、各描画処理により生成し、書き込まれた画像が、どのリフレッシュタイミングで表示されるかを算出する。表示時刻算出部８４により算出された情報に基づいて、切替手順選択部８３により、各切替手順によるフレーム画像の表示遅延、コマ落ち、ＣＰＵ負荷の増加について総合的に評価され、切替手順が選択される。
【００９１】
図４は、表示時刻算出部８４による、表示時刻算出処理の手順を示すフローチャートである。
【００９２】
図５は、第２切替手順を行う場合の描画処理を示すタイミングチャートである。また、タイミングチャートに、描画される画面イメージを模式的に現す図形を付加している。
【００９３】
以下では、説明の便宜上、まず、図５について説明する。その後、図４のフローチャートについて、図５を参照しつつ、第１切替手順が指定されている場合を例に説明する。
【００９４】
図５の横軸ｔは、時刻を示す。
【００９５】
図５の縦軸は、高速ＦＢ（フレームバッファ）、汎用ＦＢ、表示ＦＢの各欄に分かれており、高速ＦＢの欄は、描画処理が高速フレームバッファ３１を用いて行われることを示し、汎用ＦＢの欄は、描画処理が汎用フレームバッファ３２を用いて行われることを示し、表示ＦＢの欄は、描画処理が表示フレームバッファ３３を用いて行われることを示す。
【００９６】
図５中、ＴＲａ（ａは整数であり、図中ではａ＝−１、０、１〜５）は、リフレッシュタイミングを示す。各リフレッシュタイミング相互の間隔は一定時間ＴＩである。ＴＩは、表示情報４６に含まれるリフレッシュ間隔情報であり、ディスプレイの表示に関する性能、仕様等により定まる。
【００９７】
描画ｂバー（ｂ＝１、２）は、第ｂ描画コンポーネントが、このバーの時間軸方向の幅で示される処理期間において描画処理を行うことを表現している。
【００９８】
例えば、描画１バー２０１は、第１描画コンポーネント６１が、このバーの時間軸方向の幅で示される処理期間（ＴＤ１）において描画処理を行うことを表現している。描画１バー２０１は、高速ＦＢ欄に記載されており、この描画処理は高速フレームバッファ３１を用いて行われる。描画１バー２０１に示される処理は、時刻Ｔ１０に開始し、時刻Ｔ１１に終了する。
描画１バー２０２〜２０５についても、描画１バー２０１と同様である。ただし、描画１バー２０３〜２０５については、汎用ＦＢ欄に記載されており、この描画処理は汎用フレームバッファ３２を用いて行われる。描画１バー２０３〜２０５の処理期間（ＴＤ４）は、高速フレームバッファ３１を用いる描画１バー２０１〜２０２に比べ長くなっている（ＴＤ１＜ＴＤ４）。
【００９９】
描画２バー２１１は、第２描画コンポーネント６２が、このバーの時間軸方向の幅で示される期間（ＴＤ２）において描画処理を行うことを示す。描画２バー２１１は、汎用ＦＢ欄に記載されており、この描画処理は汎用フレームバッファ３２を用いて行われる。描画２バー２１１に示される処理は、描画１バー２０１に示される描画処理が終了するＴ１１に開始し、時刻Ｔ１２に終了する。描画２バー２１２〜２１４についても、描画２バー２１１と同様である。ただし、描画２バー２１２〜２１４については、高速ＦＢ欄に記載されており、これらの描画処理は高速フレームバッファ３１を用いて行われており、処理期間（ＴＤ３）は、描画２バー２１１に比べ短くなっている（ＴＤ２＜ＴＤ３）。
【０１００】
Ｔ１３〜Ｔ２０についても、Ｔ１０〜Ｔ１２と同様、それぞれ描画処理の開始、終了時刻を示す。
【０１０１】
合成バー２２１は、このバーの時間軸方向の幅で示される期間において、合成管理部１４により合成画像が生成され、その合成画像が表示制御部３４によりディスプレイ３５に表示されることを示す。合成バー２２１により示される描画処理は、リフレッシュタイミングＴＲ０において開始する。合成バー２２１は、表示ＦＢ欄に記載されており、この描画処理が表示フレームバッファ３３を用いて行われることを示している。合成バー２２２〜２２５についても、合成バー２２１と同様である。
【０１０２】
メモリコピーバー２３１は、このバーの時間軸方向の幅で示される期間において、描画コピー制御部２２により、高速フレームバッファ３１の内容を、第２フレームバッファ３２にコピーしていることを示す。ＴＤＣは、コピーに要する時間を示している。
【０１０３】
また、描画１バー２０１から吹き出し中に示された矩形（画像２５１）は、第１描画コンポーネント６１がフレームバッファに書き込む画像データ、及び画像データに基づきディスプレイ３５に表示される画像イメージを模式的に示している。画像２５１中の数値「０」は、第１描画コンポーネント６１が書き込む画像に付された番号（フレーム番号）を示す。なお、このフレーム番号は、画像相互の相対的な順番を示すために便宜上用いているだけで、この番号自体が特別な意図を有する訳ではない。
【０１０４】
同様に、描画２バー２１１から、吹き出し中に示されたハッチングされた矩形（画像２６１）は、第２描画コンポーネント６２がフレームバッファに書き込む画像データ、及び画像データに基づきディスプレイ３５に表示される画像イメージを模式的に示している。画像２６１中の数値「１」は、第２描画コンポーネント６２が書き込む画像に付されたフレーム番号を示す。
【０１０５】
また、合成バー２２１から、吹き出しで表した領域中に示された矩形（画像２７１）は、合成管理部１４が表示フレームバッファ３３に書き込む画像を模式的に示している。この画像２７１は、画像２５１の上に画像２８２が合成された画像である。
【０１０６】
画像２５２〜２５５については、画像２５１と同様である。また、画像２６２〜２６４については、画像２６１と同様である。また、画像２７２〜２７５については、画像２７１と同様である。
【０１０７】
次いで、図５を参照しつつ、図４のフローチャートに従って、説明する。
【０１０８】
図４に係る表示時刻算出処理では、上述のように、第１描画コンポーネント６１及び第２描画コンポーネント６２のそれぞれが定期的に行う描画処理それぞれの開始時刻、終了時刻（Ｔ１１〜Ｔ２０）を算出する。また、各描画処理により生成し、書き込まれた画像（画像２５１〜２６４等、画像２６１〜画像２５５等）が、どのリフレッシュタイミング（ＴＲ０〜ＴＲ４等）で表示されるかを算出する。
【０１０９】
具体的には、まず、切替手順選択部８３が、表示時刻算出部８４に対し、切替開始仮時刻を含み算出対象手順を指定した表示時刻算出要求を送信する。算出対象手順は、第１〜第４切替手順のいずれかを示す。ここでは、算出対象手順は、第２切替手順であるとする。切替開始仮時刻は、切替手順選択部８３により次のように定められる。すなわち、切替手順選択部８３は、表示時刻算出要求を送信しようとしたときに、第１描画コンポーネント６１、第２描画コンポーネント６２のいずれもが描画処理中でなければ、現在時刻を切替開始仮時刻とする。また、第１描画コンポーネント６１、第２描画コンポーネント６２のいずれかが描画処理中であれば、その描画処理の終了直後を切替開始仮時刻とする。図５の例では、切替手順選択部８３は、描画処理の終了直後ＴＣ（Ｔ１３）を切替開始仮時刻として表示時刻算出要求に含める。
【０１１０】
なお、リフレッシュタイミングＴＲａ（ａは整数）は、ＴＣの直前のリフレッシュタイミングをＴＲ０としてａに値を割り振る。また、フレーム番号は、ＴＣの直前に描画処理された画像のフレーム番号を１とし、順に割り振っている。
【０１１１】
表示時刻算出部８４は、切替手順選択部８３から表示時刻算出要求を受けて処理を開始する。表示時刻算出部８４は、表示時刻算出要求に含まれる切替開始仮時刻を変数ｔに格納する（Ｓ４０１）。
【０１１２】
次に、表示時刻算出部８４は、情報格納部１７から第１描画情報４１と第２描画情報４２とを取得する。そして、第１描画コンポーネント６１について、ｔ直前の描画開始時刻を算出する（Ｓ４０２）。図５の例の場合、描画開始時刻は、第１描画情報４１に含まれる前回描画開始時刻情報で示される描画１バー２０２の先頭時刻Ｔ１２となる。表示時刻算出部８４は、整数型の変数ｍ、ｎを用意している。ｍは第２描画コンポーネントの描画する画像の通し番号を示し、ｎは第１描画コンポーネントの描画する画像の通し番号を示す。このＳ４０２で算出される先頭時刻に係る画像のフレーム番号（ｎ）を１とする。
【０１１３】
第２描画コンポーネント６２についても同様に、ｔ直前の描画開始時刻を算出する（Ｓ４０３）。図５の例の場合、描画開始時刻は、第２描画情報４２に含まれる前回描画開始時刻情報で示される描画２バー２１１の先頭時刻Ｔ１１となる。このＳ４０３で算出される先頭時刻に係る画像のフレーム番号（ｍ）を１とする。
【０１１４】
次に、表示時刻算出部８４は、算出対象手順が第２切替手順であるか否か判定し（Ｓ４０３）、第２切替手順であった場合（Ｓ４０３：ＹＥＳ）、高速フレームバッファ３１に記憶されている内容を汎用フレームバッファ３２へコピーするとした場合の完了時刻（Ｔ１４）を算出し、ｔに格納する（Ｓ４０４）。なお、高速フレームバッファ３１に記憶されている内容を汎用フレームバッファ３２へコピーするのに要する時間ＴＤＣは、既知であるとする。
【０１１５】
次に、表示時刻算出部８４は、算出対象手順が第３切替手順か否か判定し（Ｓ４０５）、第３切替手順であった場合（Ｓ４０５：ＹＥＳ）、汎用フレームバッファ３２に記憶されている内容を高速フレームバッファ３１へコピーするとした場合の完了時刻を算出し、ｔに格納する（Ｓ４０６）。なお、汎用フレームバッファ３２に記憶されている内容を高速フレームバッファ３１へコピーするのに要する時間は、既知であるとする。
【０１１６】
次に、表示時刻算出部８４は、ｍ、ｎに２を設定する（Ｓ４０７）。
【０１１７】
次に、表示時刻算出部８４は、時刻ｔ以降であって、時刻ｔに最も近い時刻に描画処理を行う描画コンポーネントがいずれであるか判断する（Ｓ４０６）。
【０１１８】
Ｓ４０８で、第１描画コンポーネント６１であると判断した場合、Ｓ４１１に進み、第２描画コンポーネント６２であると判断した場合、Ｓ４０９に進む。図５の場合、時刻ｔ（＝ＴＣ）に最も近い時刻に描画処理を開始する描画コンポーネントは、時刻ｔに最も近い先頭時刻Ｔ１４に処理を開始する第２描画コンポーネントである。
【０１１９】
Ｓ４０８で、第２描画コンポーネント６２であると判断した場合（Ｓ４０８：第２描画コンポーネント）、表示時刻算出部８４は、時刻ｔに最も近い時刻に開始する描画処理の描画処理終了時刻を算出し、ｔに上書き格納する（Ｓ４０９）。
【０１２０】
図５の場合、描画処理終了時刻は、描画２バー２１２の最後であるＴ１５となり、ｔにＴ１５を上書き格納する。
【０１２１】
なお、ＴＣ以降の各描画バーで示される処理の所要時間は、あくまで、ＴＣ時点での推測である。また、描画処理に要する時間は、全ての描画処理で同一では無い場合もあるが、ここでは、ｔの直近に行った描画処理について測定した所要時間を、以後に行うべき描画処理の所要時間とみなす。但し、直近に行った描画処理に用いたフレームバッファと、以後行う描画処理に用いるフレームバッファとが異なる場合には、上述のように、直近に行った描画処理について測定した所要時間を以後に行うべき描画処理の所要時間とみなすことはできない。よって、直近に行った描画処理について測定した所用時間に、第１又は第２変換係数を乗じて、以後に行うべき描画処理の所要時間とみなす。なお、描画処理時間は、予め定めておいた時間、描画処理の平均時間等を用いることとしてもよい。
【０１２２】
次に、表示時刻算出部８４は、情報格納部１７から表示情報４６を取得し、表示情報４６に含まれるリフレッシュ時刻情報を用いて、時刻ｔ以降の直近のリフレッシュタイミングを算出する。表示時刻算出部８４は、このリフレッシュタイミングを第２描画コンポーネント６２のｍ番目の画面表示時刻として保持する（Ｓ４１０）。図５の例では、Ｓ４０９でｔにはＴ１５が設定されており、Ｔ１５以降の直近のリフレッシュタイミングＴＲａ（ａ＝２）が、第２描画コンポーネント６２のｍ（＝２）番目のリフレッシュタイミングである。このときのａを画面表示時刻として保持する。
【０１２３】
次に、表示時刻算出部８４は、第２描画コンポーネント６２のｍ番目の描画フレームの描画開始時刻を算出し、保持する（Ｓ４１１）。図５の場合、第２描画コンポーネント６２のｍ（＝２）番目の描画開始時刻は、Ｔ１４である。
【０１２４】
以上のＳ４０９〜Ｓ４１１の処理により、表示時刻算出部８４は、第２描画コンポーネント６２のｍ（＝２）番目の画像の描画開始時刻、描画終了時刻、ｍ（＝２）番目の画像が表示されるリフレッシュタイミングを算出したことになる。
【０１２５】
次に、表示時刻算出部８４は、ｍに１を加え（Ｓ４１２）、Ｓ４１７に遷移する。
【０１２６】
表示時刻算出部８４は、時刻ｔを元に、Ｓ４０９からＳ４１２、またはＳ４１４からＳ４１６の処理をもう一度行うか否かを判断する（Ｓ４１７）。判断の基準としては、ｔが予め定めた上限値に達したか否かで判断する。上限値は、本処理に要した時間に基づいて設定し直すこととしてもよい。
【０１２７】
Ｓ４１７において、もう一度処理を行うと判断した場合（Ｓ４１７がＮＯ）、Ｓ４０８に移行し、もう一度処理を行うと判断されなかった場合（Ｓ４１７がＹＥＳ）、処理を終了する。本実施の形態では、ｍ、ｎが４になるまでの時間程度の間、算出処理は終了せず、Ｓ４１７がＮＯとなるよう上限値を設定しているものとする。
【０１２８】
図５の例においてＳ４１７からＳ４０８へ最初に移行したとき、ｔはＴ１５であったので、Ｓ４０８において、時刻ｔ直後に描画処理を行う描画コンポーネントは、第１描画コンポーネント６１と判断される。このとき実行するＳ４１３〜Ｓ４１６は、第２描画コンポーネント６１について既に説明したＳ４０９〜Ｓ４１２とは、第２描画コンポーネント６２が第１描画コンポーネント６１に置き換わったこと、変数ｍがｎに置き換わったことを除き同様である。よって、Ｓ４１３〜Ｓ４１６については、これ以上の説明を省略する。以上のＳ４１３〜Ｓ４１５の処理により、表示時刻算出部８４は、第１描画コンポーネント６１のｍ（＝２）番目の画像の描画開始時刻、描画終了時刻、ｍ（＝２）番目の画像が表示されるリフレッシュタイミングを算出したことになる。
【０１２９】
以上の処理を行った結果、第２描画コンポーネント６２及び第１描画コンポーネント６１のそれぞれについて、ｍ＝１〜４それぞれの画像の描画開始時刻、描画終了時刻、画像が表示されるリフレッシュタイミングを算出する。
【０１３０】
図６は、第４切替手順についての描画処理を示すタイミングチャートである。
【０１３１】
図６の図形、記号等の参照方法は図４と同様である。
【０１３２】
図６の第４切替手順と、図４の第２切替手順の違いは、大きくは、図４でメモリコピーバー２３１として現したメモリ内容のコピーを行わないこと、及びＴＣにおいて第１描画コンポーネント６１と第２描画コンポーネント６２が用いるメモリバッファを切り替えていないことである。
【０１３３】
第４切替手順についても、図４のフローチャートを用いることにより、描画１バー２０１〜２０２、３１１〜３１３、及び描画２バー２１１、３２１〜３２３の描画処理それぞれについて、ｍ＝１〜４それぞれの画像の描画開始時刻、描画終了時刻、画像が表示されるリフレッシュタイミングを算出する。
【０１３４】
図７は、第１切替手順についての描画処理を示すタイミングチャートである。
【０１３５】
図７の図形、記号等の参照方法は図４と同様である。
【０１３６】
図７の第１切替手順と、図４の第２切替手順の違いは、大きくは、図４でメモリコピーバー２３１として現したメモリ内容のコピーを行わないことである。
【０１３７】
第１切替手順についても、図４のフローチャートを用いることにより、描画１バー２０１〜２０２、３６１〜３６３、及び描画２バー２１１、３５１〜３５３の描画処理それぞれについて、ｍ＝１〜４それぞれの画像の描画開始時刻、描画終了時刻、画像が表示されるリフレッシュタイミングを算出する。
【０１３８】
図８は、第３切替手順についての描画処理を示すタイミングチャートである。
【０１３９】
図８の図形、記号等の参照方法は図４と同様である。
【０１４０】
図８の第３切替手順と、図４の第２切替手順の違いは、大きくは、図４でメモリコピーバー２３１として現したメモリ内容のコピーにおける、コピー元とコピー先が逆転していることである。すなわち、汎用フレームバッファ３２に記憶されている内容を高速フレームバッファ３１へコピー（メモリコピーバー２３１として表す）している点である。
【０１４１】
第３切替手順についても、図８のフローチャートを用いることにより、描画１バー２０１〜２０２、３８１〜３８３、及び描画２バー２１１、３９１〜３９３の描画処理それぞれについて、ｍ＝１〜４それぞれの画像の描画開始時刻、描画終了時刻、画像が表示されるリフレッシュタイミングを算出する。
【０１４２】
図９は、第１〜第４切替手順についての表示時刻算出処理による算出結果をまとめた表である。
【０１４３】
図９（ａ）は、第４切替手順における、フレーム番号（ｍ、ｎ）と、第１描画コンポーネント６１、第２描画コンポーネントそれぞれについて、どのリフレッシュタイミング（ＴＲａの「ａ」）で表示されるかを示す。図９（ａ）のフレーム番号は、ｍ及びｎの値を示す。
【０１４４】
例えば、図９（ａ）の欄５１１の値は１である。すなわち、第１描画コンポーネント６１のフレーム番号１の画像２２３は、リフレッシュタイミングＴＲ１において表示されることを示す。図９（ａ）の欄５１２の値は０である。すなわち、第２描画コンポーネント６２のフレーム番号１の画像２２２は、リフレッシュタイミングＴＲ０において表示されることを示す。また、図９（ａ）の欄５１３の値は２である。すなわち、第１描画コンポーネント６１のフレーム番号２の画像２２５は、リフレッシュタイミングＴＲ２において表示されることを示す。図９（ａ）の欄５１４の値は２である。すなわち、第２描画コンポーネント６２のフレーム番号２の画像２２４は、リフレッシュタイミングＴＲ２において表示されることを示す。図９（ａ）の欄５１５の値は３である。すなわち、第１描画コンポーネント６１のフレーム番号３の画像２２７は、リフレッシュタイミングＴＲ３において表示されることを示す。図９（ａ）の欄５１６の値は３である。すなわち、第２描画コンポーネント６２のフレーム番号３の画像２２６は、リフレッシュタイミングＴＲ３において表示されることを示す。
【０１４５】
図９（ｂ）、図９（ｃ）、図９（ｄ）は、それぞれ、第１切替手順〜第３切替手順それぞれにおける、フレーム番号（ｍ、ｎ）と、第１描画コンポーネント６１、第２描画コンポーネントそれぞれについて、どのリフレッシュタイミング（ＴＲａの「ａ」）で表示されるかを示す。
【０１４６】
図９（ｂ）、図９（ｃ）、図９（ｄ）については、図９（ａ）に記載のない遅延欄（欄５２１、欄５２２）が設けられている。
【０１４７】
これは、図９（ｂ）に係る第１切替手順を採用した場合に、図９（ａ）に係る第４切替手順を採用したのと比べて生じる遅延を記載したものである。遅延は少ないほど望ましい。
【０１４８】
図９（ｂ）の欄５２１には、遅延として−１が記載されている。
【０１４９】
これは、第１描画コンポーネント６１に関し、第１切替手順を採用すると、第４切替手順を採用する場合に比べ、遅延が１減っていることを示す。具体的には、第４フレームが表示されるリフレッシュタイミングが、第４切替手順では５（ＴＲ５）であるのに対し、第１切替手順では４（ＴＲ４）で表示される。
【０１５０】
また、図９（ｂ）の欄５２２には、値−３が記載されている。
【０１５１】
これは、第２描画コンポーネント６２に関し、フレーム番号２、３、４のフレームが表示されるリフレッシュタイミングが、第４切替手順では２（ＴＲ２）、３（ＴＲ３）、４（ＴＲ４）であるのに対し、第１切替手順では１（ＴＲ１）、２（ＴＲ２）、３（ＴＲ３）であり、それぞれ表示されるリフレッシュタイミングが１ずつ繰り上がっているため、この合計値が−３となったものである。
【０１５２】
図９（ｅ）〜図９（ｇ）は、第１〜第３切替手順それぞれのスコアを示す表である。
【０１５３】
図９（ｅ）は、第１切替手順のスコアを示す表であり、図９（ｂ）に対応する。
【０１５４】
図９（ｅ）の遅延計は、図９（ｂ）の遅延を合計したものである。具体的には、欄５２１、欄５２２の値の合計となる。
【０１５５】
図９（ｅ）のコマ落ちは、バッファに画像データを記録し、その後、リフレッシュタイミングが来る前に、再度同バッファに画像データが記録された時に生じる。
【０１５６】
一例として、図９（ｅ）、図９（ｂ）に対応する第１切替手順を示す図７の描画１バー２０２においては、画像２５２が高速フレームバッファに記載されるが、リフレッシュタイミングが来る前に、描画２バー３６１に係る描画処理により、画像２６２が高速フレームバッファに上書きされてしまう。よって、画像２５２がコマ落ちする。
【０１５７】
コマ落ちが生じるか否かは、高速フレームバッファに対し、画像データが書き込まれた後、リフレッシュタイミングが来る前に、別の画像データを上書きする描画処理が開始されるか否かにより判断することができる。この判断結果が図９（ｅ）のコマ落ち欄に記載される。
【０１５８】
図９（ｅ）の負荷は、ＣＰＵ負荷を示す。
【０１５９】
高速フレームバッファ、汎用フレームバッファの一方から他方へと内容をコピーする処理を行う場合に、負荷の値として０．１を記載する。第２切替手順、第３切替手順において、負荷が発生することになる。
【０１６０】
図９（ｅ）のスコアは、遅延計欄、コマ落ち欄、及び負荷欄の値の合計である。
【０１６１】
図９（ｆ）は、第２切替手順のスコアを示す表であり、図９（ｃ）に対応する。
【０１６２】
図９（ｇ）は、第３切替手順のスコアを示す表であり、図９（ｄ）に対応する。
【０１６３】
図９（ｆ）、図９（ｇ）についても、図９（ｅ）と同様であるので説明は省略する。
【０１６４】
（切替手順選択部８３）
切替手順選択部８３は、第１切替手順〜第４切替手順それぞれについて、バッファ切替コストを表すスコアを算出する。
【０１６５】
切替手順選択部８３は、図９（ａ）〜図９（ｄ）で示される算出結果を表示時刻算出部８４から取得する。そして、表示時刻算出部８４から取得した表示時刻算出結果に基づき、第１切替手順〜第４切替手順それぞれについて、バッファ切替コストを表すスコアを算出する。スコアについては、既に図９（ｅ）〜図９（ｇ）を用いて説明済みであるので説明は省略する。
【０１６６】
切替手順選択部８３は、算出した各スコアを比較して、スコアの少ない切替手順を最適切替手順として選択する。そして、選択した切替手順を示す切替手順情報４５を情報格納部１７に格納する。
【０１６７】
図１０は、切替手順選択部８３が行う切替手順選択処理のフローチャートである。
【０１６８】
切替手順選択部８３は、切替判断部８１から切替手順選択の開始要求を受けて、切替手順選択処理を開始する。
【０１６９】
切替手順選択部８３は、まず、整数型の変数ｉを用意し、初期値として０を設定する（Ｓ３０１）。
【０１７０】
そして、切替手順選択部８３は、上述の切替開始仮時刻を算出する。ここで、切替手順選択部８３は、上述のように、算出要求を送信しようとしたときに、第１描画コンポーネント６１、第２描画コンポーネント６２のいずれもが描画処理中でなければ、現在時刻を切替開始仮時刻とする。また、第１描画コンポーネント６１、第２描画コンポーネント６２のいずれかが描画処理中であれば、その描画処理の終了直後を切替開始仮時刻とする。ｉが０でない場合には、描画処理の終了直後が切替開始仮時刻とされた描画コンポーネントについて、ｉ回描画処理を行った直後を切替開始仮時刻とする（Ｓ３０２）。
【０１７１】
例えば、図５において、ｉが０の場合、描画１バー２０２の終了直後を切替開始仮時刻とするが、ｉが１の場合、描画１バー２０２の次の描画１バーである描画１バー２０３の終了直後を切替開始仮時刻とする。なお、ｉが１の場合に、描画１バー２０２の次の描画２バーである描画２バー２１２の終了直後を切替開始仮時刻としてもよい。
【０１７２】
次に、切替手順選択部８３は、バッファ切替を行わない第４切替手順についての表示時刻算出要求を表示時刻算出部８４に行い、算出結果（以下、第４算出結果という。）を取得する（Ｓ３０３）。Ｓ３０３の処理は、図４のフローチャートにより実行される。この算出結果は、図９（ａ）に示したものである。
【０１７３】
次に、切替手順選択部８３は、第１切替手順についての表示時刻算出要求を表示時刻算出部８４に行い、算出結果（以下、第１算出結果という。）を取得する（Ｓ３０４）。Ｓ３０４の処理は、図４のフローチャートにより実行される。この算出結果は、図９（ｂ）に示したものである。
【０１７４】
次に、切替手順選択部８３は、第２切替手順についての表示時刻算出要求を表示時刻算出部８４に行い、算出結果（以下、第２算出結果という。）を取得する（Ｓ３０５）。Ｓ３０５の処理は、図４のフローチャートにより実行される。この算出結果は、図９（ｃ）に示したものである。
【０１７５】
次に、切替手順選択部８３は、第３切替手順についての表示時刻算出要求を表示時刻算出部８４に行い、算出結果（以下、第３算出結果という。）を取得する（Ｓ３０６）。Ｓ３０６の処理は、図４のフローチャートにより実行される。この算出結果は、図９（ｄ）に示したものである。
【０１７６】
次に、切替手順選択部８３は、第１切替手段〜第３切替手段について算出したスコアを示す情報を保持しておく（Ｓ３０７）。
【０１７７】
次に、Ｓ３０１で宣言した整数型のｉが上限に達していないかをチェックし、上限に達していない場合は（Ｓ３０８がＮＯ）、ｉに１を加え、再度Ｓ３０２から処理を行う（Ｓ３０８）。上限に達している場合は（Ｓ３０８がＹＥＳ）、ｉを変化させたときにｉ回算出したスコアの平均値が最も良い（スコアの値が低い）スコアを保持する手順を選択し、切替開始時刻、手法、コストを切替手順情報４５として情報格納部１７に格納する（Ｓ３１９）。
【０１７８】
なお、このｉの値の上限は仮設定を行う回数は一定の閾値で設定してもよい。また、本切替手順選択処理の処理時間が一定値を超えた時点でｉを上限とし、Ｓ３０９の処理に進んでもよい。また、ｉの上限を１としてもよい。また、Ｓ３０９において、スコアの平均値が最も良いものを選択せず、スコアの最高値の最も高い切替手順を選択することとしてもよい。
（切替判断部８１）
切替判断部８１は、切替手順選択部８３が選択した手順の切替コストと、保持している閾値とを比較する。切替コストが閾値以上である場合、切替判断部８１は、切り替えを行わないと判断し、処理を終了する。一方、切替コストが閾値未満である場合、切替判断部８１は、切り替えを行うと判断し、切替実施部８２へ切替の実施を要求する。なお、閾値とコストの比較を行わずに、切替手順選択部８３が選択した切替手順により、バッファ切替を行うこととしてもよい。
【０１７９】
２．２．動作
以下、実施の形態２における表示切替動作について説明する。
【０１８０】
図１１は、実施の形態２におけるバッファ切替動作の一例を示すフローチャートである。
【０１８１】
情報処理端末１のアプリケーション１３が起動しており、第１描画コンポーネント６１と第２描画コンポーネント６２のそれぞれが描画処理を行っているとする。
【０１８２】
また、図１１に示す切替動作は、一定時間ごとに実施されるものとするが、これに限らず、ユーザの操作がある度に通知を受け、処理を開始するものとしてもよい。
【０１８３】
まず、切替判断部８１は、Ｓ１０１と同様の処理により、第１描画コンポーネント６１、第２描画コンポーネント６２それぞれのＣＰＵ負荷を算出する（Ｓ２０１）。
【０１８４】
次に、切替判断部８１は、Ｓ１０２と同様の処理により、第１描画コンポーネント６１のＣＰＵ負荷と、第２描画コンポーネント６２のＣＰＵ負荷を参照し、最も負荷の高い描画コンポーネントが高速フレームバッファ３１に描画しているか否か判定する（Ｓ２０２）。
【０１８５】
切替判断部８１は、最も負荷の高い描画コンポーネントが高速フレームバッファ３１に描画していると判定した場合（Ｓ２０２がＹＥＳ）、切替は必要ないと決定し、処理を終了する。
【０１８６】
一方、最も負荷の高い描画コンポーネントが高速フレームバッファ３１に描画していない場合（Ｓ２０２がＮＯ）、切替判断部８１は、切替手順選択部８３に切替手順の選択を命令する。切替手順選択部８３は、切替手順の選択処理を行う（Ｓ２０３）。
【０１８７】
切替手順選択部８３は、第１切替手順〜第４切替手順の中から最適な手順を選択し、選択した手順を切替手順情報４５として情報格納部１７に格納する（Ｓ２０４）。
【０１８８】
Ｓ２０４は、図１０で説明したフローチャートに従って処理される。
【０１８９】
切替判断部８１は、切替手順情報４５を情報格納部１７から取得する（Ｓ２０５）。
【０１９０】
そして、切替判断部８１は、切替手順選択部８３が選択した手順の切替コストと、保持している閾値とを比較する。切替コストが閾値以上である場合、切替判断部８１は、切り替えを行わないと判断し（Ｓ２０６がＮＯ）、処理を終了する。一方、切替コストが閾値未満である場合、切替判断部８１は、切り替えを行うと判断し（Ｓ２０６がＹＥＳ）、切替実施部８２へ切替の実施を要求する。
【０１９１】
次に、切替実施部８２は、第１実行管理部７２と第２実行管理部７４の描画処理の実行状態を読み込み、各描画コンポーネント（１３１、１３２）の描画処理が終了した後に、第１実行管理部７２と第２実行管理部７４に、各描画コンポーネント（１３１、１３２）による描画処理を中止するよう命令する（Ｓ２０７）。なお、全ての描画コンポーネント（１３１、１３２）が描画処理中でない場合は、切替実施部８２は、即時に中断を命令する。
【０１９２】
次に、切替実施部８２は、取得した切替手順に応じて、描画コピー制御部２２に、フレームバッファ間のコピーを指示する（Ｓ２０８）。具体的には、取得した切替手順情報４５により示される切替手順が第２切替手順の場合には、第１描画コンポーネント６１が使用しているバッファの内容を、第２描画コンポーネント６２が使用しているバッファへとコピーするよう指示する。
【０１９３】
取得した切替手順情報４５により示される切替手順が第３切替手順の場合には、第２描画コンポーネント６２が使用しているバッファの内容を、第１描画コンポーネント６１が使用しているバッファへとコピーするよう指示する。
【０１９４】
次に、切替実施部８２は、フレームバッファ生成管理部９４から、高速フレームバッファ３１と汎用フレームバッファ３２のアドレス（高速フレームバッファ先頭アドレス９１、汎用フレームバッファ先頭アドレス９２）を取得する。そして、切替実施部８２は、ステップＳ２０２で切替判断部８１により描画の負荷が高いと判断された描画コンポーネント（１３１または１３２）に対応するフレームバッファ情報格納部（１２４または１２５）に、高速フレームバッファ３１のアドレスを格納する。
さらに、切替実施部８２は、描画の負荷が低いと判断された描画コンポーネント（１３１または１３２）に対応するフレームバッファ情報格納部（１２４または１２５）に、汎用フレームバッファ３２のアドレスを格納する（Ｓ２０９）。これにより、描画の負荷が高いと判断された描画コンポーネントは、高速フレームバッファ（高速フレームバッファ３１）が割り振って設定され、次の描画には、高速フレームバッファを使用することになる。
【０１９５】
次に、切替実施部８２は、合成管理部１４に通知し、高速フレームバッファ３１と汎用フレームバッファ３２の、合成時の重なりの設定を変更する（Ｓ２１０）。
【０１９６】
次に、切替実施部８２は、切替手順に応じて、必要ならば、表示画面の画面ロックを行う（Ｓ２１１）。
【０１９７】
具体的には、切替実施部８２は、合成管理部１４に画面ロックを指示し、合成管理部１４は、表示破綻を起こしうるフレームバッファの合成処理を中止する。
【０１９８】
ここで表示破綻とは、描画コンポーネント（１３１、１３２）が、描画処理を完了しておらず、表示すべき画面が完成していない状態でディスプレイ３５に表示してしまうことをいう。
【０１９９】
次に、切替実施部８２は、第１実行管理部７２と第２実行管理部７４に、Ｓ２０７で中止を命令していた描画処理を再開するよう命令する（Ｓ２１３）。
【０２００】
最後に、Ｓ２１２にて画面ロックをした場合、切替実施部８２は、情報格納部１７に格納されている情報に従い、適切なタイミングで、画面ロックを解除する（Ｓ２１４）。具体的には、切替実施部８２は、合成管理部１４に画面ロック解除を指示し、合成管理部１４は、高速フレームバッファ３１と汎用フレームバッファ３２の合成処理を再開する。
【０２０１】
以上により、情報処理端末１においては、中断していた描画処理を再開した後は、ステップＳ２０２で切替判断部８１により描画の負荷が高いと判断された描画コンポーネントが高速フレームバッファを使用して描画処理を行うことになる。また、切替処理に伴う、画面の表示破綻やちらつきを抑えることが可能となる。
３．変形例
なお、本発明を上記の実施の形態に基づいて説明してきたが、本発明は、上記の実施の形態に限定されるものではなく、本発明の要旨を逸脱しない範囲内において種々変更を加え得ることは勿論である。
（１）第１の実施の形態では、ＣＰＵ負荷を、描画所要時間／描画間隔としていたが、これには限らない。例えば、ＣＰＵ負荷は、切替判断部８１が切替判断を直近に行ってから、現在に至るまでに算出された複数のＣＰＵ負荷の平均値を用いてもよい。
（２）上述の実施の形態では、情報処理端末１は携帯型の情報端末であるとしたが、これに限らず、据置型の情報端末であってもよいし、携帯電話機や、ＡＶ機器等であってもよい。
【０２０２】
また、情報処理端末１が実行するアプリケーションは、地図と写真を描画することとしたが、これに限らず、地図、動画、写真、ＣＧ（Ｃｏｎｍｐｕｔｅｒ  Ｇｒａｐｈｉｃｓ）、文書の描画等を組み合わせたものであってもよい。
【０２０３】
また、上述の実施の形態では、１つのアプリケーションに２つの描画コンポーネントを含む例で説明したがこれに限らず、複数の描画処理が並列して行われる場合に適用しうる。例えば、地図を表示するアプリケーションと、写真を表示するアプリケーションの２つのアプリケーションが並行して実行される場合などが考えられる。
【０２０４】
（３）実施の形態１では、２つのコンポーネントしか用いてなかったが、３つ以上のコンポーネントを用いてよい。そして、情報処理端末１のソフトウェア部にＸウィンドウシステム（登録商標）が組み込まれており（図示せず）、汎用フレームバッファ３２にはＸウィンドウシステムを経由して描画を行うものとしてもよい。この場合に、高速フレームバッファ３１については、Ｘウィンドウシステムを経由しないで描画を行うものとすれば、高速フレームバッファ３１を用いる描画処理は、汎用フレームバッファ３２を用いる場合と比べて、さらに高速になる。そして、高速フレームバッファ３１にデータの書き込みができるのは、後述の切替判断部８１によって指定される単一のコンポーネントのみであるので、この指定されたコンポーネントは、他のコンポーネントよりも高速に描画処理を実行できる。
【０２０５】
一方で、汎用フレームバッファ３２については、２以上のコンポーネントが同時にデータの書き込みを要求することができ、Ｘウィンドウシステムがこれらの書き込み要求を調停した上で、各コンポーネントから書き込み要求されたデータを順に汎用フレームバッファ３２に書き込む。よって、汎用フレームバッファ３２を用いた描画処理に要する時間と、高速フレームバッファ３１を用いた描画処理に要する時間との時間差は、Ｘウィンドウシステムを用いない場合に比べ拡大する。
【０２０６】
（４）上記の各装置は、具体的には、マイクロプロセッサ、ＲＯＭ、ＲＡＭ、ハードディスクユニット、ディスプレイユニット、キーボード、マウスなどから構成されるコンピュータシステムである。前記ＲＡＭ又は前記ハードディスクユニットには、コンピュータプログラムが記憶されている。前記マイクロプロセッサが、前記コンピュータプログラムに従って動作することにより、各装置は、その機能を達成する。ここで、コンピュータプログラムは、所定の機能を達成するために、コンピュータに対する指令を示す命令コードが複数個組み合わされて構成されたものである。
【０２０７】
なお、各装置は、マイクロプロセッサ、ＲＯＭ、ＲＡＭ、ハードディスクユニット、ディスプレイユニット、キーボード、マウスなどの全てを含むコンピュータシステムに限らず、これらの一部から構成されているコンピュータシステムであってもよい。
【０２０８】
（５）上記の各装置を構成する構成要素の一部又は全部は、構成要素の機能を実現する回路で構成し、若しくは、構成要素の機能を実現するプログラムとそのプログラムを実行するプロセッサとで構成し、又は、１個のシステムＬＳＩ（Ｌａｒｇｅ  Ｓｃａｌｅ  Ｉｎｔｅｇｒａｔｉｏｎ：大規模集積回路）から構成されているとしてもよい。システムＬＳＩは、複数の構成部を１個のチップ上に集積して製造された超多機能ＬＳＩであり、具体的には、マイクロプロセッサ、ＲＯＭ、ＲＡＭなどを含んで構成されるコンピュータシステムである。前記ＲＡＭには、コンピュータプログラムが記憶されている。前記マイクロプロセッサが、前記コンピュータプログラムに従って動作することにより、システムＬＳＩは、その機能を達成する。これらは個別に１チップ化されても良いし、一部又は全てを含むように１チップ化されても良い。
【０２０９】
また、ここでは、システムＬＳＩとしたが、集積度の違いにより、ＩＣ、システムＬＳＩ、スーパーＬＳＩ、ウルトラＬＳＩと呼称されることもある。
【０２１０】
また、集積回路化の手法はＬＳＩに限るものではなく、専用回路又は汎用プロセサで実現してもよい。ＬＳＩ製造後に、プログラムすることが可能なＦＰＧＡ（Ｆｉｅｌｄ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｇａｔｅ  Ａｒｒａｙ）や、ＬＳＩ内部の回路セルの接続や設定を再構成可能なリコンフィギュラブル・プロセッサーを利用しても良い。
【０２１１】
さらには、半導体技術の進歩又は派生する別技術によりＬＳＩに置き換わる集積回路化の技術が登場すれば、当然、その技術を用いて機能ブロックの集積化を行ってもよい。バイオ技術の適用等が可能性としてありえる。
【０２１２】
（６）上記の各装置を構成する構成要素の一部又は全部は、各装置に脱着可能なＩＣカード又は単体のモジュールから構成されているとしてもよい。前記ＩＣカード又は前記モジュールは、マイクロプロセッサ、ＲＯＭ、ＲＡＭ、などから構成されるコンピュータシステムである。前記ＩＣカード又は前記モジュールは、上記の超多機能ＬＳＩを含むとしてもよい。マイクロプロセッサが、コンピュータプログラムに従って動作することにより、前記ＩＣカード又は前記モジュールは、その機能を達成する。このＩＣカード又はこのモジュールは、耐タンパ性を有するとしてもよい。
【０２１３】
（７）本発明は、上記に示す方法であるとしてもよい。また、これらの方法をコンピュータにより実現するコンピュータプログラムであるとしてもよいし、前記コンピュータプログラムからなるデジタル信号であるとしてもよい。
【０２１４】
また、本発明は、前記コンピュータプログラム又は前記デジタル信号をコンピュータ読み取り可能な記録媒体、例えば、フレキシブルディスク、ハードディスク、ＣＤ―ＲＯＭ、ＭＯ、ＤＶＤ、ＤＶＤ−ＲＯＭ、ＤＶＤ−ＲＡＭ、ＢＤ（Ｂｌｕ−ｒａｙ  Ｄｉｓｃ）、半導体メモリなど、に記録したものとしてもよい。また、これらの記録媒体に記録されている前記コンピュータプログラム又は前記デジタル信号であるとしてもよい。
【０２１５】
また、本発明は、前記コンピュータプログラム又は前記デジタル信号を、電気通信回線、無線又は有線通信回線、インターネットを代表とするネットワーク、データ放送等を経由して伝送するものとしてもよい。
【０２１６】
また、前記プログラム又は前記デジタル信号を前記記録媒体に記録して移送することにより、又は前記プログラム又は前記デジタル信号を前記ネットワーク等を経由して移送することにより、独立した他のコンピュータシステムにより実施するとしてもよい。
【０２１７】
（８）上記実施の形態及び上記変形例をそれぞれ組み合わせるとしてもよい。
【産業上の利用可能性】
【０２１８】
本発明にかかる表示切替装置は、複数のウィンドウを重ねて表示する機能を有する情報処理端末、ＡＶ機器及び通信端末などに好適である。
【符号の説明】
【０２１９】
１    情報処理端末
１１    フレームバッファ管理部
１２    表示切替装置
１３    アプリケーション部
１４    合成管理部
１５    表示部
１６    入力部
１７    情報格納部
１８    高速メモリデバイス
１９    汎用メモリデバイス
２０    表示メモリデバイス
２１    表示切替部
２２    描画コピー制御部
３１    高速フレームバッファ
３２    汎用フレームバッファ
３３    表示フレームバッファ
６１    第１描画コンポーネント
６２    第２描画コンポーネント
６３    実行制御部
８１    切替判断部
８２    切替実施部
８３    切替手順選択部
８４    表示時刻算出部
【図１】
2011118199.tif 000003
【図２】
2011118199.tif 000004
【図３】
2011118199.tif 000005
【図４】
2011118199.tif 000006
【図５】
2011118199.tif 000007
【図６】
2011118199.tif 000008
【図７】
2011118199.tif 000009
【図８】
2011118199.tif 000010
【図９】
2011118199.tif 000011
【図１０】
2011118199.tif 000012
【図１１】
2011118199.tif 000013
【国際調査報告】
2011118199.tif 000014
2011118199.tif 000015