JP5662418B2 - 表示処理装置、表示処理方法、及び集積回路 - Google Patents

表示処理装置、表示処理方法、及び集積回路 Download PDF

Info

Publication number
JP5662418B2
JP5662418B2 JP2012506843A JP2012506843A JP5662418B2 JP 5662418 B2 JP5662418 B2 JP 5662418B2 JP 2012506843 A JP2012506843 A JP 2012506843A JP 2012506843 A JP2012506843 A JP 2012506843A JP 5662418 B2 JP5662418 B2 JP 5662418B2
Authority
JP
Japan
Prior art keywords
switching
buffer
display
frame buffer
component
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2012506843A
Other languages
English (en)
Other versions
JPWO2011118199A1 (ja
Inventor
和俊 柏本
和俊 柏本
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Panasonic Intellectual Property Corp of America
Original Assignee
Panasonic Intellectual Property Corp of America
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Panasonic Intellectual Property Corp of America filed Critical Panasonic Intellectual Property Corp of America
Priority to JP2012506843A priority Critical patent/JP5662418B2/ja
Publication of JPWO2011118199A1 publication Critical patent/JPWO2011118199A1/ja
Application granted granted Critical
Publication of JP5662418B2 publication Critical patent/JP5662418B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • G06T1/60Memory management
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2360/00Aspects of the architecture of display systems
    • G09G2360/08Power processing, i.e. workload management for processors involved in display operations, such as CPUs or GPUs
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G5/00Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
    • G09G5/36Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators characterised by the display of a graphic pattern, e.g. using an all-points-addressable [APA] memory
    • G09G5/39Control of the bit-mapped memory
    • G09G5/393Arrangements for updating the contents of the bit-mapped memory
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G5/00Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
    • G09G5/36Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators characterised by the display of a graphic pattern, e.g. using an all-points-addressable [APA] memory
    • G09G5/39Control of the bit-mapped memory
    • G09G5/399Control of the bit-mapped memory using two or more bit-mapped memories, the operations of which are switched in time, e.g. ping-pong buffers

Description

本発明は、複数の画像を重ね合わせて表示する情報処理端末における表示切替装置に関し、特に画像を記録する複数のバッファの切替制御に関するものである。
近年、カーナビゲーションシステム、携帯電話などディスプレイに画像を表示する情報処理端末において、複数の画像が重ね合わせて表示されることが増加している。例えば、カーナビゲーションシステムにおいて、地図画像の上に、その地図の一地点で撮影された写真画像を重ね合わせて表示するなどの場合が該当する。そして、描画処理は複雑化する一方であるため、情報処理端末において、汎用バッファに加えて、汎用バッファより高価で高速処理が可能な高速バッファを備え、特定の処理に高速バッファを割り当てて描画処理時間の短縮を図っている。カーナビゲーションシステムの例であれば、ディスプレイ一杯に表示される地図画像を生成するコンポーネントに高速バッファが割り当てられ、その他の写真画像を生成するコンポーネントなどに汎用バッファが割り当てられる。ここで、コンポーネントとは、アプリケーションを機能、処理など毎に分割した部品に相当する。描画処理時間が延びると、コマ落ち、フレーム画像の表示遅延などが生じ、画像表示の品質が低下する。
特開2000−206953号公報
ところで、情報処理端末において、要求される描画処理は複雑化する一方である。例えば、上述のカーナビゲーションシステムにおける写真画像の表示についても、単に地図の一地点で撮影された写真画像を表示するのに留まらず、一地点の写真を3D(3次元)化した上で拡大表示するなどの態様が考えられる。この場合、地図画像に比べ表示面積が小さい写真画像に係る描画処理時間が、地図画像の描画処理時間を一時的に上回る。
上記のように描画処理が複雑化すると描画処理時間が長期化し、コマ落ち、フレーム画像の表示遅延などの問題が顕著となる。
上記の問題に鑑み、本発明は、従来よりも描画処理時間を短縮し、描画処理時間の長期化によるコマ落ち、フレーム画像の表示遅延などを低減する表示切替装置を提供することを目的とする。
上記課題を解決するために、本発明の一実施態様である表示切替装置は、画像を描画する高速バッファ及び汎用バッファについて、複数の描画コンポーネント各々に割り当てるバッファを切り替える表示切替装置であって、前記複数の描画コンポーネント各々についての描画処理負荷を繰り返し算出する切替判断部と、前記描画処理負荷が算出される毎に、前記複数の描画コンポーネントのうち算出された描画処理負荷が最も高いものに前記高速バッファが割り当てられているか否か判断し、割り当てられていない場合に、前記算出された描画処理負荷が最も高い描画コンポーネントと、前記高速バッファが割り当てられている描画コンポーネントとに割り当てるバッファを切り替える切替実施部とを備える。
本発明の一実施態様である表示切替装置は、上述の構成を備えることにより、バッファを入れ替えた後において、第1及び前記第2描画コンポーネントの描画処理時間の合計が短縮するので、従来よりもコマ落ち、フレーム画像の表示遅延などを低減することができる。
本発明の実施の形態1における表示切替装置を備えた情報処理端末の構成の一例を示すブロック図 本発明の実施の形態1における表示切替装置の切替判断処理の流れの一例を示すフローチャート 本発明の実施の形態2における表示切替装置を備えた情報処理端末の構成の一例を示すブロック図 本発明の実施の形態2における表示切替装置の表示時刻算出処理の流れの一例を示すフローチャート 本発明の実施の形態2における第2切替手順についての描画処理を示すタイミングチャート 本発明の実施の形態2における第4切替手順についての描画処理を示すタイミングチャート 本発明の実施の形態2における第1切替手順についての描画処理を示すタイミングチャート 本発明の実施の形態2における第3切替手順についての描画処理を示すタイミングチャート 本発明の実施の形態2における算出したスコアの一例を示す図 本発明の実施の形態2における切替手順選択処理の流れの一例を示すフローチャート 本発明の実施の形態2における切替判断処理の流れの一例を示すフローチャート
請求項1に記載の態様である表示切替装置は、画像を描画する高速バッファ及び汎用バッファについて、複数の描画コンポーネント各々に割り当てるバッファを切り替える表示切替装置であって、前記複数の描画コンポーネント各々についての描画処理負荷を繰り返し算出する切替判断部と、前記描画処理負荷が算出される毎に、前記複数の描画コンポーネントのうち算出された描画処理負荷が最も高いものに前記高速バッファが割り当てられているか否か判断し、割り当てられていない場合に、前記算出された描画処理負荷が最も高い描画コンポーネントと、前記高速バッファが割り当てられている描画コンポーネントとに割り当てるバッファを切り替える切替実施部とを備える。
また、前記描画処理負荷は、各描画コンポーネントが単位時間当たりに描画処理を行っている時間であり、前記切替実施部は、前記複数の描画コンポーネントのうち前記描画処理負荷が最も高いものとして、単位時間当たりに描画処理を行っている時間の最も長いものを選ぶこととしてもよい。
この構成によれば、描画処理負荷の算出を、負荷の測定より比較的測定の容易な描画処理時間により判断することができる。
また、前記切替実施部は、前記高速バッファ及び前記汎用バッファに記録されている内容をコピーせずに、バッファを切り替える第1の切替手順と、前記高速バッファに記憶された内容を前記汎用バッファにコピーした後に、バッファを切り替える第2の切替手順と、前記汎用バッファに記憶された内容を前記高速バッファにコピーした後に、バッファを切り替える第3の切替手順とのうち1つを選択することとしてもよい。
この構成によれば、バッファの切替手順を複数の手順から選択することができる。最適な手順を選択することで、バッファ切り替え以後の描画処理における処理落ちを最小にすることができる。
また、前記切替実施部は、前記1つの切替手順を選択する場合に、前記切替手順それぞれについて、バッファを切り替えた後における、バッファを切り替えずに描画処理を継続する場合と比較したバッファ切替コストを推計し、前記バッファ切替コストが最小の手順を選択することとしてもよい。
この構成によれば、バッファ切り替え以後の描画処理における処理落ちを最小にすることができる。
また、前記バッファ切替コストは、コマ落ち数、表示遅延数及びCPU負荷値のうち少なくとも1つに基づき判断することとしてもよい。
この構成によれば、コマ落ち、表示遅延及びCPU負荷のうち少なくとも1つを従来より低減することができる。
また、前記バッファ切替コストは、コマ落ち数、表示遅延数及びCPU負荷値のうち2つ以上を加えた値に基づき判断することとしてもよい。
この構成によれば、コマ落ち数、表示遅延数及びCPU負荷値のうち2つ以上を加えた値のみで、バッファ切り替え以後の処理落ちの多寡を判定することができる。
また、前記切替実施部は、フレーム画像を画面表示する場合に、処理落ちがあると判定された場合、処理落ちのある期間、画面表示を変更せずにロックすることとしてもよい。
この構成によれば、画面表示の乱れを抑止することができる。
請求項8に記載の態様である表示切替方法は、画像を描画する高速バッファ及び汎用バッファについて、複数の描画コンポーネント各々に割り当てるバッファを切り替える表示切替装置に用いられる表示切替方法であって、前記複数の描画コンポーネント各々についての描画処理負荷を繰り返し算出する切替判断ステップと、前記描画処理負荷が算出される毎に、前記複数の描画コンポーネントのうち算出された描画処理負荷が最も高いものに前記高速バッファが割り当てられているか否か判断し、割り当てられていない場合に、前記算出された描画処理負荷が最も高い描画コンポーネントと、前記高速バッファが割り当てられている描画コンポーネントとに割り当てるバッファを切り替える切替実施ステップとを含む。
請求項9に記載の態様である集積回路は、画像を描画する高速バッファ及び汎用バッファについて、複数の描画コンポーネント各々に割り当てるバッファを切り替える集積回路であって、前記複数の描画コンポーネント各々についての描画処理負荷を繰り返し算出する切替判断部と、前記描画処理負荷が算出される毎に、前記複数の描画コンポーネントのうち算出された描画処理負荷が最も高いものに前記高速バッファが割り当てられているか否か判断し、割り当てられていない場合に、前記算出された描画処理負荷が最も高い描画コンポーネントと、前記高速バッファが割り当てられている描画コンポーネントとに割り当てるバッファを切り替える切替実施部とを備える。
この構成によれば、バッファを入れ替えた後において、第1及び前記第2描画コンポーネントの描画処理時間の合計が短縮するので、従来よりもコマ落ち、フレーム画像の表示遅延などを低減することができる。

以下、本発明の実施の形態について、図面を参照しながら説明する。
1.実施の形態1
本発明の一実施の形態に係る表示切替装置を備えた情報処理端末1は、タッチパネル方式のディスプレイを備える携帯型の情報処理端末である。情報処理端末1は、一例として、情報処理端末1の現在位置を地図画像上に表示するナビゲーションを行うアプリケーションを実行するものとする。このアプリケーションは、地図画像を表示する機能を担当するコンポーネント(以下、第1描画コンポーネントという。)と、写真を表示する機能を担当するコンポーネント(以下、第2描画コンポーネントという。)を含んでおり、地図画像の上に、その地図上の一地点の実際の風景を撮影した写真画像を表示するなど、各描画コンポーネントが生成した画像を必要に応じて重ね合わせて表示する。
通常、情報処理端末1を保持するユーザが移動するたびに、情報処理端末1の現在位置が移動するので、ディスプレイに表示される地図画像が連続的に更新される。このとき、地図画像を表示する第1描画コンポーネントの方が、写真を表示する第2描画コンポーネントよりも画像処理等に要する処理負荷が大きい。ここで、情報処理端末1は、高速なデータ処理が可能な高速メモリデバイスと、汎用メモリデバイスの2種類のメモリデバイスを有しており、第1描画コンポーネントに高速メモリデバイスが割り当てられる。
しかし、ユーザが、地図画像の上に重ねて表示された写真画像を拡大し、縮小し、一部を切り出して表示するなどの操作を指示した場合、第2描画コンポーネントの処理負荷が、第1描画コンポーネントの処理負荷を上回る。このときは、情報処理端末1における表示切替装置が、第1描画コンポーネントが使用するメモリデバイスと、第2描画コンポーネントが使用するメモリデバイスを入れ替えて、処理負荷の高い方が高速メモリデバイスを用いるよう制御する。
以下、各描画コンポーネントを使用するメモリデバイス(バッファ)を適切に切り替えるための構成、処理手順について説明する。
1.1.構成
本発明の一実施の形態に係る情報処理端末1は、具体的には、CPU(Central Processing Unit)、ROM(Read Only Memory)、RAM(Random Access Memory)、タッチパネル方式のディスプレイユニット、キーパッドなどから構成されるコンピュータシステムである。ROMにはコンピュータプログラムが記憶されており、情報処理端末1は、RAM上に読み出されたコンピュータプログラムに従いCPUが動作することにより、その機能を達成する。
図1は、情報処理端末1の構成を模式的に表したブロック図である。
図1では、情報処理端末1について、上述のコンピュータプログラムに該当するソフトウェア部と、ハードウェア部とに分けて記載している。ソフトウェア部は、フレームバッファ管理部11、表示切替部21、アプリケーション部13及び合成管理部14を含み、ハードウェア部は、表示部15、入力部16、情報格納部17、高速メモリデバイス18、汎用メモリデバイス19及び表示メモリデバイス113を含む。ここで、表示切替部21と情報格納部17とが、表示切替装置12を構成している。
以下、各構成について詳細に説明する。
(1)ハードウェア部
高速メモリデバイス18及び汎用メモリデバイス19は、画像データを保持するメモリデバイスである。高速メモリデバイス18は、汎用メモリデバイス19に比べて、データの入出力を高速に行うことができる。高速メモリデバイス18上には、高速な描画処理用のフレームバッファである高速フレームバッファ31が確保される。汎用メモリデバイス19上には、通常の描画処理用のフレームバッファである汎用フレームバッファ32が確保される。汎用フレームバッファ32を用いて描画処理を行う場合は、高速フレームバッファ31を用いて同じ処理を行う場合と比べてCPU等にかかる負荷は大きくなる。
表示メモリデバイス20は、画像メモリである。表示メモリデバイス20上には、ディスプレイに表示される映像の元になる画像を保持する表示バッファ33が確保される。
表示部15は、表示制御部34及びディスプレイ35を含んで構成される。
ディスプレイ35は、画像を表示するデバイスであり、具体的には、液晶ディスプレイである。
表示制御部34は、表示バッファ33に保持されている画像データにより表される画像を、所定の周期的なリフレッシュタイミング毎に読み出し、ディスプレイ35に表示させる。
表示制御部34は、情報取得要求に応じて、リフレッシュタイミングの間隔を示すリフレッシュ間隔情報と、直近に行ったリフレッシュの時刻を示すリフレッシュ時刻情報とを含む表示情報46を通知する。
入力部16は、キーパッド、タッチパネルを備え、これらを用いて行われるユーザ操作を検知し、入力されたユーザ操作を表すキー入力情報や、タッチパネル操作情報(以下、キー入力情報、タッチパネル操作情報をユーザ操作情報と総称する。)をアプリケーション部13に通知する。
情報格納部17は、情報を保持するセキュアなメモリデバイスである。情報格納部17には、第1描画性能情報41、第2描画性能情報42、第1フレームバッファ情報43、第2フレームバッファ情報44等の情報が記憶される。
第1フレームバッファ情報43は、高速フレームバッファ31の先頭アドレス、汎用フレームバッファ32の先頭アドレスのいずれか一方と一致する情報である。
第1フレームバッファ情報43の内容は、適宜、表示切替部21により書き換えられる。よって、第1フレームバッファ情報43は、あるときには高速フレームバッファ31の先頭アドレスと一致し、また別のときには汎用フレームバッファ32の先頭アドレスと一致する。第2フレームバッファ情報44についても、第1フレームバッファ情報と同様である。ここで、表示切替部21は、第1フレームバッファ情報43と、第2フレームバッファ情報44との内容が相補的な関係になるよう書き換える。すなわち、第1フレームバッファ情報43の内容を高速フレームバッファ31の先頭アドレスと一致させるときには、第2フレームバッファ情報44の内容を汎用フレームバッファ32の先頭アドレスと一致させる。逆に、表示切替部21は、第1フレームバッファ情報43の内容を汎用フレームバッファ32の先頭アドレスと一致させるときには、第2フレームバッファ情報44の内容を高速フレームバッファ31の先頭アドレスと一致させる。第1描画性能情報41、第2描画性能情報42については、後述する。
(2)ソフトウェア部
(フレームバッファ管理部11)
フレームバッファ管理部11は、フレームバッファを用いるアプリケーションの数や、アプリケーションに含まれるコンポーネントの数に応じて、高速メモリデバイス18上に高速フレームバッファ31として領域を確保し、汎用メモリデバイス19上に汎用フレームバッファ32として領域を確保する。
本実施の形態では、一例として、フレームバッファ管理部11は、フレームバッファを用いるコンポーネントの数と同数のフレームバッファを確保するものとするが、これに限らない。各アプリケーション、コンポーネントが使用するバッファが複数である場合は、必要数だけ確保してよい。また、フレームバッファの確保は、静的に行ってもよいし、動的に行ってもよい。
フレームバッファ管理部11は、確保した高速フレームバッファ31の先頭アドレスを、高速フレームバッファ先頭アドレス114として保持し、確保した汎用フレームバッファ32の先頭アドレスを、汎用フレームバッファ先頭アドレス115として保持する。
(アプリケーション部13)
アプリケーション部13は、コンポーネントとしての第1描画コンポーネント61及び第2描画コンポーネント62と、実行制御部63とを備える。本実施の形態では、実行される描画コンポーネントは、第1描画コンポーネント61と第2描画コンポーネント62との2個としているが、これに限らず、3個以上の描画コンポーネントを用いることとしてもよい。
アプリケーション部13は、一例として、地図を表示する機能と写真を表示する機能とを併せ持つアプリケーションである。第1描画コンポーネント61が地図を表示する機能を有し、第2描画コンポーネント62が写真を表示する機能を有する。合成管理部14が、第1描画コンポーネント61により生成された地図画像と、これとは別に第2描画コンポーネント62により生成された写真画像とを重ね合わせる。これにより、地図がディスプレイ35の表示領域全面に表示されている上に、地図上の一地点の様子を撮影した写真が、その地図上の一地点の近傍に表示されるというような、地図と写真との2つの画像が重ね合わされた表示がなされる。
第1描画コンポーネント61は、第1描画エンジン部71と、第1実行管理部72とを備える。
第1描画エンジン部71は、情報格納部17に記憶されている第1フレームバッファ情報43により指定されるバッファを用いて描画処理を実施する。
第1実行管理部72は、第1描画コンポーネント61の描画処理を管理する処理部であり、第1描画エンジン部71に対して描画命令を与え、情報格納部17に第1描画性能情報41を格納する。
第1描画性能情報41は、第1描画コンポーネント61の描画性能に関する情報であり、描画所要時間情報、描画間隔情報及び前回描画開始時刻とを含む。描画所要時間は、描画すべき画像データの生成処理を開始してから、生成した画像データをフレームバッファへ書き込むまでの時間を示す。描画間隔は、画像データを描画する時間間隔を示している。例えば、描画コンポーネントが、15fps(frame per second)で各フレームを処理する場合であれば、描画間隔は1/15秒となる。描画間隔については、予め定められている。前回描画開始時刻は、描画処理を実行するごとにその開始した時刻を記録するものである。
第2描画コンポーネント62は、第2描画エンジン部73と、第2実行管理部74とを備える。
第2描画エンジン部73は、情報格納部17に記憶されている第2フレームバッファ情報44により指定されるバッファを用いて描画処理を実施する。
第2実行管理部74は、第2描画コンポーネント62の描画処理を管理する処理部であり、第2描画エンジン部73に描画命令を与え、情報格納部17に第2描画性能情報42を格納する。
第2描画性能情報42は、第2描画コンポーネント62の描画性能に関する情報であり、描画所要時間情報、描画間隔情報及び前回描画開始時刻を含む。描画所要時間、描画間隔については、第1描画性能情報41に関し説明したものと同様である。
実行制御部63は、入力部16から受け取ったユーザ操作情報等に基づき、第1描画コンポーネント61と第2描画コンポーネント62の起動、実行、停止、終了等の制御を行う。また、実行制御部63は、必要に応じて、ユーザ操作情報等を第1実行管理部72、第2実行管理部74に通知する。
(表示切替部21)
表示切替部21は、切替判断部81及び切替実施部82を含んで構成される。
切替判断部81は、第1描画性能情報41及び第2描画性能情報42を情報格納部17から取得し、第1描画性能情報41及び第2描画性能情報42を用いて、第1描画コンポーネント61、第2描画コンポーネント62それぞれが描画処理を実行する場合のCPU負荷を算出する。
CPU負荷は、実測してもよいが、本実施の形態では実測はせず、下式で簡易に算出する。
CPU負荷 = 描画所要時間 / 描画間隔 (式1)
そして、切替判断部81は、算出したCPU負荷に基づいて、各描画コンポーネントが用いるフレームバッファの切替が必要か否かを判断し、バッファ切替が必要と判断した場合、切替実施部82へバッファ切替の実行を要求する。ここで、切替判断部81は、CPU負荷の高い描画コンポーネントが、高速描画が可能な高速フレームバッファ31を用いて描画処理を行っていない場合にバッファ切替が必要と判断し、CPU負荷の高いアプリケーションが、高速描画が可能な高速フレームバッファ31を用いて描画処理を行っていればバッファ切替は不要と判断する。
切替実施部82は、切替判断部81から切替の実施の要求を受け付けると、高速フレームバッファ31の先頭アドレスと、汎用フレームバッファ32の先頭アドレスとをフレームバッファ管理部11から取得する。そして、情報格納部17における第1フレームバッファ情報43と第2フレームバッファ情報44とのうち、高速描画を要する描画コンポーネントに対応する方に、高速フレームバッファ31の先頭アドレスを書き込み、他方に汎用フレームバッファ32の先頭アドレスを書き込む。
例えば、切替判断部81によってバッファ切替が必要と判断され、高速描画を要する描画コンポーネントが、第1描画コンポーネント61であった場合には、高速フレームバッファ31の先頭アドレスを第1描画コンポーネント61に対応する第1フレームバッファ情報43として、情報格納部17に書き込むこととなる。このとき、第2描画コンポーネント62に対応する第2フレームバッファ情報44としては、汎用フレームバッファ32の先頭アドレスを書き込むこととなる。
また、切替実施部82は、フレームバッファを切り替えることにより、合成時の重なり設定の変更を合成管理部14に通知する。ここで、重なり設定とは、高速フレームバッファ31に描かれた画像と、汎用フレームバッファ32に描かれた画像のいずれを上に表示するかを定めたものである。
ここで、バッファの切り替えが生じる場合について、具体例を用いて説明する。
ユーザが地図を操作し、表示中の地図画像を連続して更新している場合には、第1描画コンポーネント61のCPU負荷が第2描画コンポーネント62のCPU負荷よりも高いため、第1描画コンポーネント61が高速フレームバッファ31を使用する。このとき、第2描画コンポーネント62は汎用フレームバッファ32を使用する。ここで、ユーザが、特定の写真を拡大表示するといった操作を行うと、ユーザの操作対象が地図から写真に変化する。このとき、第2描画コンポーネント62のCPU負荷が、第1描画コンポーネント61のCPU負荷より高くなる場合があり、このときバッファの切替処理を行う。切替処理以後は、第2描画コンポーネント62が、高速フレームバッファ31を使用し、第1第2描画コンポーネント62が、汎用フレームバッファ32を使用することになる。
(合成管理部14)
合成管理部14は、切替実施部82から受け取る重なり設定に基づき、高速フレームバッファ31に格納されているデータから生成した画像と、汎用フレームバッファ32に格納されたデータから生成した画像とを重ねて合成し、合成により生じた合成画像を表示フレームバッファ33に書き込む。
1.2.動作
以下に、情報処理端末1におけるバッファ切替処理について説明する。
図2は、本実施の形態に係るバッファ切替処理の流れを示すフローチャートである。
情報処理端末1において、アプリケーション部13が既に起動し、第1描画コンポーネント61と第2描画コンポーネント62とがそれぞれ描画処理を行っているものとする。この状態で、バッファ切替処理が一定時間毎に行われるものとするが、これに限らず、適切なときに行ってよい。例えば、ユーザ指示がある毎に行うこととしてもよい。
まず、切替判断部81は、情報格納部17から第1描画性能情報41及び第2描画性能情報42を取得し、取得した第1描画性能情報41及び第2描画性能情報42に基づいて、第1描画コンポーネント61及び第2描画コンポーネント62のCPU負荷を上述の式1に基づき算出する(S101)。
次に、切替判断部81は、第1描画コンポーネント61のCPU負荷と、第2描画コンポーネント62のCPU負荷を参照し、最もCPU負荷の高い描画コンポーネントが高速フレームバッファ31に描画しているか否か判定する(S102)。具体的には、最もCPU負荷の高い描画コンポーネント(第1描画コンポーネント61と第2描画コンポーネント62とのいずれか)に対応するフレームバッファ情報(第1フレームバッファ情報43と、第2フレームバッファ情報44とのいずれか)が、高速フレームバッファの先頭アドレスと一致するか否かにより判断する。一致する場合は、最もCPU負荷の高い描画コンポーネントが高速フレームバッファ31に描画していることとなり、一致しない場合には、最もCPU負荷の高い描画コンポーネントが高速フレームバッファ31に描画していないことになる。
最もCPU負荷の高い描画コンポーネントが高速フレームバッファ31に描画しているならば(S102がYes)、切替判断部81は、バッファ切替は必要ないと判断し、バッファ切り替え処理を終了する。一方、最も負荷の高い描画コンポーネントが高速フレームバッファ31に描画していないと判断した場合(S102がNo)、切替判断部81は、バッファ切替が必要と判断し、切替実施部82へバッファ切替の実行を要求する。
バッファ切替の実行要求を受けた切替実施部82は、第1実行管理部72と第2実行管理部74に実行状態(描画処理中か否か)を問い合わせ、第1描画コンポーネント61及び第2描画コンポーネント62の双方の描画処理が終了した後に、第1実行管理部72と第2実行管理部74に対し、描画処理を実行しないよう命令する(S103)。描画処理途中に、描画処理の中断を指示すると、ディスプレイ35に表示される映像が乱れてしまうためである。なお、第1描画コンポーネント61及び第2描画コンポーネント62の双方が描画処理中でない場合は、切替実施部82は直ちに描画処理を実行しないよう命令する。
次に、切替実施部82は、フレームバッファ管理部11から、高速フレームバッファ31の先頭アドレスと、汎用フレームバッファ32の先頭アドレスを取得する(S104)。
次に、切替実施部82は、S102において、切替判断部81によりCPU負荷が高いと判断された描画コンポーネント(第1描画コンポーネント61、第2描画コンポーネント62のいずれか)に対応するフレームバッファ情報(第1フレームバッファ情報43又は第2フレームバッファ情報44)の内容を高速フレームバッファ31の先頭アドレスで書き換える。また、切替実施部82は、CPU負荷が高いと判断されなかった方の描画コンポーネントに対応するフレームバッファ情報の内容を、汎用フレームバッファ32の先頭アドレスで書き換える(S105)。
これにより、CPU負荷が高いと判断された描画コンポーネントには、高速フレームバッファ(高速フレームバッファ31)が割り振られ、以降の描画処理には、高速フレームバッファ31を使用することになる。
次に、切替実施部82は、合成管理部14に通知して、高速フレームバッファ31と汎用フレームバッファ32の、合成時の重なり設定を変更する(S106)。例えば、切替前において、高速フレームバッファ31に地図画像が格納され、汎用フレームバッファ32に写真画像が格納されており、高速フレームバッファ31に格納された地図画像の上に、汎用フレームバッファ32に格納された写真画像が重ねて表示されていたものとする。この場合、切替後には、汎用フレームバッファ32に地図画像が格納され、高速フレームバッファ31に写真画像が格納されることになる。重なり設定を変更しない場合、高速フレームバッファ31に格納された写真画像の上に汎用フレームバッファ32に格納された地図画像が表示されることになり、ディスプレイ35には、結局地図画像のみが表示されることになってしまう。これを避けるために、高速フレームバッファ31に格納された画像と、汎用フレームバッファ32に格納された画像との重なり順序を入れ替えるように重なり設定を変更する。
最後に、切替実施部82は、第1実行管理部72と第2実行管理部74に、描画処理を再開するよう命令する(S107)。描画処理を再開した後は、S102で切替判断部81によりCPU負荷が高いと判断された描画コンポーネントが、高速フレームバッファ31を使用して描画処理を行うことになる。
かかる構成によれば、複数の描画コンポーネントを持つアプリケーションを実行中に、ユーザー操作などで各描画コンポーネントの処理にかかるCPU負荷の大小が変化しても、CPU負荷の高い描画コンポーネントが随時、描画処理の所要時間の短い高速フレームバッファ31に対して描画することとなるので、CPU負荷を低減し、描画処理時間を短縮でき、ひいては、フレームレートを向上させ、及びユーザー操作に対するレスポンスを向上させることができる。
2.実施の形態2
実施の形態1では、CPU負荷に応じてバッファの切り替え要否を判断していたが、実施の形態2では、これに加え、バッファの切り替えが必要と判断した場合に、予め備える複数のバッファ切替手順から最適なものを選択し、選択したバッファ切替手順によりバッファの切り替えを行う。最適なバッファ切替手順は、各切替手順についての描画遅延の発生、コマ落ちの発生、CPU負荷を予測し、予測結果から総合的に判断して決定する。
ここで、複数のバッファ切替手順は、(1)バッファの内容を相互にコピーすることなくバッファを切り替える手順(以下、第1切替手順という。)、(2)第1描画コンポーネント61が用いているバッファの内容を第2描画コンポーネント62が用いているバッファにコピーし、その後、バッファを切り替える手順(以下、第2切替手順という。)、(3)第2描画コンポーネント62が用いているバッファの内容を第1描画コンポーネント61が用いているバッファにコピーし、その後、バッファを切り替える手順(以下、第3切替手順という。)の3つである。なお、以下では、バッファを切り替えずに描画処理を進める手順を、便宜上、第4切替手順という。
なお、第1切替手順では、バッファ切替手順の選択直前にバッファに記憶されている内容は破棄されてしまうので、第1描画コンポーネント61、第2描画コンポーネント62のそれぞれが、新たに、バッファ切替手順の選択直前に用いていたのと異なるフレームバッファを用いて描画処理を行うことになる。
2.1.構成
図3は、本発明の実施の形態2における情報処理端末1の構成の一例を示すブロック図である。
図3において、図1と同じ構成要素については同じ符号を用い、重複する説明は省略する。
本実施の形態に係る情報処理端末1は、実施の形態1の構成と以下の点で異なっている。
(1)フレームバッファ管理部11内に、フレームバッファ生成管理部94、フレームバッファ状態管理部93が設けられている。なお、フレームバッファ生成管理部94が、実施の形態1のフレームバッファ管理部11に相当する。
(2)描画コピー制御部22が追加されている。
(3)表示切替部21に、切替手順選択部83と表示時刻算出部84とが追加されている。
(4)情報格納部17に記録される情報に、切替手順情報45と表示情報46とが追加されている。
(5)表示メモリデバイス20に、第1直前フレームバッファ36と第2直前フレームバッファ37とが設けられている。
(6)表示切替装置12が、情報格納部17、表示切替部21及び描画コピー制御部22から構成されている。
以下、これらの相違点を中心に説明する。
(フレームバッファ管理部11)
フレームバッファ管理部11は、フレームバッファ状態管理部93と、フレームバッファ生成管理部94とを備える。
フレームバッファ状態管理部93は、表示制御部34から表示情報46を取得して情報格納部17に記録する。本実施の形態では、表示制御部34が、リフレッシュタイミング毎にリフレッシュ時刻情報を更新し、最新のリフレッシュ時刻情報を含む最新の表示情報46をリフレッシュタイミング毎にフレームバッファ状態管理部93に通知するものとする。
フレームバッファ生成管理部94は、フレームバッファを用いるアプリケーションの数や、アプリケーションに含まれるコンポーネントの数に応じて、高速メモリバッファ18上に高速フレームバッファ31としてメモリ領域を確保し、汎用メモリデバイス19上に汎用フレームバッファ32としてメモリ領域を確保する。そして、フレームバッファ生成管理部94は、確保した高速フレームバッファ31の先頭アドレスを高速フレームバッファ先頭アドレス114として保持し、確保した汎用フレームバッファ32の先頭アドレスを汎用フレームバッファ先頭アドレス115として保持する。ここで、本実施の形態では、フレームバッファ生成管理部94は、フレームバッファを用いるコンポーネントの数と同数のフレームバッファを確保するものとする。具体的には、高速メモリデバイス18における高速フレームバッファ31と、汎用メモリデバイス19における汎用フレームバッファ32の2つのフレームバッファを確保するものとする。しかしながら、2つのフレームバッファを確保するとしたのは、説明を簡潔にするため便宜上定めたものであり、これに限らない。各アプリケーション、コンポーネントが使用するバッファが複数である場合は、2個に限らず必要数だけ、あるいは必要数の一部だけ確保してよい。また、フレームバッファの確保は、静的に行ってもよいし、動的に行ってもよい。また、高速フレームバッファ31のメモリ領域が許す限り、高速フレームバッファ31上にフレームバッファを確保することとした方が、描画処理の能力は向上する。
フレームバッファ生成管理部94は、更に、高速フレームバッファ31を用いた描画処理の所要時間を、汎用フレームバッファ32を用いて同じ描画処理を行うとした場合の所要時間に変換する第1変換係数、及び、汎用フレームバッファ32を用いた描画処理の所要時間を、高速フレームバッファ31を用いて同じ描画処理を行うとした場合の所要時間に変換する第2変換係数を保持している。例えば、高速フレームバッファ31及び汎用フレームバッファ32を用いて同じ描画処理を行うとしたときに、高速フレームバッファ31を用いると0.1秒要し、汎用フレームバッファ32を用いると0.2秒要する場合であれば、第1変換係数は2となり、第2変換係数は0.5となる。
(描画コピー制御部22)
描画コピー制御部22は、コピー要求に従い、高速フレームバッファ31と汎用フレームバッファ32のうちの一方に記録された内容を他方へコピーし、また、双方に記録されている内容を相互にコピーして入れ替える。
(表示切替部21)
表示切替部21は、切替判断部81、切替実施部82に加え、切替手順選択部83と、表示時刻算出部84とを含んで構成される。
(表示時刻算出部84)
表示時刻算出部84は、切替手順選択部83から、第1〜第4切替手順のうちいずれかを指定した表示時刻算出要求を受け取る。そして、表示時刻算出部84は、第1描画コンポーネント61及び第2描画コンポーネント62のそれぞれが定期的に行う描画処理それぞれの開始時刻、終了時刻を算出する。そして、各描画処理により生成し、書き込まれた画像が、どのリフレッシュタイミングで表示されるかを算出する。表示時刻算出部84により算出された情報に基づいて、切替手順選択部83により、各切替手順によるフレーム画像の表示遅延、コマ落ち、CPU負荷の増加について総合的に評価され、切替手順が選択される。
図4は、表示時刻算出部84による、表示時刻算出処理の手順を示すフローチャートである。
図5は、第2切替手順を行う場合の描画処理を示すタイミングチャートである。また、タイミングチャートに、描画される画面イメージを模式的に現す図形を付加している。
以下では、説明の便宜上、まず、図5について説明する。その後、図4のフローチャートについて、図5を参照しつつ、第1切替手順が指定されている場合を例に説明する。
図5の横軸tは、時刻を示す。
図5の縦軸は、高速FB(フレームバッファ)、汎用FB、表示FBの各欄に分かれており、高速FBの欄は、描画処理が高速フレームバッファ31を用いて行われることを示し、汎用FBの欄は、描画処理が汎用フレームバッファ32を用いて行われることを示し、表示FBの欄は、描画処理が表示フレームバッファ33を用いて行われることを示す。
図5中、TRa(aは整数であり、図中ではa=−1、0、1〜5)は、リフレッシュタイミングを示す。各リフレッシュタイミング相互の間隔は一定時間TIである。TIは、表示情報46に含まれるリフレッシュ間隔情報であり、ディスプレイの表示に関する性能、仕様等により定まる。
描画bバー(b=1、2)は、第b描画コンポーネントが、このバーの時間軸方向の幅で示される処理期間において描画処理を行うことを表現している。
例えば、描画1バー201は、第1描画コンポーネント61が、このバーの時間軸方向の幅で示される処理期間(TD1)において描画処理を行うことを表現している。描画1バー201は、高速FB欄に記載されており、この描画処理は高速フレームバッファ31を用いて行われる。描画1バー201に示される処理は、時刻T10に開始し、時刻T11に終了する。
描画1バー202〜205についても、描画1バー201と同様である。ただし、描画1バー203〜205については、汎用FB欄に記載されており、この描画処理は汎用フレームバッファ32を用いて行われる。描画1バー203〜205の処理期間(TD4)は、高速フレームバッファ31を用いる描画1バー201〜202に比べ長くなっている(TD1<TD4)。
描画2バー211は、第2描画コンポーネント62が、このバーの時間軸方向の幅で示される期間(TD2)において描画処理を行うことを示す。描画2バー211は、汎用FB欄に記載されており、この描画処理は汎用フレームバッファ32を用いて行われる。描画2バー211に示される処理は、描画1バー201に示される描画処理が終了するT11に開始し、時刻T12に終了する。描画2バー212〜214についても、描画2バー211と同様である。ただし、描画2バー212〜214については、高速FB欄に記載されており、これらの描画処理は高速フレームバッファ31を用いて行われており、処理期間(TD3)は、描画2バー211に比べ短くなっている(TD2<TD3)。
T13〜T20についても、T10〜T12と同様、それぞれ描画処理の開始、終了時刻を示す。
合成バー221は、このバーの時間軸方向の幅で示される期間において、合成管理部14により合成画像が生成され、その合成画像が表示制御部34によりディスプレイ35に表示されることを示す。合成バー221により示される描画処理は、リフレッシュタイミングTR0において開始する。合成バー221は、表示FB欄に記載されており、この描画処理が表示フレームバッファ33を用いて行われることを示している。合成バー222〜225についても、合成バー221と同様である。
メモリコピーバー231は、このバーの時間軸方向の幅で示される期間において、描画コピー制御部22により、高速フレームバッファ31の内容を、第2フレームバッファ32にコピーしていることを示す。TDCは、コピーに要する時間を示している。
また、描画1バー201から吹き出し中に示された矩形(画像251)は、第1描画コンポーネント61がフレームバッファに書き込む画像データ、及び画像データに基づきディスプレイ35に表示される画像イメージを模式的に示している。画像251中の数値「0」は、第1描画コンポーネント61が書き込む画像に付された番号(フレーム番号)を示す。なお、このフレーム番号は、画像相互の相対的な順番を示すために便宜上用いているだけで、この番号自体が特別な意図を有する訳ではない。
同様に、描画2バー211から、吹き出し中に示されたハッチングされた矩形(画像261)は、第2描画コンポーネント62がフレームバッファに書き込む画像データ、及び画像データに基づきディスプレイ35に表示される画像イメージを模式的に示している。画像261中の数値「1」は、第2描画コンポーネント62が書き込む画像に付されたフレーム番号を示す。
また、合成バー221から、吹き出しで表した領域中に示された矩形(画像271)は、合成管理部14が表示フレームバッファ33に書き込む画像を模式的に示している。この画像271は、画像251の上に画像282が合成された画像である。
画像252〜255については、画像251と同様である。また、画像262〜264については、画像261と同様である。また、画像272〜275については、画像271と同様である。
次いで、図5を参照しつつ、図4のフローチャートに従って、説明する。
図4に係る表示時刻算出処理では、上述のように、第1描画コンポーネント61及び第2描画コンポーネント62のそれぞれが定期的に行う描画処理それぞれの開始時刻、終了時刻(T11〜T20)を算出する。また、各描画処理により生成し、書き込まれた画像(画像251〜264等、画像261〜画像255等)が、どのリフレッシュタイミング(TR0〜TR4等)で表示されるかを算出する。
具体的には、まず、切替手順選択部83が、表示時刻算出部84に対し、切替開始仮時刻を含み算出対象手順を指定した表示時刻算出要求を送信する。算出対象手順は、第1〜第4切替手順のいずれかを示す。ここでは、算出対象手順は、第2切替手順であるとする。切替開始仮時刻は、切替手順選択部83により次のように定められる。すなわち、切替手順選択部83は、表示時刻算出要求を送信しようとしたときに、第1描画コンポーネント61、第2描画コンポーネント62のいずれもが描画処理中でなければ、現在時刻を切替開始仮時刻とする。また、第1描画コンポーネント61、第2描画コンポーネント62のいずれかが描画処理中であれば、その描画処理の終了直後を切替開始仮時刻とする。図5の例では、切替手順選択部83は、描画処理の終了直後TC(T13)を切替開始仮時刻として表示時刻算出要求に含める。
なお、リフレッシュタイミングTRa(aは整数)は、TCの直前のリフレッシュタイミングをTR0としてaに値を割り振る。また、フレーム番号は、TCの直前に描画処理された画像のフレーム番号を1とし、順に割り振っている。
表示時刻算出部84は、切替手順選択部83から表示時刻算出要求を受けて処理を開始する。表示時刻算出部84は、表示時刻算出要求に含まれる切替開始仮時刻を変数tに格納する(S401)。
次に、表示時刻算出部84は、情報格納部17から第1描画情報41と第2描画情報42とを取得する。そして、第1描画コンポーネント61について、t直前の描画開始時刻を算出する(S402)。図5の例の場合、描画開始時刻は、第1描画情報41に含まれる前回描画開始時刻情報で示される描画1バー202の先頭時刻T12となる。表示時刻算出部84は、整数型の変数m、nを用意している。mは第2描画コンポーネントの描画する画像の通し番号を示し、nは第1描画コンポーネントの描画する画像の通し番号を示す。このS402で算出される先頭時刻に係る画像のフレーム番号(n)を1とする。
第2描画コンポーネント62についても同様に、t直前の描画開始時刻を算出する(S403)。図5の例の場合、描画開始時刻は、第2描画情報42に含まれる前回描画開始時刻情報で示される描画2バー211の先頭時刻T11となる。このS403で算出される先頭時刻に係る画像のフレーム番号(m)を1とする。
次に、表示時刻算出部84は、算出対象手順が第2切替手順であるか否か判定し(S403)、第2切替手順であった場合(S403:YES)、高速フレームバッファ31に記憶されている内容を汎用フレームバッファ32へコピーするとした場合の完了時刻(T14)を算出し、tに格納する(S404)。なお、高速フレームバッファ31に記憶されている内容を汎用フレームバッファ32へコピーするのに要する時間TDCは、既知であるとする。
次に、表示時刻算出部84は、算出対象手順が第3切替手順か否か判定し(S405)、第3切替手順であった場合(S405:YES)、汎用フレームバッファ32に記憶されている内容を高速フレームバッファ31へコピーするとした場合の完了時刻を算出し、tに格納する(S406)。なお、汎用フレームバッファ32に記憶されている内容を高速フレームバッファ31へコピーするのに要する時間は、既知であるとする。
次に、表示時刻算出部84は、m、nに2を設定する(S407)。
次に、表示時刻算出部84は、時刻t以降であって、時刻tに最も近い時刻に描画処理を行う描画コンポーネントがいずれであるか判断する(S406)。
S408で、第1描画コンポーネント61であると判断した場合、S411に進み、第2描画コンポーネント62であると判断した場合、S409に進む。図5の場合、時刻t(=TC)に最も近い時刻に描画処理を開始する描画コンポーネントは、時刻tに最も近い先頭時刻T14に処理を開始する第2描画コンポーネントである。
S408で、第2描画コンポーネント62であると判断した場合(S408:第2描画コンポーネント)、表示時刻算出部84は、時刻tに最も近い時刻に開始する描画処理の描画処理終了時刻を算出し、tに上書き格納する(S409)。
図5の場合、描画処理終了時刻は、描画2バー212の最後であるT15となり、tにT15を上書き格納する。
なお、TC以降の各描画バーで示される処理の所要時間は、あくまで、TC時点での推測である。また、描画処理に要する時間は、全ての描画処理で同一では無い場合もあるが、ここでは、tの直近に行った描画処理について測定した所要時間を、以後に行うべき描画処理の所要時間とみなす。但し、直近に行った描画処理に用いたフレームバッファと、以後行う描画処理に用いるフレームバッファとが異なる場合には、上述のように、直近に行った描画処理について測定した所要時間を以後に行うべき描画処理の所要時間とみなすことはできない。よって、直近に行った描画処理について測定した所用時間に、第1又は第2変換係数を乗じて、以後に行うべき描画処理の所要時間とみなす。なお、描画処理時間は、予め定めておいた時間、描画処理の平均時間等を用いることとしてもよい。
次に、表示時刻算出部84は、情報格納部17から表示情報46を取得し、表示情報46に含まれるリフレッシュ時刻情報を用いて、時刻t以降の直近のリフレッシュタイミングを算出する。表示時刻算出部84は、このリフレッシュタイミングを第2描画コンポーネント62のm番目の画面表示時刻として保持する(S410)。図5の例では、S409でtにはT15が設定されており、T15以降の直近のリフレッシュタイミングTRa(a=2)が、第2描画コンポーネント62のm(=2)番目のリフレッシュタイミングである。このときのaを画面表示時刻として保持する。
次に、表示時刻算出部84は、第2描画コンポーネント62のm番目の描画フレームの描画開始時刻を算出し、保持する(S411)。図5の場合、第2描画コンポーネント62のm(=2)番目の描画開始時刻は、T14である。
以上のS409〜S411の処理により、表示時刻算出部84は、第2描画コンポーネント62のm(=2)番目の画像の描画開始時刻、描画終了時刻、m(=2)番目の画像が表示されるリフレッシュタイミングを算出したことになる。
次に、表示時刻算出部84は、mに1を加え(S412)、S417に遷移する。
表示時刻算出部84は、時刻tを元に、S409からS412、またはS414からS416の処理をもう一度行うか否かを判断する(S417)。判断の基準としては、tが予め定めた上限値に達したか否かで判断する。上限値は、本処理に要した時間に基づいて設定し直すこととしてもよい。
S417において、もう一度処理を行うと判断した場合(S417がNO)、S408に移行し、もう一度処理を行うと判断されなかった場合(S417がYES)、処理を終了する。本実施の形態では、m、nが4になるまでの時間程度の間、算出処理は終了せず、S417がNOとなるよう上限値を設定しているものとする。
図5の例においてS417からS408へ最初に移行したとき、tはT15であったので、S408において、時刻t直後に描画処理を行う描画コンポーネントは、第1描画コンポーネント61と判断される。このとき実行するS413〜S416は、第2描画コンポーネント61について既に説明したS409〜S412とは、第2描画コンポーネント62が第1描画コンポーネント61に置き換わったこと、変数mがnに置き換わったことを除き同様である。よって、S413〜S416については、これ以上の説明を省略する。以上のS413〜S415の処理により、表示時刻算出部84は、第1描画コンポーネント61のm(=2)番目の画像の描画開始時刻、描画終了時刻、m(=2)番目の画像が表示されるリフレッシュタイミングを算出したことになる。
以上の処理を行った結果、第2描画コンポーネント62及び第1描画コンポーネント61のそれぞれについて、m=1〜4それぞれの画像の描画開始時刻、描画終了時刻、画像が表示されるリフレッシュタイミングを算出する。
図6は、第4切替手順についての描画処理を示すタイミングチャートである。
図6の図形、記号等の参照方法は図4と同様である。
図6の第4切替手順と、図4の第2切替手順の違いは、大きくは、図4でメモリコピーバー231として現したメモリ内容のコピーを行わないこと、及びTCにおいて第1描画コンポーネント61と第2描画コンポーネント62が用いるメモリバッファを切り替えていないことである。
第4切替手順についても、図4のフローチャートを用いることにより、描画1バー201〜202、311〜313、及び描画2バー211、321〜323の描画処理それぞれについて、m=1〜4それぞれの画像の描画開始時刻、描画終了時刻、画像が表示されるリフレッシュタイミングを算出する。
図7は、第1切替手順についての描画処理を示すタイミングチャートである。
図7の図形、記号等の参照方法は図4と同様である。
図7の第1切替手順と、図4の第2切替手順の違いは、大きくは、図4でメモリコピーバー231として現したメモリ内容のコピーを行わないことである。
第1切替手順についても、図4のフローチャートを用いることにより、描画1バー201〜202、361〜363、及び描画2バー211、351〜353の描画処理それぞれについて、m=1〜4それぞれの画像の描画開始時刻、描画終了時刻、画像が表示されるリフレッシュタイミングを算出する。
図8は、第3切替手順についての描画処理を示すタイミングチャートである。
図8の図形、記号等の参照方法は図4と同様である。
図8の第3切替手順と、図4の第2切替手順の違いは、大きくは、図4でメモリコピーバー231として現したメモリ内容のコピーにおける、コピー元とコピー先が逆転していることである。すなわち、汎用フレームバッファ32に記憶されている内容を高速フレームバッファ31へコピー(メモリコピーバー231として表す)している点である。
第3切替手順についても、図8のフローチャートを用いることにより、描画1バー201〜202、381〜383、及び描画2バー211、391〜393の描画処理それぞれについて、m=1〜4それぞれの画像の描画開始時刻、描画終了時刻、画像が表示されるリフレッシュタイミングを算出する。
図9は、第1〜第4切替手順についての表示時刻算出処理による算出結果をまとめた表である。
図9(a)は、第4切替手順における、フレーム番号(m、n)と、第1描画コンポーネント61、第2描画コンポーネントそれぞれについて、どのリフレッシュタイミング(TRaの「a」)で表示されるかを示す。図9(a)のフレーム番号は、m及びnの値を示す。
例えば、図9(a)の欄511の値は1である。すなわち、第1描画コンポーネント61のフレーム番号1の画像223は、リフレッシュタイミングTR1において表示されることを示す。図9(a)の欄512の値は0である。すなわち、第2描画コンポーネント62のフレーム番号1の画像222は、リフレッシュタイミングTR0において表示されることを示す。また、図9(a)の欄513の値は2である。すなわち、第1描画コンポーネント61のフレーム番号2の画像225は、リフレッシュタイミングTR2において表示されることを示す。図9(a)の欄514の値は2である。すなわち、第2描画コンポーネント62のフレーム番号2の画像224は、リフレッシュタイミングTR2において表示されることを示す。図9(a)の欄515の値は3である。すなわち、第1描画コンポーネント61のフレーム番号3の画像227は、リフレッシュタイミングTR3において表示されることを示す。図9(a)の欄516の値は3である。すなわち、第2描画コンポーネント62のフレーム番号3の画像226は、リフレッシュタイミングTR3において表示されることを示す。
図9(b)、図9(c)、図9(d)は、それぞれ、第1切替手順〜第3切替手順それぞれにおける、フレーム番号(m、n)と、第1描画コンポーネント61、第2描画コンポーネントそれぞれについて、どのリフレッシュタイミング(TRaの「a」)で表示されるかを示す。
図9(b)、図9(c)、図9(d)については、図9(a)に記載のない遅延欄(欄521、欄522)が設けられている。
これは、図9(b)に係る第1切替手順を採用した場合に、図9(a)に係る第4切替手順を採用したのと比べて生じる遅延を記載したものである。遅延は少ないほど望ましい。
図9(b)の欄521には、遅延として−1が記載されている。
これは、第1描画コンポーネント61に関し、第1切替手順を採用すると、第4切替手順を採用する場合に比べ、遅延が1減っていることを示す。具体的には、第4フレームが表示されるリフレッシュタイミングが、第4切替手順では5(TR5)であるのに対し、第1切替手順では4(TR4)で表示される。
また、図9(b)の欄522には、値−3が記載されている。
これは、第2描画コンポーネント62に関し、フレーム番号2、3、4のフレームが表示されるリフレッシュタイミングが、第4切替手順では2(TR2)、3(TR3)、4(TR4)であるのに対し、第1切替手順では1(TR1)、2(TR2)、3(TR3)であり、それぞれ表示されるリフレッシュタイミングが1ずつ繰り上がっているため、この合計値が−3となったものである。
図9(e)〜図9(g)は、第1〜第3切替手順それぞれのスコアを示す表である。
図9(e)は、第1切替手順のスコアを示す表であり、図9(b)に対応する。
図9(e)の遅延計は、図9(b)の遅延を合計したものである。具体的には、欄521、欄522の値の合計となる。
図9(e)のコマ落ちは、バッファに画像データを記録し、その後、リフレッシュタイミングが来る前に、再度同バッファに画像データが記録された時に生じる。
一例として、図9(e)、図9(b)に対応する第1切替手順を示す図7の描画1バー202においては、画像252が高速フレームバッファに記載されるが、リフレッシュタイミングが来る前に、描画2バー361に係る描画処理により、画像262が高速フレームバッファに上書きされてしまう。よって、画像252がコマ落ちする。
コマ落ちが生じるか否かは、高速フレームバッファに対し、画像データが書き込まれた後、リフレッシュタイミングが来る前に、別の画像データを上書きする描画処理が開始されるか否かにより判断することができる。この判断結果が図9(e)のコマ落ち欄に記載される。
図9(e)の負荷は、CPU負荷を示す。
高速フレームバッファ、汎用フレームバッファの一方から他方へと内容をコピーする処理を行う場合に、負荷の値として0.1を記載する。第2切替手順、第3切替手順において、負荷が発生することになる。
図9(e)のスコアは、遅延計欄、コマ落ち欄、及び負荷欄の値の合計である。
図9(f)は、第2切替手順のスコアを示す表であり、図9(c)に対応する。
図9(g)は、第3切替手順のスコアを示す表であり、図9(d)に対応する。
図9(f)、図9(g)についても、図9(e)と同様であるので説明は省略する。
(切替手順選択部83)
切替手順選択部83は、第1切替手順〜第4切替手順それぞれについて、バッファ切替コストを表すスコアを算出する。
切替手順選択部83は、図9(a)〜図9(d)で示される算出結果を表示時刻算出部84から取得する。そして、表示時刻算出部84から取得した表示時刻算出結果に基づき、第1切替手順〜第4切替手順それぞれについて、バッファ切替コストを表すスコアを算出する。スコアについては、既に図9(e)〜図9(g)を用いて説明済みであるので説明は省略する。
切替手順選択部83は、算出した各スコアを比較して、スコアの少ない切替手順を最適切替手順として選択する。そして、選択した切替手順を示す切替手順情報45を情報格納部17に格納する。
図10は、切替手順選択部83が行う切替手順選択処理のフローチャートである。
切替手順選択部83は、切替判断部81から切替手順選択の開始要求を受けて、切替手順選択処理を開始する。
切替手順選択部83は、まず、整数型の変数iを用意し、初期値として0を設定する(S301)。
そして、切替手順選択部83は、上述の切替開始仮時刻を算出する。ここで、切替手順選択部83は、上述のように、算出要求を送信しようとしたときに、第1描画コンポーネント61、第2描画コンポーネント62のいずれもが描画処理中でなければ、現在時刻を切替開始仮時刻とする。また、第1描画コンポーネント61、第2描画コンポーネント62のいずれかが描画処理中であれば、その描画処理の終了直後を切替開始仮時刻とする。iが0でない場合には、描画処理の終了直後が切替開始仮時刻とされた描画コンポーネントについて、i回描画処理を行った直後を切替開始仮時刻とする(S302)。
例えば、図5において、iが0の場合、描画1バー202の終了直後を切替開始仮時刻とするが、iが1の場合、描画1バー202の次の描画1バーである描画1バー203の終了直後を切替開始仮時刻とする。なお、iが1の場合に、描画1バー202の次の描画2バーである描画2バー212の終了直後を切替開始仮時刻としてもよい。
次に、切替手順選択部83は、バッファ切替を行わない第4切替手順についての表示時刻算出要求を表示時刻算出部84に行い、算出結果(以下、第4算出結果という。)を取得する(S303)。S303の処理は、図4のフローチャートにより実行される。この算出結果は、図9(a)に示したものである。
次に、切替手順選択部83は、第1切替手順についての表示時刻算出要求を表示時刻算出部84に行い、算出結果(以下、第1算出結果という。)を取得する(S304)。S304の処理は、図4のフローチャートにより実行される。この算出結果は、図9(b)に示したものである。
次に、切替手順選択部83は、第2切替手順についての表示時刻算出要求を表示時刻算出部84に行い、算出結果(以下、第2算出結果という。)を取得する(S305)。S305の処理は、図4のフローチャートにより実行される。この算出結果は、図9(c)に示したものである。
次に、切替手順選択部83は、第3切替手順についての表示時刻算出要求を表示時刻算出部84に行い、算出結果(以下、第3算出結果という。)を取得する(S306)。S306の処理は、図4のフローチャートにより実行される。この算出結果は、図9(d)に示したものである。
次に、切替手順選択部83は、第1切替手段〜第3切替手段について算出したスコアを示す情報を保持しておく(S307)。
次に、S301で宣言した整数型のiが上限に達していないかをチェックし、上限に達していない場合は(S308がNO)、iに1を加え、再度S302から処理を行う(S308)。上限に達している場合は(S308がYES)、iを変化させたときにi回算出したスコアの平均値が最も良い(スコアの値が低い)スコアを保持する手順を選択し、切替開始時刻、手法、コストを切替手順情報45として情報格納部17に格納する(S319)。
なお、このiの値の上限は仮設定を行う回数は一定の閾値で設定してもよい。また、本切替手順選択処理の処理時間が一定値を超えた時点でiを上限とし、S309の処理に進んでもよい。また、iの上限を1としてもよい。また、S309において、スコアの平均値が最も良いものを選択せず、スコアの最高値の最も高い切替手順を選択することとしてもよい。
(切替判断部81)
切替判断部81は、切替手順選択部83が選択した手順の切替コストと、保持している閾値とを比較する。切替コストが閾値以上である場合、切替判断部81は、切り替えを行わないと判断し、処理を終了する。一方、切替コストが閾値未満である場合、切替判断部81は、切り替えを行うと判断し、切替実施部82へ切替の実施を要求する。なお、閾値とコストの比較を行わずに、切替手順選択部83が選択した切替手順により、バッファ切替を行うこととしてもよい。
2.2.動作
以下、実施の形態2における表示切替動作について説明する。
図11は、実施の形態2におけるバッファ切替動作の一例を示すフローチャートである。
情報処理端末1のアプリケーション13が起動しており、第1描画コンポーネント61と第2描画コンポーネント62のそれぞれが描画処理を行っているとする。
また、図11に示す切替動作は、一定時間ごとに実施されるものとするが、これに限らず、ユーザの操作がある度に通知を受け、処理を開始するものとしてもよい。
まず、切替判断部81は、S101と同様の処理により、第1描画コンポーネント61、第2描画コンポーネント62それぞれのCPU負荷を算出する(S201)。
次に、切替判断部81は、S102と同様の処理により、第1描画コンポーネント61のCPU負荷と、第2描画コンポーネント62のCPU負荷を参照し、最も負荷の高い描画コンポーネントが高速フレームバッファ31に描画しているか否か判定する(S202)。
切替判断部81は、最も負荷の高い描画コンポーネントが高速フレームバッファ31に描画していると判定した場合(S202がYES)、切替は必要ないと決定し、処理を終了する。
一方、最も負荷の高い描画コンポーネントが高速フレームバッファ31に描画していない場合(S202がNO)、切替判断部81は、切替手順選択部83に切替手順の選択を命令する。切替手順選択部83は、切替手順の選択処理を行う(S203)。
切替手順選択部83は、第1切替手順〜第4切替手順の中から最適な手順を選択し、選択した手順を切替手順情報45として情報格納部17に格納する(S204)。
S204は、図10で説明したフローチャートに従って処理される。
切替判断部81は、切替手順情報45を情報格納部17から取得する(S205)。
そして、切替判断部81は、切替手順選択部83が選択した手順の切替コストと、保持している閾値とを比較する。切替コストが閾値以上である場合、切替判断部81は、切り替えを行わないと判断し(S206がNO)、処理を終了する。一方、切替コストが閾値未満である場合、切替判断部81は、切り替えを行うと判断し(S206がYES)、切替実施部82へ切替の実施を要求する。
次に、切替実施部82は、第1実行管理部72と第2実行管理部74の描画処理の実行状態を読み込み、各描画コンポーネント(131、132)の描画処理が終了した後に、第1実行管理部72と第2実行管理部74に、各描画コンポーネント(131、132)による描画処理を中止するよう命令する(S207)。なお、全ての描画コンポーネント(131、132)が描画処理中でない場合は、切替実施部82は、即時に中断を命令する。
次に、切替実施部82は、取得した切替手順に応じて、描画コピー制御部22に、フレームバッファ間のコピーを指示する(S208)。具体的には、取得した切替手順情報45により示される切替手順が第2切替手順の場合には、第1描画コンポーネント61が使用しているバッファの内容を、第2描画コンポーネント62が使用しているバッファへとコピーするよう指示する。
取得した切替手順情報45により示される切替手順が第3切替手順の場合には、第2描画コンポーネント62が使用しているバッファの内容を、第1描画コンポーネント61が使用しているバッファへとコピーするよう指示する。
次に、切替実施部82は、フレームバッファ生成管理部94から、高速フレームバッファ31と汎用フレームバッファ32のアドレス(高速フレームバッファ先頭アドレス91、汎用フレームバッファ先頭アドレス92)を取得する。そして、切替実施部82は、ステップS202で切替判断部81により描画の負荷が高いと判断された描画コンポーネント(131または132)に対応するフレームバッファ情報格納部(124または125)に、高速フレームバッファ31のアドレスを格納する。
さらに、切替実施部82は、描画の負荷が低いと判断された描画コンポーネント(131または132)に対応するフレームバッファ情報格納部(124または125)に、汎用フレームバッファ32のアドレスを格納する(S209)。これにより、描画の負荷が高いと判断された描画コンポーネントは、高速フレームバッファ(高速フレームバッファ31)が割り振って設定され、次の描画には、高速フレームバッファを使用することになる。
次に、切替実施部82は、合成管理部14に通知し、高速フレームバッファ31と汎用フレームバッファ32の、合成時の重なりの設定を変更する(S210)。
次に、切替実施部82は、切替手順に応じて、必要ならば、表示画面の画面ロックを行う(S211)。
具体的には、切替実施部82は、合成管理部14に画面ロックを指示し、合成管理部14は、表示破綻を起こしうるフレームバッファの合成処理を中止する。
ここで表示破綻とは、描画コンポーネント(131、132)が、描画処理を完了しておらず、表示すべき画面が完成していない状態でディスプレイ35に表示してしまうことをいう。
次に、切替実施部82は、第1実行管理部72と第2実行管理部74に、S207で中止を命令していた描画処理を再開するよう命令する(S213)。
最後に、S212にて画面ロックをした場合、切替実施部82は、情報格納部17に格納されている情報に従い、適切なタイミングで、画面ロックを解除する(S214)。具体的には、切替実施部82は、合成管理部14に画面ロック解除を指示し、合成管理部14は、高速フレームバッファ31と汎用フレームバッファ32の合成処理を再開する。
以上により、情報処理端末1においては、中断していた描画処理を再開した後は、ステップS202で切替判断部81により描画の負荷が高いと判断された描画コンポーネントが高速フレームバッファを使用して描画処理を行うことになる。また、切替処理に伴う、画面の表示破綻やちらつきを抑えることが可能となる。
3.変形例
なお、本発明を上記の実施の形態に基づいて説明してきたが、本発明は、上記の実施の形態に限定されるものではなく、本発明の要旨を逸脱しない範囲内において種々変更を加え得ることは勿論である。
(1)第1の実施の形態では、CPU負荷を、描画所要時間/描画間隔としていたが、これには限らない。例えば、CPU負荷は、切替判断部81が切替判断を直近に行ってから、現在に至るまでに算出された複数のCPU負荷の平均値を用いてもよい。
(2)上述の実施の形態では、情報処理端末1は携帯型の情報端末であるとしたが、これに限らず、据置型の情報端末であってもよいし、携帯電話機や、AV機器等であってもよい。
また、情報処理端末1が実行するアプリケーションは、地図と写真を描画することとしたが、これに限らず、地図、動画、写真、CG(Conmputer Graphics)、文書の描画等を組み合わせたものであってもよい。
また、上述の実施の形態では、1つのアプリケーションに2つの描画コンポーネントを含む例で説明したがこれに限らず、複数の描画処理が並列して行われる場合に適用しうる。例えば、地図を表示するアプリケーションと、写真を表示するアプリケーションの2つのアプリケーションが並行して実行される場合などが考えられる。
(3)実施の形態1では、2つのコンポーネントしか用いてなかったが、3つ以上のコンポーネントを用いてよい。そして、情報処理端末1のソフトウェア部にXウィンドウシステム(登録商標)が組み込まれており(図示せず)、汎用フレームバッファ32にはXウィンドウシステムを経由して描画を行うものとしてもよい。この場合に、高速フレームバッファ31については、Xウィンドウシステムを経由しないで描画を行うものとすれば、高速フレームバッファ31を用いる描画処理は、汎用フレームバッファ32を用いる場合と比べて、さらに高速になる。そして、高速フレームバッファ31にデータの書き込みができるのは、後述の切替判断部81によって指定される単一のコンポーネントのみであるので、この指定されたコンポーネントは、他のコンポーネントよりも高速に描画処理を実行できる。
一方で、汎用フレームバッファ32については、2以上のコンポーネントが同時にデータの書き込みを要求することができ、Xウィンドウシステムがこれらの書き込み要求を調停した上で、各コンポーネントから書き込み要求されたデータを順に汎用フレームバッファ32に書き込む。よって、汎用フレームバッファ32を用いた描画処理に要する時間と、高速フレームバッファ31を用いた描画処理に要する時間との時間差は、Xウィンドウシステムを用いない場合に比べ拡大する。
(4)上記の各装置は、具体的には、マイクロプロセッサ、ROM、RAM、ハードディスクユニット、ディスプレイユニット、キーボード、マウスなどから構成されるコンピュータシステムである。前記RAM又は前記ハードディスクユニットには、コンピュータプログラムが記憶されている。前記マイクロプロセッサが、前記コンピュータプログラムに従って動作することにより、各装置は、その機能を達成する。ここで、コンピュータプログラムは、所定の機能を達成するために、コンピュータに対する指令を示す命令コードが複数個組み合わされて構成されたものである。
なお、各装置は、マイクロプロセッサ、ROM、RAM、ハードディスクユニット、ディスプレイユニット、キーボード、マウスなどの全てを含むコンピュータシステムに限らず、これらの一部から構成されているコンピュータシステムであってもよい。
(5)上記の各装置を構成する構成要素の一部又は全部は、構成要素の機能を実現する回路で構成し、若しくは、構成要素の機能を実現するプログラムとそのプログラムを実行するプロセッサとで構成し、又は、1個のシステムLSI(Large Scale Integration:大規模集積回路)から構成されているとしてもよい。システムLSIは、複数の構成部を1個のチップ上に集積して製造された超多機能LSIであり、具体的には、マイクロプロセッサ、ROM、RAMなどを含んで構成されるコンピュータシステムである。前記RAMには、コンピュータプログラムが記憶されている。前記マイクロプロセッサが、前記コンピュータプログラムに従って動作することにより、システムLSIは、その機能を達成する。これらは個別に1チップ化されても良いし、一部又は全てを含むように1チップ化されても良い。
また、ここでは、システムLSIとしたが、集積度の違いにより、IC、システムLSI、スーパーLSI、ウルトラLSIと呼称されることもある。
また、集積回路化の手法はLSIに限るものではなく、専用回路又は汎用プロセサで実現してもよい。LSI製造後に、プログラムすることが可能なFPGA(Field Programmable Gate Array)や、LSI内部の回路セルの接続や設定を再構成可能なリコンフィギュラブル・プロセッサーを利用しても良い。
さらには、半導体技術の進歩又は派生する別技術によりLSIに置き換わる集積回路化の技術が登場すれば、当然、その技術を用いて機能ブロックの集積化を行ってもよい。バイオ技術の適用等が可能性としてありえる。
(6)上記の各装置を構成する構成要素の一部又は全部は、各装置に脱着可能なICカード又は単体のモジュールから構成されているとしてもよい。前記ICカード又は前記モジュールは、マイクロプロセッサ、ROM、RAM、などから構成されるコンピュータシステムである。前記ICカード又は前記モジュールは、上記の超多機能LSIを含むとしてもよい。マイクロプロセッサが、コンピュータプログラムに従って動作することにより、前記ICカード又は前記モジュールは、その機能を達成する。このICカード又はこのモジュールは、耐タンパ性を有するとしてもよい。
(7)本発明は、上記に示す方法であるとしてもよい。また、これらの方法をコンピュータにより実現するコンピュータプログラムであるとしてもよいし、前記コンピュータプログラムからなるデジタル信号であるとしてもよい。
また、本発明は、前記コンピュータプログラム又は前記デジタル信号をコンピュータ読み取り可能な記録媒体、例えば、フレキシブルディスク、ハードディスク、CD―ROM、MO、DVD、DVD−ROM、DVD−RAM、BD(Blu−ray Disc)、半導体メモリなど、に記録したものとしてもよい。また、これらの記録媒体に記録されている前記コンピュータプログラム又は前記デジタル信号であるとしてもよい。
また、本発明は、前記コンピュータプログラム又は前記デジタル信号を、電気通信回線、無線又は有線通信回線、インターネットを代表とするネットワーク、データ放送等を経由して伝送するものとしてもよい。
また、前記プログラム又は前記デジタル信号を前記記録媒体に記録して移送することにより、又は前記プログラム又は前記デジタル信号を前記ネットワーク等を経由して移送することにより、独立した他のコンピュータシステムにより実施するとしてもよい。
(8)上記実施の形態及び上記変形例をそれぞれ組み合わせるとしてもよい。
本発明にかかる表示切替装置は、複数のウィンドウを重ねて表示する機能を有する情報処理端末、AV機器及び通信端末などに好適である。
1 情報処理端末
11 フレームバッファ管理部
12 表示切替装置
13 アプリケーション部
14 合成管理部
15 表示部
16 入力部
17 情報格納部
18 高速メモリデバイス
19 汎用メモリデバイス
20 表示メモリデバイス
21 表示切替部
22 描画コピー制御部
31 高速フレームバッファ
32 汎用フレームバッファ
33 表示フレームバッファ
61 第1描画コンポーネント
62 第2描画コンポーネント
63 実行制御部
81 切替判断部
82 切替実施部
83 切替手順選択部
84 表示時刻算出部

Claims (9)

  1. 画像データを保持する高速バッファ及び汎用バッファについて、複数の描画コンポーネント各々に割り当てるバッファを切り替える表示処理装置であって、
    前記複数の描画コンポーネント各々についての描画処理負荷を繰り返し算出する切替判断部と、
    前記描画処理負荷が算出される毎に、前記複数の描画コンポーネントのうち算出された描画処理負荷が最も高いものに前記高速バッファが割り当てられているか否か判断し、割り当てられていない場合に、前記算出された描画処理負荷が最も高い描画コンポーネントと、前記高速バッファが割り当てられている描画コンポーネントとに割り当てるバッファを切り替える切替実施部と
    を備えることを特徴とする表示処理装置。
  2. 前記描画処理負荷は、各描画コンポーネントが単位時間当たりに描画処理を行っている時間であり、
    前記切替実施部は、前記複数の描画コンポーネントのうち前記描画処理負荷が最も高いものとして、単位時間当たりに描画処理を行っている時間の最も長いものを選ぶ
    ことを特徴とする請求項1記載の表示処理装置。
  3. 前記切替実施部は、
    前記高速バッファ及び前記汎用バッファに記録されている内容をコピーせずに、バッファを切り替える第1の切替手順と、
    前記高速バッファに記憶された内容を前記汎用バッファにコピーした後に、バッファを切り替える第2の切替手順と、
    前記汎用バッファに記憶された内容を前記高速バッファにコピーした後に、バッファを切り替える第3の切替手順とのうち1つを選択する
    ことを特徴とする請求項1記載の表示処理装置。
  4. 前記切替実施部は、前記1つの切替手順を選択する場合に、前記切替手順それぞれについて、バッファを切り替えた後における、バッファを切り替えずに描画処理を継続する場合と比較したバッファ切替コストを推計し、前記バッファ切替コストが最小の手順を選択する
    ことを特徴とする請求項3記載の表示処理装置。
  5. 前記バッファ切替コストは、コマ落ち数、表示遅延数及びCPU負荷値のうち少なくとも1つに基づき判断する
    ことを特徴とする請求項4記載の表示処理装置。
  6. 前記バッファ切替コストは、コマ落ち数、表示遅延数及びCPU負荷値のうち2つ以上を加えた値に基づき判断する
    ことを特徴とする請求項4記載の表示処理装置。
  7. 前記切替実施部は、フレーム画像を画面表示する場合に、処理落ちがあると判定された場合、処理落ちのある期間、画面表示を変更せずにロックする
    ことを特徴とする請求項4記載の表示処理装置。
  8. 画像データを保持する高速バッファ及び汎用バッファについて、複数の描画コンポーネント各々に割り当てるバッファを切り替える表示処理装置に用いられる表示処理方法であって、
    前記複数の描画コンポーネント各々についての描画処理負荷を繰り返し算出する切替判断ステップと、
    前記描画処理負荷が算出される毎に、前記複数の描画コンポーネントのうち算出された描画処理負荷が最も高いものに前記高速バッファが割り当てられているか否か判断し、割り当てられていない場合に、前記算出された描画処理負荷が最も高い描画コンポーネントと、前記高速バッファが割り当てられている描画コンポーネントとに割り当てるバッファを切り替える切替実施ステップと
    を含むことを特徴とする表示処理方法。
  9. 画像データを保持する高速バッファ及び汎用バッファについて、複数の描画コンポーネント各々に割り当てるバッファを切り替える集積回路であって、
    前記複数の描画コンポーネント各々についての描画処理負荷を繰り返し算出する切替判断部と、
    前記描画処理負荷が算出される毎に、前記複数の描画コンポーネントのうち算出された描画処理負荷が最も高いものに前記高速バッファが割り当てられているか否か判断し、割り当てられていない場合に、前記算出された描画処理負荷が最も高い描画コンポーネントと、前記高速バッファが割り当てられている描画コンポーネントとに割り当てるバッファを切り替える切替実施部と
    を備えることを特徴とする集積回路。
JP2012506843A 2010-03-24 2011-03-22 表示処理装置、表示処理方法、及び集積回路 Expired - Fee Related JP5662418B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2012506843A JP5662418B2 (ja) 2010-03-24 2011-03-22 表示処理装置、表示処理方法、及び集積回路

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
JP2010067589 2010-03-24
JP2010067589 2010-03-24
JP2012506843A JP5662418B2 (ja) 2010-03-24 2011-03-22 表示処理装置、表示処理方法、及び集積回路
PCT/JP2011/001672 WO2011118199A1 (ja) 2010-03-24 2011-03-22 表示切替装置

Publications (2)

Publication Number Publication Date
JPWO2011118199A1 JPWO2011118199A1 (ja) 2013-07-04
JP5662418B2 true JP5662418B2 (ja) 2015-01-28

Family

ID=44672777

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012506843A Expired - Fee Related JP5662418B2 (ja) 2010-03-24 2011-03-22 表示処理装置、表示処理方法、及び集積回路

Country Status (3)

Country Link
US (1) US8810588B2 (ja)
JP (1) JP5662418B2 (ja)
WO (1) WO2011118199A1 (ja)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9679345B2 (en) 2014-08-08 2017-06-13 Advanced Micro Devices, Inc. Method and system for frame pacing
US9940909B2 (en) * 2014-10-14 2018-04-10 Barco N.V. Display system with a virtual display
JP2018055210A (ja) * 2016-09-27 2018-04-05 オムロン株式会社 表示画面作成装置、表示画面作成方法、および、表示画面作成プログラム
JP2018102564A (ja) * 2016-12-26 2018-07-05 オリンパス株式会社 内視鏡システム及び内視鏡システムの情報処理方法
US10297004B2 (en) * 2017-05-25 2019-05-21 American Megatrends, Inc. Multiple frame buffers for windowless embedded environment
CN111508055B (zh) * 2019-01-30 2023-04-11 华为技术有限公司 渲染方法及装置
CN114245177B (zh) * 2021-12-17 2024-01-23 智道网联科技(北京)有限公司 高精地图的平滑显示方法、装置、电子设备及存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10210484A (ja) * 1997-01-24 1998-08-07 Nec Corp フレーム・バッファ管理方式
JP2002010262A (ja) * 2000-06-19 2002-01-11 Canon Inc 復号装置、テレビジョン装置、データ処理システム、復号方法、及び記憶媒体
JP2008228003A (ja) * 2007-03-14 2008-09-25 Seiko Epson Corp 印刷装置、印刷装置の表示方法、および、表示プログラム
WO2009038902A1 (en) * 2007-09-20 2009-03-26 Apple Inc. Switching between graphics sources to facilitate power management and/or security

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
AUPM701394A0 (en) * 1994-07-22 1994-08-18 Monash University A graphical display system
JP2000206953A (ja) 1999-01-19 2000-07-28 Toshiba Corp 計算機の表示制御方法及び装置
US7272144B2 (en) * 2002-06-26 2007-09-18 Arris International, Inc. Method and apparatus for queuing data flows
JP2005275028A (ja) 2004-03-25 2005-10-06 Mitsubishi Electric Corp 表示システム
US8269782B2 (en) * 2006-11-10 2012-09-18 Sony Computer Entertainment Inc. Graphics processing apparatus
US9015723B2 (en) * 2009-09-23 2015-04-21 International Business Machines Corporation Resource optimization for real-time task assignment in multi-process environments

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10210484A (ja) * 1997-01-24 1998-08-07 Nec Corp フレーム・バッファ管理方式
JP2002010262A (ja) * 2000-06-19 2002-01-11 Canon Inc 復号装置、テレビジョン装置、データ処理システム、復号方法、及び記憶媒体
JP2008228003A (ja) * 2007-03-14 2008-09-25 Seiko Epson Corp 印刷装置、印刷装置の表示方法、および、表示プログラム
WO2009038902A1 (en) * 2007-09-20 2009-03-26 Apple Inc. Switching between graphics sources to facilitate power management and/or security

Also Published As

Publication number Publication date
US20120062573A1 (en) 2012-03-15
WO2011118199A1 (ja) 2011-09-29
US8810588B2 (en) 2014-08-19
JPWO2011118199A1 (ja) 2013-07-04

Similar Documents

Publication Publication Date Title
JP5662418B2 (ja) 表示処理装置、表示処理方法、及び集積回路
JP5722229B2 (ja) アニメーション制御装置、アニメーション制御方法、プログラムおよび集積回路
JP5460405B2 (ja) 画像表示装置およびその制御方法
EP1519358A2 (en) Frame rate conversion device, overtaking prediction method for use in the same, display control device and video receiving display device
JP4776592B2 (ja) 画像生成装置、画像生成方法および画像生成プログラム
JP3863035B2 (ja) ピクチャインピクチャ機能とフレーム速度変換とを同時に行うための映像処理装置及び映像処理方法
JP2006113801A (ja) 画像処理結果表示装置、画像処理結果表示方法およびプログラム
CN107608588B (zh) 显示层、显示方法、显示系统和操作系统
US10452256B2 (en) Non-interfering multi-application display method and an electronic device thereof
KR20070099486A (ko) 이미지 데이터 디스플레이 제어 장치 및 방법
JP2007121479A (ja) デジタルガンマ補正回路およびデジタルガンマ補正方法
JP2006251000A (ja) 重畳表示可能なディスプレイコントローラ
JP2010181573A (ja) 画像処理装置、情報処理装置、携帯端末装置及び画像処理方法
US8675026B2 (en) Image processing apparatus, image processing method, and computer program storage medium
JP5511577B2 (ja) 画像処理装置
JP5280546B2 (ja) 映像出力装置及び映像の合成方法
JP5419783B2 (ja) 画像再生装置及び画像再生装置の制御方法
CN114461121B (zh) 一种基于虚拟图层实现uefi全屏显示的装置
US20120327096A1 (en) Image generating device
US10303712B2 (en) Image retrieval apparatus that retrieves desired image from consecutive images, control method therefor, and storage medium storing control program therefor
KR100688529B1 (ko) Osd 디스플레이 장치 및 osd 데이터 출력 방법
US10867587B2 (en) Display control apparatus, electronic equipment, and control method of display control apparatus
JP2022113262A5 (ja)
JP2007065790A (ja) 表示制御装置及びその制御方法
JP2003236172A (ja) パチンコ機の画像表示装置とその制御方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20131029

A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A711

Effective date: 20140606

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20140902

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140918

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20141111

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20141204

R150 Certificate of patent or registration of utility model

Ref document number: 5662418

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees