(57)【要約】  グラフィック要素（１）の描画に必要なデータがメモリ（３）へのロード中である場合はロード中要素管理部（７）に登録する。待機要素指定部（１０）は、描画するグラフィック要素（１）が他のグラフィック要素（１）に重なっており、かつ他のグラフィック要素（１）がロード中要素管理部（７）に登録されていた場合は描画するグラフィック要素（１）を不可視属性とする。描画部１１は、不可視属性を持たないグラフィック要素（１）を描画する。
2017203659.tif 000002
【特許請求の範囲】
【請求項１】
描画対象となるグラフィック要素をディスプレイリストとして管理するディスプレイリスト管理部と、
前記グラフィック要素の描画に必要なデータがロード中である場合に当該グラフィック要素が登録され、ロードが終了した場合に当該登録が解除されるロード中要素管理部と、
前記ロード中要素管理部に登録されているグラフィック要素に対して不可視属性を付与すると共に、描画するグラフィック要素が他のグラフィック要素に重なっており、かつ当該他のグラフィック要素が前記ロード中要素管理部に登録されていた場合は前記描画するグラフィック要素を不可視属性とする待機要素指定部と、
設定された時間間隔で、前記不可視属性を持たないグラフィック要素を描画する描画部とを備えたことを特徴とする描画タイミング制御装置。
【請求項２】
描画対象となるグラフィック要素を、階層構造で構成されているツリー上の包含関係を示すディスプレイリストとして管理するディスプレイリスト管理部と、
前記グラフィック要素の描画に必要なデータがロード中である場合に当該グラフィック要素が登録され、ロードが終了した場合に当該登録が解除されるロード中要素管理部と、
前記ロード中要素管理部に登録されているグラフィック要素に対して不可視属性を付与すると共に、描画するグラフィック要素のうち、前記ツリーにおいて、前記ロード中要素管理部に登録されているグラフィック要素を含む最小のサブツリー内に含まれるグラフィック要素を不可視属性とする待機要素指定部と、
設定された時間間隔で、前記不可視属性を持たないグラフィック要素を描画する描画部とを備えたことを特徴とする描画タイミング制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画面上に配置されるグラフィック要素の描画タイミングの制御を行う描画タイミング制御装置に関するものである。
【背景技術】
【０００２】
従来、グラフィック要素の描画タイミングを制御する技術として、グラフィック要素のデコードを待つために描画が遅延してしまうことを防ぐ技術があった（例えば、特許文献１参照）。すなわち、画面に描画する必要のあるグラフィック要素の中に、エンコードされた画像や映像などのデータがあり、こうしたデータがデコード中である場合、画面描画がデコードを待ってしまうため、描画間隔があいてしまう問題がある。これを防ぐために、デコード中のグラフィック要素の描画順序を後回しにする手段を利用し、デコードが完了している要素から先行して描画することを可能にしていた。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００９−３３７０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
一般に、Ｆｌａｓｈ  Ｐｌａｙｅｒ（登録商標）を初めとするいくつかのアプリケーションランタイムでは、予め設定されたフレームレートに従って、ある時間間隔で画面が描画される。こうしたランタイムでは、描画タイミングにおいて、一部のグラフィック要素が描画できない状況にあると、設計者の意図には反して描画が一部欠けてしまう問題が生じうる。具体的には、あるグラフィック要素の描画に必要なデータを、非同期的にメモリ上にロードしている場合、そのグラフィック要素を描画することができない、という問題である。
Ｆｌａｓｈ  Ｐｌａｙｅｒでは、画像や映像を外部記憶装置やネットワーク上の別のコンピュータからメモリ上にロードしてきて、これを画面に描画することができる。このとき、データのメモリへのロードは非同期で実行される。つまり、グラフィック要素の描画に必要なデータのロードが完了していなくても、他の処理（画面の描画）を実行できるようになっている。【０００５】
非同期でのメモリ上へのロードは、画面描画の滑らかさを保つためには有用である。メモリへのロードが長時間に及ぶ場合でも、画面の描画を停止させることなく、フレームレートを保てるからである。
しかしながら、非同期でのメモリ上へのロードでは、非同期ロード中のグラフィック要素（画像や映像など）が表示できないため、ロードが完了するまでの間、画面の一部が欠けて表示されてしまうという問題がある。すなわち、本来は同時に表示すべき複数のグラフィック要素が、こうした表示の欠損により、バラバラなタイミングで表示されてしまう問題があった。【０００６】
例えば、複数のグラフィック要素からなる部品（ボタンやスライダなどのユーザインタフェース部品、あるいは、同時に表示すべきあらゆる要素群）が画面に配置されており、その部品の一部のグラフィック要素を表示するために非同期に画像をメモリへロードしているとする。ロードが完了するまでに描画タイミングが訪れると、ランタイムはロード中のグラフィック要素の描画はスキップして、それ以外の要素を画面に表示してしまう。すると、本来は一体的に表示されるべき部品が、一部欠損した状態で描画されてしまう。描画がスキップされた要素は、非同期ロードが完了したタイミングでようやく描画される。
この表示の欠損は、ボタンやスライダなどの部品であることが理解しにくくなったり、操作方法が伝わらなくなったりする問題を引き起こす。【０００７】
このような問題に対して、例えば、上記特許文献１に記載されたような技術では、画面上の全てのグラフィック要素のデコードが終わるまで、描画が一時的に停止するシステムを前提としており、メモリ上へのロードが完了しなくても、描画可能なグラフィック要素から描画が始まるようなシステムには適用は困難であった。【０００８】
この発明は、かかる問題を解決するためになされたもので、同時に表示すべき複数のグラフィック要素群を、同じタイミングで表示させることのできる描画タイミング制御装置を得ることを目的とする。
【課題を解決するための手段】
【０００９】
この発明に係る描画タイミング制御装置は、描画対象となるグラフィック要素をディスプレイリストとして管理するディスプレイリスト管理部と、グラフィック要素の描画に必要なデータがロード中である場合にグラフィック要素が登録され、ロードが終了した場合に登録が解除されるロード中要素管理部と、ロード中要素管理部に登録されているグラフィック要素に対して不可視属性を付与すると共に、描画するグラフィック要素が他のグラフィック要素に重なっており、かつ他のグラフィック要素がロード中要素管理部に登録されていた場合は描画するグラフィック要素を不可視属性とする待機要素指定部と、設定された時間間隔で、不可視属性を持たないグラフィック要素を描画する描画部とを備えたものである。
【発明の効果】
【００１０】
この発明に係る描画タイミング制御装置は、描画するグラフィック要素が他のグラフィック要素に重なっており、かつ他のグラフィック要素がメモリへのロード中であった場合は描画するグラフィック要素を不可視属性とするようにしたものである。これにより、同時に表示すべき複数のグラフィック要素群を、同じタイミングで表示させることができる。
【図面の簡単な説明】
【００１１】
【図１】この発明の実施の形態１の描画タイミング制御装置を示す構成図である。
【図２】この発明の実施の形態１の描画タイミング制御装置のハードウェア構成図である。
【図３】この発明の実施の形態２の描画タイミング制御装置のディスプレイツリーを示す説明図である。
【発明を実施するための形態】
【００１２】
以下、この発明をより詳細に説明するために、この発明を実施するための形態について、添付の図面に従って説明する。
実施の形態１．
図１は、本実施の形態による描画タイミング制御装置の構成図である。
本実施の形態による描画タイミング制御装置は、図示のように、グラフィック要素１、ディスプレイリスト２、メモリ３、非同期ロード実行部４、描画用データ５、ディスプレイリスト管理部６、ロード中要素管理部７、待機中要素管理部８、新規要素管理部９、待機要素指定部１０、描画部１１を備える。また、描画部１１には表示装置１２が接続されている。
【００１３】
グラフィック要素１は、画面上に表示されるテキストや画像といった表示単位の情報であり、自身の可視性、画面上での座標、画面上でのサイズを示す属性を保持しているものとする。これらのグラフィック要素１はディスプレイリスト２として管理される。なお、ディスプレイリスト２とは、グラフィック要素１毎に描画コマンドの情報をまとめた図形情報である。メモリ３は、グラフィック要素１の描画用データ５がロードされる記憶部である。非同期ロード実行部４は、グラフィック要素１の描画に必要なデータである描画用データ５を非同期にメモリ３にロードするための処理部である。描画用データ５は、グラフィック要素１を描画するための画像または映像あるいはテキストといった各種のデータである。
【００１４】
ディスプレイリスト管理部６は、グラフィック要素１をディスプレイリスト２として管理する処理部であり、ディスプレイリスト２の変化に応じて次のような処理を行う。すなわち、グラフィック要素１が新たにディスプレイリスト２に追加された場合は、その情報を新規要素管理部９に登録する。また、新たにディスプレイリスト２に追加されたグラフィック要素１の描画に必要な描画用データ５が非同期ロード実行部４によって非同期ロード中である場合には、そのグラフィック要素１の情報をロード中要素管理部７にも登録する。さらに、ディスプレイリスト２からグラフィック要素１が削除された場合には、そのグラフィック要素１が登録されているロード中要素管理部７〜新規要素管理部９から削除する。
【００１５】
ロード中要素管理部７は、いずれかのグラフィック要素１の描画用データ５が非同期ロード実行部４によってメモリ３にロード中である場合にそのグラフィック要素１が登録され、グラフィック要素１の描画用データ５のロードが終了した場合に登録を解除する管理部である。待機中要素管理部８は、描画が待機中であるグラフィック要素１を管理するための処理部である。新規要素管理部９は、新たにグラフィック要素１が登録された場合にそのグラフィック要素１の情報を管理するための処理部である。待機要素指定部１０は、ロード中要素管理部７に登録されているグラフィック要素１に対して不可視属性を付与すると共に、描画部１１によって描画されるグラフィック要素１が他のグラフィック要素１に重なっており、かつ重なるグラフィック要素１がロード中要素管理部７で登録されていた場合にそのグラフィック要素１を不可視属性として待機中要素管理部８に登録する処理部である。
【００１６】
描画部１１は、所定の時間間隔で動作するアプリケーションランタイムであり、グラフィック要素１のうち、不可視属性を持たないグラフィック要素１を所定の重なり順で描画し、表示装置１２の画面に表示する。
【００１７】
図２は、描画タイミング制御装置のハードウェア構成図である。図示の描画タイミング制御装置は、ＣＰＵ１０１、メモリ３、入出力インタフェース１０２、ストレージ１０３、バス１０４を備える。このような構成において、図１の非同期ロード実行部４〜描画部１１の機能にそれぞれ対応したプログラムがストレージ１０３に格納されている。ＣＰＵ１０１は、これらのプログラムをストレージ１０３から読み出してメモリ３上にロードして実行することで、非同期ロード実行部４〜描画部１１のそれぞれの機能を実現する。入出力インタフェース１０２は、外部装置との入出力のインタフェースであり、図１に示した表示装置１２が接続される。また、ストレージ１０３は、例えばハードディスク装置からなる補助記憶装置であり、非同期ロード実行部４〜描画部１１に対応したプログラムデータを格納すると共に描画用データ５を格納する。バス１０４は、ＣＰＵ１０１、メモリ３、入出力インタフェース１０２及びストレージ１０３をそれぞれ相互に接続するためのバスである。なお、図１における非同期ロード実行部４〜描画部１１の少なくともいずれかの処理部を専用のハードウェアで構成してもよい。
【００１８】
次に、実施の形態１の描画タイミング制御装置の動作について説明する。
実施の形態１の動作のポイントは、描画用データ５のロードを待っているグラフィック要素１が描画できるようになるまで、即座に描画できるグラフィック要素１を描画しないように待たせることである。また、そのとき各グラフィック要素１の関係性から、同時に描画すべきまとまりを自動的に検出し、描画を待たせるべきグラフィック要素１を自動的に選択する。
【００１９】
描画部１１は、所定の時間間隔、例えばフレームレートに従って、定期的に表示装置１２の画面を描画する。
各フレームは、各種の演算処理を実行する実行パートと、ディスプレイリスト２に含まれているグラフィック要素１の状態（可視性、レイアウト情報などの属性値）に基づいて画面を出力するレンダリングパートに分かれるものとする。図１に示す構成では、ディスプレイリスト管理部６〜待機要素指定部１０が実行パートであり、描画部１１がレンダリングパートである。以下、あるフレームでの処理の流れを示す。
【００２０】
実行パートの間中、ディスプレイリスト管理部６は、ディスプレイリスト２の変更を監視し、テキストや画像などのグラフィック要素１が新たに追加されたり削除されたりしたことを検出する。
そして、検出されたグラフィック要素１は、ロード中要素管理部７〜新規要素管理部９のうち、適切な管理部に登録される。ロード中要素管理部７は、ディスプレイリスト２に含まれるグラフィック要素１のうち、描画に必要なデータのロードが完了していない要素を監視し、ロードが完了した場合にそのグラフィック要素１の登録を解除する。新規要素管理部９は、ディスプレイリスト２に含まれるグラフィック要素１のうち、現在のフレームで新たにディスプレイリスト２に追加されたグラフィック要素１の情報を登録する。待機中要素管理部８は、ディスプレイリスト２に含まれるグラフィック要素１のうち、以下に述べる一連の処理の中で描画されないように指定されたグラフィック要素１を監視し、そのグラフィック要素１への不可視属性が解除された場合にその登録を解除する（現在のフレームで追加されたものだけでなく、過去に追加されたものも監視対象のグラフィック要素１として含む）。
【００２１】
ディスプレイリスト管理部６は、新たにディスプレイリスト２に追加されたグラフィック要素１を、新規要素管理部９に登録する。また、新たにディスプレイリスト２に追加されたグラフィック要素１の描画に必要なデータが非同期ロード中である場合には、そのグラフィック要素１をロード中要素管理部７にも登録する。このとき、非同期ロード中であるかどうかは、例えば、そのグラフィック要素１に問い合わせて確認すればよい。
【００２２】
ディスプレイリスト管理部６は、グラフィック要素１がディスプレイリスト２から削除された場合には、そのグラフィック要素１を、ロード中要素管理部７からも、新規要素管理部９からも、待機中要素管理部８からも削除する。
グラフィック要素１の描画に必要なデータのロードが完了したとき、ロード中要素管理部７は、そのグラフィック要素１の登録を解除する。
【００２３】
実行パートの最後に、すなわちレンダリングパートの直前に、以下の一連の処理を実行する。
待機要素指定部１０は、このフレームで描画すべきでない要素を探索し、それらの可視性を「不可視」にセットしていく。すなわち、待機要素指定部１０は、新規要素管理部９及び待機中要素管理部８に登録されているグラフィック要素１の中から、ロード中要素管理部７に含まれるグラフィック要素１とレイアウト的に重なっているグラフィック要素１を、順次探索する。これは、ボタンやスライダのように、背景画像やテキストなどの複数のグラフィック要素１からなるＵＩ部品について、その構成要素が異なるフレームにまたがってバラバラと描画されることを防ぐことを意図している。
【００２４】
レイアウト的な重なりの検出には、いくかの方法が考えられるが、例えば、各グラフィック要素１が持っている座標属性とサイズ属性を利用した次のような方法でもよい。
全てのグラフィック要素１は、自身が占める画面領域上の広さを、長方形のバウンディングボックスとして持ち、その長方形の左上座標を座標属性（Ｘ，Ｙ）として、横幅、縦幅をサイズ属性（Ｗ，Ｈ）として保持するものとする。
次の四つの条件のいずれか一つが満たされる場合、要素Ｂは、ロード中の要素Ａに重なっていない、すなわち、要素Ｂは、そのフレームで即時描画してよいと判定する。なお、ＸＡ，ＹＡは要素Ａの左上座標、ＸＢ，ＹＢは要素Ｂの左上座標、ＷＡ，ＨＡは要素Ａの横幅と縦幅、ＷＢ，ＨＢは要素Ｂの横幅と縦幅である。
（ｉ）    ＸＢ＋ＷＢ＜ＸＡ
（ｉｉ）  ＸＡ＋ＷＡ＜ＸＢ
（ｉｉｉ）ＹＢ＋ＨＢ＜ＹＡ
（ｉｖ）  ＹＡ＋HＡ＜ＹＢ
【００２５】
この探索において、ある新規要素管理部９に登録されているグラフィック要素１または待機中要素管理部８から参照されるグラフィック要素１が、少なくとも一つのロード中要素と重なっていることが分かった時点で、待機要素指定部１０は、その新規追加要素または描画待機中要素の可視属性を「不可視」にセットする。そして、待機要素指定部１０は、待機中要素管理部８に、そのグラフィック要素１を登録する。
結果として、描画すべきでないと判定された全ての要素、すなわちロード中要素と重なる要素は、待機中要素管理部８に登録されることになる。
【００２６】
その後、新規要素管理部９は、登録されていたグラフィック要素１の情報を全て破棄する。すなわち、新規要素管理部９をリセットする。待機中要素管理部８に登録されなかった要素、すなわちロード中の要素と重なっていなかった要素は、次のフレーム以降、上記の不可視判定を受けなくてよいからである。
【００２７】
なお、ロード中要素管理部７や待機中要素管理部８は、各フレームでリセットせず、フレームをまたいで引き継ぐ。つまり、ロード中要素管理部７に登録されたグラフィック要素１であれば、対応する描画用データ５のロードが完了するか、ロード中のグラフィック要素１がディスプレイリスト２から削除されるまで、ロード中要素管理部７に登録されたままになる。このことは、以後のフレームで追加されたグラフィック要素１でも、ロード中のグラフィック要素１に重なっていた場合、描画を待機させられるようになる。このことは、意図した表示順序を守るために必要である。
【００２８】
フレームの最後に、描画部１１は、レンダリングパートを実行し、画面を出力する。このとき、描画部１１は、ディスプレイリスト２内のグラフィック要素１を、所定の順序で描画していく。グラフィック要素１の可視属性が「不可視」である場合には、その要素を描画しない。これによって、ロード中で表示できないグラフィック要素１がある場合に、それと重なるグラフィック要素１は、描画されないようになる。これにより、描画タイミングを一致させることが可能となる。
【００２９】
実施の形態１では以上のように構成されているため、次のような効果がある。すなわち、ボタンやスライダのようなＵＩ部品を始めとして、複数のグラフィック要素を組み合わせて画面上の一つの部品を構成する場合はよくある。このとき、ある部品のなかに、描画に必要なデータのロードを要求するグラフィック要素があった場合、そのグラフィック要素の描画タイミングだけが遅れてしまい、例えば、ボタンの中に含まれる背景画像が遅れてしまい、テキストだけが先に描画されるようなことが起きる。ユーザから見ると、背景画像のボタンらしい外観がないために、表示されたテキストは一瞬あるいは数秒単なるテキストラベルであるように見え、ボタンであるとは認識できない。これはユーザビリティを損ねる問題である。
【００３０】
このような問題に対し、実施の形態１の構成であれば、描画に必要なデータを非同期ロードしているグラフィック要素が描画できるようになるまで、同じ部品の構成要素の描画を待たせておくことができる。これによって、ＵＩ部品のような一つのまとまりを、同時に、例えば同じフレームで描画できるようになる。一つ一つの要素に着目すれば、描画のタイミングを遅くすることになるが、画面上の複数のグラフィック要素がばらばらのタイミングで描画されてしまうことを防ぎ、ＵＩ部品が一つのまとまりとして出現する、分かりやすいユーザインタフェースが実現する。
しかも、上記の構成においては、どのグラフィック要素とどのグラフィック要素が、一つのまとまりであるかを予め入力しておく必要がない。単に、レイアウト情報だけに基づいて重なりを見ることで、同時に描画すべき要素を自動的に判定している。
【００３１】
以上説明したように、実施の形態１の描画タイミング制御装置によれば、描画対象となるグラフィック要素をディスプレイリストとして管理するディスプレイリスト管理部と、グラフィック要素の描画に必要なデータがロード中である場合にグラフィック要素が登録され、ロードが終了した場合に登録が解除されるロード中要素管理部と、ロード中要素管理部に登録されているグラフィック要素に対して不可視属性を付与すると共に、描画するグラフィック要素が他のグラフィック要素に重なっており、かつ他のグラフィック要素がロード中要素管理部に登録されていた場合は描画するグラフィック要素を不可視属性とする待機要素指定部と、設定された時間間隔で、不可視属性を持たないグラフィック要素を描画する描画部とを備えたので、同時に表示すべき複数のグラフィック要素群を、同じタイミングで表示させることができる。
【００３２】
実施の形態２．
上記実施の形態１では、レイアウト情報を利用して、ボタンやスライダなどの部品のまとまりを抽出していた。これによって、部品に含まれるグラフィック要素が同じタイミングで描画されるようになっていた。これに対し、実施の形態２では、レイアウト情報ではなく、ディスプレイリスト内に含まれる要素間の包含関係に基づいて、ボタンやスライダなどのＵＩ部品のまとまりを抽出する。ここで、描画タイミング制御装置としての図面上の構成は図１に示した実施の形態１と同様であるため、図１を用いて実施の形態２の構成を説明する。
【００３３】
実施の形態２では、実施の形態１のようなレイアウト情報に基づく表示タイミング制御ではなく、ディスプレイリスト２の階層構造に基づく表示タイミングの制御を行う。具体的にはディスプレイツリーを利用して部品のまとまりを抽出する。図３はディスプレイツリーの一例を示す説明図である。
Ｆｌａｓｈ  Ｐｌａｙｅｒや多くのウェブブラウザなどのアプリケーションランタイムでは、グラフィック要素をツリー構造として管理している。このツリー構造は、ディスプレイツリーやコンテンツツリーなどと呼ばれる。こうしたツリー構造では、図３に示すように、最上位に画面全域（文書全体）を示す要素が配置され、そこに含まれるグラフィック要素がそれに連なった階層構造となっている。
すなわち、図１に示すディスプレイリスト２の構成として図３に示すようなツリー構造をなしており、グラフィック要素１間の包含関係が明確なものである。
このツリー構造において、各ノードは一つのグラフィック要素１を示し、各エッジはノード間の包含関係を示す。ツリーは単一の先祖ノードから派生する構成とする。各グラフィック要素１は、例えば唯一の親要素をもち、親要素は任意の数の子要素を持ってよい。サブツリー３０２は、描画に必要なデータをロードしているロード中の要素３０１を全て含む最小のサブツリーとして定義されるものとする。
【００３４】
このような構成において、実施の形態２の待機要素指定部１０は、ロード中要素管理部７に登録されているグラフィック要素１に対して不可視属性を付与すると共に、描画するグラフィック要素１のうち、ロード中要素管理部７に登録されているグラフィック要素を含む最小のサブツリー内に含まれるグラフィック要素を不可視属性とするよう構成されている。その他の構成は実施の形態１と同様であるため、ここでの説明は省略する。
【００３５】
次に、実施の形態２の描画タイミング制御装置の動作について説明する。
実行パートのディスプレイリスト管理部６〜新規要素管理部９の動作については実施の形態１と同様であるため、ここでの説明は省略する。
実行パートの最後に、すなわちレンダリングパートの直前に以下の一連の処理を実行する。
待機要素指定部１０は、このフレームで描画すべきでない要素を探索し、それらの可視性を「不可視」にセットしていく。実施の形態２では、待機要素指定部１０は、新規要素管理部９及び待機中要素管理部８から参照されているグラフィック要素１の中から、ディスプレイリスト２のツリー構造を利用して描画を待機すべき要素を抽出する。すなわち、実施の形態２においても、ボタンやスライダのように、背景画像やテキストなどの複数のグラフィック要素からなるＵＩ部品について、その構成要素が異なるフレームにまたがってバラバラと描画されることを防ぐことを意図している。
【００３６】
まず、待機要素指定部１０は、図３に示すディスプレイツリー全体を見て、このフレームでロード中要素管理部７に登録されている要素３０１を全て含む、最小のサブツリー３０２を抽出する。待機要素指定部１０は、サブツリー３０２に含まれる新規要素３０３の可視属性を「不可視」にセットする。ここで新規要素３０３とは、新規要素管理部９に登録されるグラフィック要素１、すなわち、このフレームに新たにディスプレイツリーに登録された要素である。そして、このときに「不可視」にセットしたグラフィック要素１を待機中要素管理部８に登録する。
【００３７】
その後、新規要素管理部９は、登録されていたグラフィック要素１の情報を全て破棄する。すなわち、新規要素管理部９をリセットする。待機中要素管理部８に登録されなかった要素、すなわちロード中の要素と重なっていなかった要素は、次のフレーム以降、上記の不可視判定を受けなくてよいからである。
【００３８】
なお、実施の形態２においても、ロード中要素管理部７や待機中要素管理部８は、各フレームでリセットせず、フレームをまたいで引き継ぐ。対応する描画用データ５のロードが完了するか、ロード中のグラフィック要素１がディスプレイリスト２から削除されるまで、描画に必要なデータがロード中であるグラフィック要素は、ロード中要素管理部７に登録されたままになる。このことは、以後のフレームで追加されたグラフィック要素１でも、ロード中のグラフィック要素１に重なっていた場合、描画を待機させられるようになる。このことは、意図した表示順序を守るために必要である。
描画部１１による画面出力については実施の形態１と同様であるため、ここでの説明は省略する。
【００３９】
実施の形態２では以上のように構成されているため次のような効果がある。すなわち、実施の形態１と同様の効果を、レイアウト情報なしで実行できる。各グラフィック要素１のサイズなどのレイアウト情報は、描画に必要なデータがロードされるまで決定されない場合がある。例えば、ウェブサイトから画像をダウンロードしてきて画面の表示するような場合、画像のサイズを予め知っておくことは難しい。ロードが完了するまで画像のサイズが明らかでなく、かつ、グラフィック要素にも予めサイズが指定されていない場合、実施の形態１では、サイズ情報がないまま、レイアウト情報に基づき重なりを判定していたため、適切に部品のまとまりを抽出できない恐れもある。これに対し、実施の形態２では、サイズに基づかず、要素の包含関係だけをみて、部品のまとまりを検出するため、サイズが後から決まるような場合でも、適切に部品のまとまりを抽出できる。
【００４０】
以上説明したように、実施の形態２の描画タイミング制御装置によれば、描画対象となるグラフィック要素を、階層構造で構成されているツリー上の包含関係を示すディスプレイリストとして管理するディスプレイリスト管理部と、グラフィック要素の描画に必要なデータがロード中である場合にグラフィック要素が登録され、ロードが終了した場合に登録が解除されるロード中要素管理部と、ロード中要素管理部に登録されているグラフィック要素に対して不可視属性を付与すると共に、描画するグラフィック要素のうち、ツリーにおいて、ロード中要素管理部に登録されているグラフィック要素を含む最小のサブツリー内に含まれるグラフィック要素を不可視属性とする待機要素指定部と、設定された時間間隔で、不可視属性を持たないグラフィック要素を描画する描画部とを備えたので、実施の形態１と同様の効果を有すると共に、この効果を、画面上のグラフィック要素のレイアウト情報を必要とせずに得ることができる。
【００４１】
なお、本願発明はその発明の範囲内において、各実施の形態の自由な組み合わせ、あるいは各実施の形態の任意の構成要素の変形、もしくは各実施の形態において任意の構成要素の省略が可能である。
【産業上の利用可能性】
【００４２】
以上のように、この発明に係る描画タイミング制御装置は、画面上に配置されるグラフィック要素の描画タイミングを制御する構成に関するものであり、画像や映像などのグラフィック要素を複数画面に描画する描画装置に用いるのに適している。
【符号の説明】
【００４３】
１  グラフィック要素、２  ディスプレイリスト、３  メモリ、４  非同期ロード実行部、５  描画用データ、６  ディスプレイリスト管理部、７  ロード中要素管理部、８  待機中要素管理部、９  新規要素管理部、１０  待機要素指定部、１１  描画部、１２  表示装置、１０１  ＣＰＵ、１０２  入出力インタフェース、１０３  ストレージ、１０４  バス、３０１  要素、３０２  サブツリー、３０３  新規要素。
【図１】
2017203659.tif 000003
【図２】
2017203659.tif 000004
【図３】
2017203659.tif 000005
【国際調査報告】
2017203659.tif 000006
2017203659.tif 000007