JP4032641B2 - Computer-readable storage medium recording GUI device and GUI screen display program - Google Patents
Computer-readable storage medium recording GUI device and GUI screen display program Download PDFInfo
- Publication number
- JP4032641B2 JP4032641B2 JP2000373840A JP2000373840A JP4032641B2 JP 4032641 B2 JP4032641 B2 JP 4032641B2 JP 2000373840 A JP2000373840 A JP 2000373840A JP 2000373840 A JP2000373840 A JP 2000373840A JP 4032641 B2 JP4032641 B2 JP 4032641B2
- Authority
- JP
- Japan
- Prior art keywords
- screen
- gui
- display
- load
- group
- 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
Links
Images
Landscapes
- Digital Computer Display Output (AREA)
- User Interface Of Digital Computer (AREA)
Description
【0001】
【発明の属する技術分野】
本発明は、例えば家電機器やOA機器といった各種機器の操作を容易化するために用いられるグラフィカルユーザインタフェース(Graphical User Interface;以下「GUI」と略す)装置およびGUI画面表示プログラムを記録したコンピュータ読み取り可能な記憶媒体に関する。
【0002】
【従来の技術】
近年、家電機器やOA機器等といった各種機器の操作部に対して、その操作性の改善を目的として、パーソナルコンピュータやワークステーション等で主流となっているGUI操作方式を導入しようとする動きが活発化している。
【0003】
ところが、一般的に、GUIによる操作を実現するためには、ウィンドウ、ボタン、アイコン等といった様々な構成要素を操作画面上に表示することが必要となり、各構成要素の表示イメージデータや多種類の文字表示用のフォントデータ等といった大量のデータを取り扱わなければならない。そのため、GUIによる操作の実現には、大容量のメモリおよび高性能なCPU(Central Processing Unit)が必要となってしまい、各種機器のコスト上昇を伴う可能性が高くなってしまう。
【0004】
この問題を解消するために、従来、GUIに関する技術として、オブジェクト指向技術を用いたものが提案されている。すなわち、GUIの実装にオブジェクト指向技術を用いて、部品の共通化によりメモリの使用効率を向上させ、操作部におけるレスポンスおよび操作性の改善を図ることにより、大容量のメモリおよび高性能なCPUを用いることなく、低コストでGUIによる操作を実現することが提案されている。GUIにオブジェクト指向技術を用いた場合、そのGUIは、画面の表示制御に関する情報、その画面を表示するために表示イメージデータ、操作部に接続された機器に関する情報等が一体のオブジェクトとして構成され、さらにはその操作手順に関する情報を加えたオブジェクトとして構成されることになる。なお、ここでいうオブジェクトとは、画面を表示するのに必要となるデータ、またはデータとそのデータの操作とを一体化したプログラムのことをいう。
【0005】
具体的には、例えば特開平9−319538号公報に開示されているように、画面描画を行う画面オブジェクトで使用される物理的なデータを表示オブジェクトから分離して独立させた複数のオブジェクトからなるデータオブジェクトと、表示画面を生成している画面オブジェクトの次にその動作が予測される一または複数の画面オブジェクトが手順オブジェクトにより特定されると、その特定に基づいて該当する画面オブジェクトを予め抽出するとともに、データオブジェクトの中から該当する画面オブジェクトに対応したオブジェクトを予め抽出するメモリ管理オブジェクトとを有するものがある。このGUIによれば、メモリ管理オブジェクトが、抽出された画面オブジェクトおよびデータオブジェクトに基づいて一または複数の表示画面データを予め生成させるので、画面生成作業の時間を短縮することができ、操作部のレスポンスの改善および操作性の改善を図ることができる。
【0006】
つまり、特開平9−319538号公報に開示されたGUIでは、ある表示画面に次いで表示が予測される一または複数の表示画面について、その一または複数の表示画面を描画するためのオブジェクトを抽出して、事前にその画面描画、すなわち表示すべき画面のラスター画像化を行っておくことで、画面遷移速度の高速化を通じて操作部のレスポンスの改善および操作性の改善を図っている。これは、遷移先となる表示画面の特定が可能であるという、GUIの特質を利用したものである。また、複数の表示画面についてオブジェクトを抽出する必要がある場合には、その遷移確率(頻度)に基づいて優先順を決定することで、ユーザによる操作傾向に適応しつつ画面遷移速度を高めることも提案されている。
【0007】
【発明が解決しようとする課題】
ところで、上述した従来のGUIでは事前に遷移先画面を描画しておくことで画面遷移速度の高速化を実現しているが、その遷移先画面の描画は、通常、ワークメモリまたはキャッシュメモリと呼ばれるRAM(Random Access Memory)等の半導体メモリ内にて行われる。
【0008】
そのため、特に、遷移先画面が複数存在する場合には、画面遷移速度の高速化のために、現在表示中の表示画面についてのラスター画像データに加えて、各遷移先画面についてのラスター画像データをも、半導体メモリ内に格納しなければならないので、結果として大容量の半導体メモリが必要になってしまう。つまり、遷移先画面についての事前描画を行おうとすると、そのためのメモリ使用量の増大によって、オブジェクト指向技術を用いてメモリの使用効率を向上させることの意味の喪失を招いてしまうおそれがある。
【0009】
これに対しては、例えば遷移確率を基にした優先順に従って遷移先画面の事前描画を選択的に行うことで、メモリ使用量の増大を抑制することも考えられる。ところが、画面の描画に要するメモリ量や時間等は、各画面で必ずしも同一ではない。すなわち、ユーザによって頻繁に選択される遷移確率の高い画面が必ずしも多くの描画時間を要する画面であるとは限らない。したがって、単に遷移確率を基にしたのでは、十分描画時間が速い画面に対しても画面表示の高速化を行って無駄なメモリ消費を招いたり、これとは逆に遷移確率の低い画面についての事前描画が行われずその画面の表示を希望するユーザが操作感を損ねたりして、結果として事前描画の有効性が薄れてしまう可能性がある。
【0010】
そこで、本発明は、画面遷移速度の高速化とメモリ使用効率の向上との両立を図り、ワークメモリまたはキャッシュメモリと呼ばれるメモリの使用量増大を招くことなく、遷移先画面の表示を迅速に行うことを可能にするGUI装置およびGUI画面表示プログラムを記録したコンピュータ読み取り可能な記憶媒体を提供することを目的とする。
【0014】
本発明に係るGUI装置は、複数の画面を選択的に表示するとともに、必要に応じてその表示画面を遷移させるものであって、前記複数の画面を描画するためのオブジェクト群を格納する第一記憶手段と、前記第一記憶手段内に格納された各オブジェクトによる画面描画結果を格納するためのワークメモリとして機能する第二記憶手段と、前記各オブジェクトによる画面描画を行う際における処理負荷を認識して基準となる許容負荷と比較する負荷認識手段と、ある画面の表示後、当該画面の遷移先となり得る画面群の描画結果を前記第二記憶手段内に生成するのにあたって、当該画面群の中で前記負荷認識手段によって処理負荷が許容負荷を超えると判断された画面を次画面候補として描画する描画処理手段とを備えることを特徴とするものである。
【0015】
また、本発明に係るGUI画面表示プログラムを記録したコンピュータ読み取り可能な記憶媒体は、複数の画面を選択的に表示するとともに、必要に応じてその表示画面を遷移させるコンピュータにて用いられるGUI画面表示プログラムを記録したコンピュータ読み取り可能なものであって、前記コンピュータを、前記複数の画面を描画するためのオブジェクト群を格納する第一記憶手段と、前記第一記憶手段内に格納された各オブジェクトによる画面描画結果を格納するためのワークメモリとして機能する第二記憶手段と、
前記各オブジェクトにより画面描画を行う際における処理負荷を認識して基準となる許容負荷と比較する負荷認識手段と、ある画面の表示後、当該画面の遷移先となり得る画面群の描画結果を前記第二記憶手段内に生成するのにあたって、当該画面群の中で前記負荷認識手段によって処理負荷が許容負荷を超えると判断された画面を次画面候補として描画する描画処理手段として機能させるためのGUI画面表示プログラムを記録したことを特徴とする。
【0016】
上記構成のGUI装置または上記手順のGUI画面表示プログラムを記録したコンピュータ読み取り可能な記憶媒体によれば、例えば画面表示動作終了後に、次に遷移する可能性のある画面候補の選定を行い、選定された画面候補を描画する際における処理負荷を認識して基準となる許容負荷と比較する。そして、その画面候補の描画結果を第二記憶手段内に生成しておくのにあたって、処理負荷が許容負荷を超えると判断された画面を次画面候補として描画する。したがって、第二記憶手段内のメモリ容量の有効活用が可能になるとともに、描画する際の処理負荷が許容負荷を超えると判断された画面については、画面遷移時に第二記憶手段内に格納されている描画結果を用いることで、遷移後の画面表示を高速に行えるようになる。また、描画する際の処理負荷が許容負荷を超えない画面については、その処理負荷が低いことから、第一記憶手段内のオブジェクトにより画面描画を行っても、遷移後の画面表示までに多くの時間を要してしまうこともない。
【0017】
【発明の実施の形態】
以下、図面に基づき本発明に係るGUI装置およびGUI画面表示プログラムを記録したコンピュータ読み取り可能な記憶媒体について説明する。
【0018】
〔第一の実施の形態〕
先ず、第一の実施の形態について説明する。
【0019】
〔装置構成〕
先ず、本実施形態におけるGUI装置の概略構成について説明する。図1は、GUI装置の概略構成の一例を示すブロック図である。図例のように、本実施形態で説明するGUI装置は、GUIアプリケーション10、オペレーションシステム(Operation System;以下「OS」と略す)20およびデバイスドライバ群30といったソフトウエア部分と、ハードウエア部分40と、から構成されている。
【0020】
このうち、ハードウエア部分40は、表示部41と、操作部42と、通信制御部43と、CPU44と、ROM(Read Only Memory)45と、RAM46と、を備えている。
【0021】
表示部41は、ユーザが家電機器やOA機器等といった各種機器を操作するための情報を表示する表示デバイスを持ち、RAM46に格納されている操作画面の表示情報を、表示デバイスを駆動するための信号に変換し表示するものである。表示デバイスとしては、LCD(Liquid Crystal Display)やCRT(Cathode Ray Tube)等を用いることができる。
【0022】
操作部42は、ユーザが表示部41に表示されているボタン等を選択したり、数値を入力したりするための操作デバイスを持ち、操作デバイスから入力される操作情報を受信するものである。操作デバイスとしては、タッチパネル、キーボード、マウス、トラックボール、トラックパッド等を用いることができる。
【0023】
通信制御部43は、家電機器やOA機器等といった各種機器のメインシステム(ただし不図示)への制御データの送信、そのメインシステムからのステータス情報の受信を行うものである。具体的には、UART(Universal Asynchronous Receiver-Transmitter)やUSB(Universal Serial Bus)等からなる。
【0024】
CPU44は、GUI機能全体の制御を行うものである。すなわち、画面を生成し表示部41に表示し、操作部42からの操作情報やメインシステムからのステータス情報を受けて、画面の更新やメインシステムの制御を行うようになっている。
【0025】
ROM45は、CPU44が実行するプログラムを予め格納しているものである。このROM45に格納されているプログラムには、詳細を後述するオブジェクト群が含まれているものとする。
【0026】
RAM46は、CPU44のプログラム実行に必要なキャッシュメモリまたはワークメモリとして用いられるものである。したがって、RAM46内には、表示部41に表示させる画面の描画結果も生成される。なお、RAM46内に生成される画面は、ビットマップ形式であってもよく、あるいはディスプレイリスト形式で記憶しておいて表示部41でビットマップ情報に変換(レンダリング)するようにしてもよい。
【0027】
このようなハードウエア部分40に対して、ソフトウエア部分では、OS20がGUI装置全体、特にGUIアプリケーション10の実行を管理するようになっており、デバイスドライバ群30が上述したハードウエア部分40の各部を制御するようになっている。
【0028】
GUIアプリケーション10は、GUI機能全体を実現するためのソフトウエアであり、オブジェクト群11〜15から構成されている。これらのオブジェクト群11〜15は、OS20の管理機能によって、相互に情報通知を行うことが可能である。なお、オブジェクト群とは複数のオブジェクトの集まりのことをいい、またオブジェクトとは画面を表示するのに必要となるデータあるいはデータとそのデータの操作とを一体化したプログラムのことをいう。
【0029】
このようなオブジェクト群のうち、画面オブジェクト群11は、GUI画面全体の表示およびユーザ操作の検出を行う機能を持つものであり、表示部41で表示される全ての画面数分が存在する。また、画面部品オブジェクト群12は、画面オブジェクト群11によって表示される画面上の各GUI部品(ボタン、ステータスバー等)の表示機能を持つものである。さらに、基本部品オブジェクト群13は、画面部品オブジェクト群12によって表示されるGUI部品を構築している基本部品(多角形、円弧などの各種グラフィック部品、各種テキスト、各種画像等)の表示機能を持つものである。
【0030】
また、表示制御オブジェクト14は、GUI画面の表示制御を行う機能を持つものであり、さらには画面オブジェクト群11が通知するユーザ操作の検出情報等を基に表示画面の遷移を管理するものである。
【0031】
また、描画命令群管理オブジェクト15は、画面オブジェクト群11、画面部品オブジェクト群12および基本部品オブジェクト群13が描画を行うときに実行する描画命令群を管理するものである。詳しくは、オブジェクトの一部分である描画命令群について、そのメモリマップ上での格納アドレスが登録されているテーブルデータを保持しており、画面オブジェクト群11、画面部品オブジェクト群12または基本部品オブジェクト群13から各格納アドレスの読み出し要求が通知された場合に、要求元のオブジェクトの一部分である描画命令群の格納アドレスをテーブルデータから取り出して、その要求元のオブジェクトに通知するものである。なお、描画命令とは、オブジェクトの一部分を構成し、かつ、そのオブジェクトによる画像描画を指示するための命令コード列をいう。
【0032】
なお、上述した構成のうち、特にソフトウエア部分は、CD−ROM等のコンピュータ読み取り可能な記憶媒体に記録されたGUI画面表示プログラムを、予めハードウエア部分40にインストールしておくことで実現したり、あるいは必要に応じてその都度読み出すことによって実現することが考えられる。
【0033】
〔画面表示動作〕
次に、以上のように構成されたGUI装置が画面表示を行う際の処理動作の概要について、図2および図3を参照しながら説明する。図2はオブジェクト構成の一具体例を示す説明図であり、図3はGUI画面の一具体例を示す説明図である。ここでは、表示部41が図3に示す画面Aを表示する場合を例に挙げて説明する。
【0034】
画面Aを表示する場合に、表示制御オブジェクト14は、画面Aについての画面オブジェクト11aに対して描画要求情報を通知する。描画要求情報通知を受けた画面オブジェクト11aは、画面Aの描画を開始するため、自オブジェクト内の描画命令群を実行する。そして、画面A上のGUI部品aおよびGUI部品bを描画するために、GUI部品aについての画面部品オブジェクト12aおよびGUI部品bについての画面部品オブジェクト12bに対して描画要求情報を通知する。
【0035】
描画要求情報通知を受けた画面部品オブジェクト12aは、GUI部品aの描画を開始するため、自オブジェクト内の描画命令群を実行する。そして、GUI部品aを構築している基本部品(文字列)a−1および基本部品(画像)a−2を描画するために、基本部品a−1についての基本部品オブジェクト13aおよび基本部品a−2についての基本部品オブジェクト13cに対して、属性情報とともに描画要求情報を通知する。
【0036】
描画要求情報通知を受けた基本部品オブジェクト13aおよび基本部品オブジェクト13cは、それぞれのオブジェクト内の描画命令群を実行し、基本部品a−1および基本部品a−2の描画を行い、完了したら画面部品オブジェクト12aに対して描画完了情報を通知する。描画完了情報通知を受けた画面部品オブジェクト12aは、画面オブジェクト11aに対して描画完了情報を通知する。ここまでで、GUI部品aがRAM46内に描画されたことになる。
【0037】
これと同様に、画面部品オブジェクト12bは、GUI部品bを描画するため、自オブジェクト内の描画命令群を実行し、GUI部品bを構築している基本部品b−1および基本部品b−2を描画すべく、基本部品オブジェクト(文字列)13aおよび基本部品オブジェクト(四角形)13bに対して、属性情報とともに描画要求情報を通知する。描画要求情報通知を受けた基本部品オブジェクト13aおよび基本部品オブジェクト13bは、それぞれのオブジェクト内の描画命令群を実行し、基本部品b−1および基本部品b−2の描画を行い、完了したら画面部品オブジェクト12bに対して描画完了情報を通知する。そして、描画完了情報通知を受けた画面部品オブジェクト12bは、画面オブジェクト11aに対して描画完了情報を通知する。ここまでで、GUI部品bがRAM46内に描画されたことになる。
【0038】
このようにして、画面部品オブジェクト12aおよび画面部品オブジェクト12bから描画完了情報を受け取ると、画面オブジェクト11aは、表示制御オブジェクト14に対して描画完了情報を通知して、画面AのRAM46内への描画を完了する。
【0039】
〔画面遷移動作〕
続いて、以上のような処理動作によって生成され表示される画面の遷移について説明する。図4は画面遷移の一具体例を示す説明図である。図例のように、GUI装置では、例えば表示部41が画面Bを表示している場合において、ユーザがその画面B上に表示されるボタンcを選択すると表示画面が画面Cに遷移し、ボタンdを選択すると表示画面が画面Dに遷移し、ボタンeを選択すると表示画面が画面Eに遷移する。画面C〜Eにおいては、それぞれの画面に応じた操作を行うことができる。さらに、画面C〜Eからの遷移については、画面Cのように戻りボタンの選択により画面Bに戻るだけのものもあれば、画面D,Eのようにボタン選択によりさらに違った画面に遷移するものもある。なお、ここでは、画面遷移が階層構造の形を採っているが、必ずしも階層構造である必要はない。ただし、どのような構造においても、画面C〜Eを含む全ての画面は、上述したようなオブジェクト群11〜15により描画され、表示部41上に表示されるものとする。
【0040】
〔本実施形態における特徴点〕
次に、以上のようなGUI機能を実現する本実施形態のGUI装置における特徴点について説明する。
【0041】
以下、ある画面の表示完了後における処理動作について説明する。ある画面、例えば画面Aの描画およびその表示が完了すると、表示制御オブジェクト14には、画面オブジェクトA11aから描画完了情報が通知される。この描画完了情報を受け取ると、表示制御オブジェクト14は、画面Aからそれ以降に遷移する可能性のある一または複数の画面候補の選定を行い、選定した画面候補情報を描画命令群管理オブジェクト15に対して通知する。ここでは、説明を簡単にするため、一つの画面Bが選定、通知されたものとして説明を行う。
【0042】
描画命令群管理オブジェクト15は、既に説明したように、メモリマップ上での描画命令群の命令コード列の格納アドレスが登録されているテーブルデータを保持している。このことから、描画命令群管理オブジェクト15では、表示制御オブジェクト14から画面候補情報の通知を受け取ると、自オブジェクト内のテーブル操作命令群を実行し、自オブジェクト内の描画命令群テーブルデータの操作を行う。
【0043】
すなわち、描画命令群管理オブジェクト15は、表示制御オブジェクト14から画面候補情報の通知を受けると、通知された画面候補のオブジェクト11,12,13の描画命令群の各命令コード列を、これらを予め格納したROM45内のデータ領域から、そのROM45よりも高速なRAM上のキャッシュメモリとして機能するデータ領域にコピーする。さらには、この動作に伴って、テーブルデータに登録されている格納アドレスの値の待避、更新、復元も行う。
【0044】
図5〜7は、描画命令群管理オブジェクトによるテーブル操作命令群の処理内容の具体例を示す説明図である。描画命令群管理オブジェクト15は、表示制御オブジェクト14から受け取った画面候補情報が“画面B”である場合に、先ず、図5に示すように、自オブジェクト内の待避データバッファ151a内の描画命令群格納アドレス値を、その待避データバッファ151a内の描画命令群識別名に対応するテーブルデータ152a内の描画命令群格納アドレスフィールド(図中における灰色部分)にコピーする(ステップ101、以下ステップを「S」と略す)。その結果、コピー後の内容は、図6に示すテーブルデータ152bのようになる。
【0045】
これに続いて、描画命令群管理オブジェクト15は、図6に示すように、表示制御オブジェクト14から受け取った画面候補情報(=画面B)に基づき、画面Bの各表示オブジェクト11b,12a,12d,13a,13c,13dの描画命令群の識別名と対応するテーブルデータ152b内の描画命令群格納アドレスフィールド(図中における灰色部分)の値を、自オブジェクト内の待避データバッファ151bにコピーする(S102)。その結果、コピー後の内容は、図6の待避データバッファ151bのようになる。
【0046】
さらに、描画命令群管理オブジェクト15は、図7に示すように、通知された画面Bの各表示オブジェクト11b,12a,12d,13a,13c,13dの描画命令群の各命令コード列を格納するデータ領域を、RAM46内のキャッシュメモリとして機能する領域上に確保し、ROM45内に格納されている描画命令群の命令コード列を、その確保したRAM46上のデータ領域にコピーする(S103)。そして、テーブルデータ151bの格納アドレスフィールドの値を、RAM46上に確保された各データ領域を指し示すアドレス値で更新する(S104)。その結果、テーブルデータの内容は、図7に示したテーブルデータ151cのようになる。
【0047】
その後、表示中の画面Aについての画面オブジェクト11aがユーザ操作を検出して、ユーザ操作検出情報を表示制御オブジェクト14に対して通知すると、表示制御オブジェクト14は、画面Bについての画面オブジェクト11bに対して描画要求情報を通知する。この結果、画面Bの表示時についても、上述した画面Aの表示時動作と同様の動作が行われることになる。
【0048】
すなわち、画面オブジェクト11bをはじめとした画面Bの各表示オブジェクト11b,12a,12d,13a,13c,13dは、自オブジェクト内の描画命令群を実行する際に、描画命令群管理オブジェクト15に対して、テーブルデータ読み出し要求通知を送る。この読み出し要求通知を受け取ると、描画命令群管理オブジェクト15は、自オブジェクト内のテーブルデータ151cから、読み出し要求通知元であるオブジェクトの描画命令群についての格納アドレスの値を読み出して、これをその読み出し要求通知元のオブジェクトに対して通知する。これにより、画面オブジェクト11b等は、描画命令群管理オブジェクト15から通知された格納アドレスが示すメモリマップ上のデータ領域に格納されている各オブジェクトの描画命令群の命令コード列を順次実行することになる。
【0049】
ただし、このとき、画面オブジェクト11b等は、RAM46上のキャッシュメモリとして機能するデータ領域に格納された各描画命令群の命令コード列を実行するため、ROM45上のデータ領域に格納された各描画命令群の命令コード列を実行する場合に比べて、画面描画を高速に行うことができる。
【0050】
つまり、本実施形態では、遷移先となる可能性のある画面候補の選定を行い、選定された画面候補を描画するためのオブジェクト内の描画命令を、予め格納されているROM45内から、より高速処理が可能なRAM46内にコピーしておき、画面遷移時にはRAM46内に格納されている描画命令を取り出して実行するようになっているので、その描画命令をROM45内から直接取り出す場合に比べて、遷移後の画面描画を高速に行えるようになる。
【0051】
しかも、RAM46上のキャッシュメモリとして機能するデータ領域には、描画命令のみがコピーされるので、遷移先となる可能性のある全ての画面の描画結果を格納する場合のように、多くのメモリ容量を必要とすることもない。具体的には、RAM46内におけるメモリ使用量の増大分は、一または複数の表示画面の描画命令群の命令コード列の分のみであり、一または複数の表示画面データのサイズ分と比較して非常に少なくなる。
【0052】
これらのことから、本実施形態によれば、画面遷移速度の高速化とメモリ使用効率の向上との両立を図ることができ、ユーザに対する操作レスポンスおよびその操作性を従来よりも容易に改善することが可能となる。
【0053】
なお、描画命令群の命令コード列をROM45内からRAM46内にコピーするタイミングについては、ある画面の表示完了以降、その次の遷移先画面の表示までの間であれば、どのタイミングであってもよく、CPU44の処理動作状況等に応じて適宜行うことで、遷移後の画面描画の高速化を確実なものとすることができる。
【0054】
ただし、描画命令群の命令コード列をRAM46内にコピーしても、そのメモリ使用量の増大分が過多になってしまうことはないので、例えば遷移確率(頻度)の非常に高い画面等といった所定の画面については、上述のタイミングに依らず、GUI装置の起動時(例えば電源投入時)に、予めその描画命令の命令コード列をROM45内からRAM46内にコピーしておくことで、CPU44の処理負荷の低減を図るようにしてもよい。
【0055】
また、RAM46内にコピーする描画命令群の命令コード列は、遷移先となる可能性のある一または複数の画面候補についてのものであるが、画面遷移が階層構造の形を採っている場合には、次階層に属するものを画面候補とする他に、次々階層またはそれ以降の階層に属するものを画面候補とすることも考えられる。
【0056】
さらには、多くの画面候補が存在する場合に、これらの全てについて描画命令群の命令コード列をRAM46内にコピーするのではなく、詳細を後述する処理負荷の大きいものを優先すれば、キャッシュメモリとして機能するRAM46上のデータ領域の有効活用が図れるようになる。
【0057】
〔第二の実施の形態〕
次に、第二の実施の形態について説明する。ただし、ここでは、上述した第一の実施の形態との相違点についてのみ説明するものとする。すなわち、〔装置構成〕および〔画面表示動作〕については、第一の実施の形態の場合と略同様であるため、ここではその説明を省略する。
【0058】
〔画面遷移動作〕
本実施形態で説明するGUI装置も、第一の実施の形態の場合と略同様に画面の遷移を行う(図4参照)。ただし、本実施形態のGUI装置では、その画面遷移を以下に述べるような手順で制御する。図8は、画面遷移の制御手順の一例を示すフローチャートである。
【0059】
すなわち、GUI装置の電源がONされると(S201)、先ず、各オブジェクト群11〜15から構成されるGUIアプリケーション10は、所定の初期(デフォルト)画面についてのオブジェクトにより、RAM46上のワークメモリとして機能するデータ領域内への当該初期画面の描画を行う。これにより、表示部41からは、例えば図4に示した画面遷移動作を行う場合であれば、画面Bが初期画面として表示されることになる(S202)。
【0060】
表示部41による初期画面の表示が完了すると、続いて、GUIアプリケーション10は、その初期画面の遷移先となる次画面候補の選択とオブジェクト生成を行う(S203)。ここでは、遷移先となる可能性のある画面の中からいくつかの候補を選択し、その候補についてのオブジェクトを生成して、RAM46上のワークメモリとして機能するデータ領域内に、選択された次画面の描画を行う。次画面の候補数は、一つであっても複数であってもよい。また、常に「0」となってはいけないが、その時の条件によっては「0」になる場合もあってよい。例えば、現在の画面が図4の画面Bであれば、次画面候補は画面C〜画面Eのうちのいずれか一つまたは複数となる。次画面候補の選択条件によっては、次画面候補がない場合もあり得る。そして、例えば次画面候補として画面Cが選ばれた場合、画面Cのオブジェクトがここで生成される。
【0061】
その後、ユーザによる操作部42の操作により遷移先となる次画面が決定すると(S204)、表示制御オブジェクト14は、その次画面のオブジェクトが既に生成済みであるか否かを判断する(S205)。この判断の結果、生成済みの場合には、表示部41からは、その生成済みのオブジェクトに基づいて次画面の表示が行われることになる(S207)。ただし、生成済みでない場合には、次画面の決定後に、その次画面のオブジェクトの生成を経て(S206)、次画面の表示が行われることになる(S207)。そして、次画面の表示が完了すると、次画面は現在の画面と読み替えられ、再び上述した各ステップ(S203〜S207)を繰り返して行うことになる。
【0062】
例えば、次画面候補として図4に示す画面Cが選ばれた場合に、ユーザに操作により画面B上のボタンcが押されると、画面Cのオブジェクトは生成済みのため、直ちに次画面の表示を行うことができる。一方、画面B上のボタンdが押されて次画面として画面Dが決定した場合には、画面Dのオブジェクトは生成されていないため、画面Dのオブジェクトを生成して表示を行う。つまり、画面Cの場合に比べれば、画面表示完了までに多くの時間を要する。
【0063】
〔本実施形態における特徴点〕
次に、以上のような画面遷移動作を行う本実施形態のGUI装置における特徴点について説明する。本実施形態のGUI装置は、上述した画面遷移動作のうちの、次画面候補の選択とオブジェクト生成を行う処理(S203)に特徴がある。図9は次画面候補の選択とオブジェクト生成の一動作例を示すフローチャートであり、図10はその際に用いられる次画面管理表の一具体例を示す説明図である。
【0064】
次画面候補の選択においては、例えば図10に示すような次画面管理表を使用する。次画面管理表とは、表示部41にて表示する全ての画面について個別に設けられたもので、例えばROM45内の所定領域に予め格納されているものである。この次画面管理表には、ある画面の次に遷移する可能性のある各画面について、その表示時間、すなわちオブジェクト生成による画面描画の開始からこれを表示するまでに要する時間が、その時間の掛かる順に並べて登録されている。
【0065】
例えば、画面Bについての次画面管理表として、図10に示すようなものが設定されていれば、その次画面管理表を参照することで、画面Dが最も表示時間が掛かり、次に画面C、画面Eの順で表示時間が掛かることがわかる。このことから、この次画面管理表には、画面の描画負荷(表示時間)に対応して予め設定された優先度情報が、予め登録されているといえる。
【0066】
このような次画面管理表を用いた次画面候補選択動作を行うのにあたっては、図9に示すように、先ず、次画面管理表の参照すべきインデックスIを「1」に設定する(S301)。そして、次画面管理表の検索が終了したか否かを判定する(S302)。例えば、図10に示した次画面管理表を例に挙げると、次画面管理表のインデックスは「3」まであるため、インデックスIが「3」以下の場合には、次画面管理表の検索が終了していないと判定し、次のステップ(S303)に移る。ただし、インデックスIが「4」である場合には、次画面管理表の検索が終了したと判定し、処理を終了する。
【0067】
次のステップ(S303)では、RAM46上のワークメモリとして機能するデータ領域の残容量が予め定められた一定値以上であるか否かを判断する。ここで、残容量が一定値以上ある場合には、次のステップ(S304)に移るが、残容量が一定値未満である場合には、更なる画面描画を行うことができないと判断し、処理を終了する。
【0068】
次のステップ(S304)では、次画面管理表のインデックスIの次画面を次画面候補として設定する。例えば、図10に示した次画面管理表を例に挙げると、一回目のループではI=1であるため、次画面候補として画面Cが選択されることになる。
【0069】
そして、次画面候補が選択されると、その選択された次画面候補のオブジェクト生成により、RAM46上のワークメモリとして機能するデータ領域内に、次画面が描画される(S305)。ただし、ここでは、オブジェクトを生成するだけであって、表示部41による実際の画面表示は行わない。
【0070】
その後は、インデックスIの「+1」分のインクリメントを経て(S306)、再び上述したステップ(S302〜S306)が繰り返し行われることになる。ここで、例えば次画面候補として画面Dが選択され、その画面Dのオブジェクトが生成された場合、RAM46上のワークメモリとして機能するデータ領域の残容量は減少するが、まだ残容量が一定値以上であれば、インデックスIのインクリメントに応じて画面Cのオブジェクトを生成する。画面Cのオブジェクトを生成しても残容量が一定値以上の場合には、画面Eのオブジェクトも生成し、I=4となり次画面管理表の検索は終了するため、次画面候補の選択とオブジェクト生成を行う処理も終了する。
【0071】
以上のように、本実施形態では、次に遷移する可能性のある画面候補の処理負荷に応じて、処理負荷が高く表示時間の掛かる画面候補を優先して描画するので、RAM46上のワークメモリとして機能するデータ領域の有効活用が可能になるとともに、描画する際の処理負荷が高い画面については、画面遷移時にRAM46内に格納されている描画結果を用いることで、遷移後の画面表示を高速に行うことができる。
【0072】
しかも、そのための画面選択、すなわち処理負荷が高い画面の選択を、予め設定された優先度情報に基づいて行うので、その選択を迅速かつ的確に行うことができる。
【0073】
その上、その画面描画も、RAM46上のワークメモリとして機能するデータ領域の残容量に応じて行うので、残容量が十分ある場合には、全ての次画面候補のオブジェクト生成が行われ、実際にユーザ操作によってどの画面が次画面として選ばれても、迅速な反応速度で次画面を表示することができる。また、残容量が十分でなく、例えば画面Cのオブジェクトのみが次画面候補として生成された場合であっても、最も表示に時間が掛かる画面についての表示時間を短縮できるため、結果として十分な反応速度で次画面を表示することができる。なお、この場合に事前描画がされないことになる処理負荷が低い画面については、その処理負荷が低いことから、ROM45内のオブジェクトにより画面描画を行っても、遷移後の画面表示までに多くの時間を要してしまうこともない。
【0074】
〔第三の実施の形態〕
次に、第三の実施の形態について説明する。ただし、ここでも、上述した第一または第二の実施の形態との相違点についてのみ説明するものとする。すなわち、〔装置構成〕および〔画面表示動作〕については第一の実施の形態の場合と略同様であり、〔画面遷移動作〕については第二の実施の形態の場合と略同様であるため、ここではその説明を省略する。
【0075】
〔本実施形態における特徴点〕
本実施形態のGUI装置も、第二の実施の形態で説明した画面遷移動作のうちの、次画面候補の選択とオブジェクト生成を行う処理(図8におけるS203)に特徴がある。図11は次画面候補の選択とオブジェクト生成の一動作例を示すフローチャートであり、図12はその際に用いられる次画面管理表の一具体例を示す説明図である。
【0076】
ここで説明する次画面管理表は、図12に示すように、第二の実施の形態の場合と異なり、ある画面の次に遷移する可能性のある画面について、その画面の表示に掛かる時間をマイクロ秒単位で格納している。ただし、表示に掛かる時間の順に並べ替えをする必要はない。この次画面管理表も、表示部41にて表示する全ての画面毎に個別に持つ。
【0077】
例えば、画面Bについての次画面管理として、図12に示すようなものが設定されていれば、その次画面管理表を参照することで、画面Cの表示時間が300ms、画面Dの表示時間が700ms、画面Eの表示時間が100msであることがわかる。
【0078】
このような次画面管理表を用いた次画面候補選択動作を行うのにあたっては、図11に示すように、先ず、画面表示のためのプロセッサの負荷に応じて生成オブジェクトを選択すべく、CPU44の処理負荷(以下「CPU負荷」という)を取得する(S401)。ここでいうCPU負荷とは、本実施形態で説明する処理以外のCPU実行負荷に相当するものである。すなわち、本実施形態の処理以外にCPU44が何も処理をしていなければCPU負荷P=0%となり、他にCPU44をフルに使用する処理を行っている場合にはCPU負荷P=100%となる。なお、CPU負荷の取得については、周知技術を利用すればよいため、ここではその説明を省く。
【0079】
CPU負荷の取得後は、これに続いて、表示時間基準値T(ms)の設定を行う(S402)。表示時間基準値Tは、既に取得したCPU負荷P(%)と、次画面を表示するまでに掛かってもよい時間、すなわち表示許容時間Ts(ms)とを基に、例えば以下に示す式(1)を用いて算出する。
【0080】
T=Ts/(1+P/100)・・・(1)
【0081】
例えばTs=500msとすると、P=0%の場合であればT=500msとなり、P=100%の場合であればT=250msとなる。これは式(1)において、CPU44が他に何も処理していない時に次画面の表示に250ms掛かる場合であっても、CPU負荷が100%の時には次画面の表示時間は500ms掛かってしまうということを想定している。なお、ここで説明した式(1)は、一具体例に過ぎず、GUI装置を構築するシステムに合わせて望ましい式に設定すればよい。このことは、表示許容時間Tsについても同様のことがいえる。
【0082】
また、ここで説明したCPU負荷の取得および表示時間基準値Tの算出は、必ずしも必須ではない。すなわち、例えば、CPU負荷の取得を行わずに、表示時間基準値T=表示許容時間Tsとすることも考えられ、この場合には、CPU負荷を考慮せずに生成オブジェクトの選択を行うことになる。
【0083】
そして、表示時間基準値Tの特定後は、第二の実施の形態で説明した場合と略同様に、次画面管理表のインデックスIを「1」に設定し(S403)、次画面管理表の検索が終了したか否かを判定する(S404)。ここで、次画面管理表の検索が終了したと判定したら処理を終了するが、そうでなければ次のステップ(S405)に移る。
【0084】
次のステップ(S405)では、次画面管理表からインデックスIの表示時間Tiを抽出する。例えば、一回目のループであれば、表示時間Tiは、画面Cの表示にかかる時間であり、Ti=300msとなる。そして、抽出した表示時間Tiを、既に特定している表示時間基準値Tと比較し、これらが表示時間Ti>表示時間基準値Tの関係にあるか否かを判断する(S406)。
【0085】
表示時間Ti>表示時間基準値Tである場合には、インデックスIの次画面の表示には基準を超える時間が掛かると判断されたことになるので、そのインデックスIの次画面を次画面候補として設定し(S407)、その次画面候補のオブジェクトを生成する(S408)。一方、表示時間Ti≦表示時間基準値Tである場合には、インデックスIの次画面の表示は基準以下の時間で行えると判断されたことになるので、オブジェクトの生成は行わない。
【0086】
具体例を挙げて説明すると、Ts=500msであり、P=0%である場合には、T=500msとなる。ここで、画面Cについての一回目のループではTi=300msである。したがって、この場合、Ti≦Tとなり、次画面Cの表示はTs=500ms以下の時間で行うことができ、事前の画面描画が不要であると考えられることから、オブジェクトの生成は行われない。ところが、P=100%であるとすると、T=250msとなり、Ti>Tとなることから、次画面Cの表示はTs=500ms以下の時間では行えないと判断されたことになり、オブジェクトの生成による事前の画面描画が行われることになる。
【0087】
その後は、インデックスIの「+1」分のインクリメントを経て(S409)、再び上述したステップ(S404〜S409)が繰り返し行われることになる。
【0088】
以上のように、本実施形態でも、第二の実施の形態の場合と同様に、処理負荷が高く表示時間の掛かる画面候補を優先して描画するので、RAM46上のワークメモリとして機能するデータ領域の有効活用が可能になるとともに、遷移後の画面表示を高速に行うことができる。
【0089】
しかも、そのための画面選択、すなわち処理負荷が高い画面の選択を、画面を表示するまでに要する時間情報に基づいて行うので、十分描画時間が速い画面に対しても事前描画を行って無駄なメモリ消費を招くといったことを防げるようになり、従来よりも事前描画の有効性を高めることが可能となる。つまり、画面表示時間を基準に次画面候補を選択するため、高速に表示できる画面のオブジェクトを予め生成してしまうことを避け、ワークメモリとして機能するデータ領域を有効に利用することができる。
【0090】
その上、その画面描画も、CPU負荷、すなわち画面描画以外の処理負荷の状況に応じて行うので、例えばTs=500ms、P=0%の場合は、画面Dのオブジェクトが予め生成され、Ts=500ms、P=100%の場合は、画面Cと画面Dのオブジェクトが予め生成される、といったことが行われる。このように、画面表示に掛かる時間とCPU負荷に応じて、次画面候補の選択とオブジェクト生成を行うことができるため、十分な反応速度で次画面を表示することができる。
【0091】
【発明の効果】
以上に説明したように、本発明に係るGUI装置およびGUI画面表示プログラムを記録したコンピュータ読み取り可能な記憶媒体によれば、画面遷移速度の高速化とメモリ使用効率の向上との両立を図ることができるので、ワークメモリまたはキャッシュメモリと呼ばれるメモリの使用量増大を招くことなく、遷移先画面の表示を迅速に行うことが可能になるという効果を奏する。
【図面の簡単な説明】
【図1】 本発明に係るGUI装置の概略構成の一例を示すブロック図である。
【図2】 GUI機能を実現するオブジェクト構成の一具体例を示す説明図である。
【図3】 GUI画面の一具体例を示す説明図である。
【図4】 GUI画面の画面遷移の一具体例を示す説明図である。
【図5】 本発明に係るGUI装置の描画命令群管理オブジェクトによるテーブル操作命令群の処理内容の具体例を示す説明図(その1)である。
【図6】 本発明に係るGUI装置の描画命令群管理オブジェクトによるテーブル操作命令群の処理内容の具体例を示す説明図(その2)である。
【図7】 本発明に係るGUI装置の描画命令群管理オブジェクトによるテーブル操作命令群の処理内容の具体例を示す説明図(その3)である。
【図8】 本発明に係るGUI装置での画面遷移の制御手順の一例を示すフローチャートである。
【図9】 本発明に係るGUI装置での次画面候補の選択とオブジェクト生成の一動作例を示すフローチャート(その1)である。
【図10】 本発明に係るGUI装置での次画面候補の選択の際に用いられる次画面管理表の一具体例を示す説明図(その1)である。
【図11】 本発明に係るGUI装置での次画面候補の選択とオブジェクト生成の一動作例を示すフローチャート(その2)である。
【図12】 本発明に係るGUI装置での次画面候補の選択の際に用いられる次画面管理表の一具体例を示す説明図(その2)である。
【符号の説明】
10…GUIアプリケーション、11…画面オブジェクト群、12…画面部品オブジェクト群、13…基本部品オブジェクト群、14…表示制御オブジェクト、15…描画命令群管理オブジェクト、40…ハードウエア部分○○○、41…表示部、42…操作部、43…通信制御部、44…CPU、45…ROM、46…RAM[0001]
BACKGROUND OF THE INVENTION
The present invention records, for example, a graphical user interface (GUI) device and a GUI screen display program used for facilitating operations of various devices such as home appliances and OA devices.Computer readableThe present invention relates to a storage medium.
[0002]
[Prior art]
In recent years, there has been an active movement to introduce GUI operation methods, which are mainly used in personal computers and workstations, for the purpose of improving the operability of operation units of various devices such as home appliances and OA devices. It has become.
[0003]
However, in general, in order to realize the operation by GUI, it is necessary to display various components such as windows, buttons, icons, etc. on the operation screen. A large amount of data such as font data for character display must be handled. For this reason, a large-capacity memory and a high-performance CPU (Central Processing Unit) are required to realize the operation using the GUI, and there is a high possibility that the costs of various devices will increase.
[0004]
In order to solve this problem, conventionally, a technique using an object-oriented technique has been proposed as a technique related to a GUI. In other words, by using object-oriented technology for GUI implementation, the use efficiency of the memory is improved by sharing parts, and the response and operability in the operation unit are improved, so that a large-capacity memory and a high-performance CPU can be realized. It has been proposed to realize GUI operation at low cost without using it. When an object-oriented technology is used for the GUI, the GUI is configured as an integrated object including information related to screen display control, display image data for displaying the screen, information related to devices connected to the operation unit, and the like. Furthermore, the object is configured as an object to which information related to the operation procedure is added. The object here refers to data necessary for displaying a screen, or a program in which data and operation of the data are integrated.
[0005]
Specifically, as disclosed in, for example, Japanese Patent Laid-Open No. 9-319538, it is composed of a plurality of objects in which physical data used in a screen object for drawing a screen is separated from a display object and made independent. When one or more screen objects whose operation is predicted after the data object and the screen object generating the display screen are specified by the procedure object, the corresponding screen object is extracted in advance based on the specification. In addition, some have a memory management object for extracting in advance an object corresponding to the corresponding screen object from the data objects. According to this GUI, since the memory management object generates one or a plurality of display screen data in advance based on the extracted screen object and data object, the time required for screen generation work can be reduced. Response can be improved and operability can be improved.
[0006]
That is, in the GUI disclosed in Japanese Patent Laid-Open No. 9-319538, an object for drawing one or a plurality of display screens is extracted from one or a plurality of display screens expected to be displayed next to a certain display screen. By drawing the screen in advance, that is, by creating a raster image of the screen to be displayed, the response of the operation unit is improved and the operability is improved by increasing the screen transition speed. This utilizes a characteristic of the GUI that a display screen as a transition destination can be specified. In addition, when it is necessary to extract objects for a plurality of display screens, it is possible to increase the screen transition speed while adapting to the operation tendency by the user by determining the priority order based on the transition probability (frequency). Proposed.
[0007]
[Problems to be solved by the invention]
By the way, in the conventional GUI described above, the screen transition speed is increased by drawing the transition destination screen in advance. The drawing of the transition destination screen is usually called work memory or cache memory. This is performed in a semiconductor memory such as a RAM (Random Access Memory).
[0008]
Therefore, especially when there are multiple transition destination screens, in order to speed up the screen transition speed, in addition to the raster image data for the currently displayed display screen, the raster image data for each transition destination screen is However, since it must be stored in the semiconductor memory, a large-capacity semiconductor memory is required as a result. In other words, if an attempt is made to pre-draw the transition destination screen, the increase in memory usage for that purpose may lead to a loss of meaning for improving the memory usage efficiency using object-oriented technology.
[0009]
In response to this, for example, it may be possible to suppress an increase in memory usage by selectively drawing a transition destination screen in advance according to a priority order based on the transition probability. However, the amount of memory and time required for screen drawing are not necessarily the same for each screen. That is, a screen with a high transition probability that is frequently selected by the user is not necessarily a screen that requires a lot of drawing time. Therefore, simply based on transition probabilities, even for screens with sufficiently fast drawing times, screen display speeds up, leading to unnecessary memory consumption, and conversely for screens with low transition probabilities. There is a possibility that a user who desires to display the screen without pre-drawing loses the operational feeling, and as a result, the effectiveness of the pre-drawing may be reduced.
[0010]
Therefore, the present invention achieves both high screen transition speed and improved memory use efficiency, and promptly displays the transition destination screen without increasing the amount of memory used as work memory or cache memory. Recorded GUI device and GUI screen display program that enableComputer readableAn object is to provide a storage medium.
[0014]
The present inventionThe GUI device according to the present invention selectively displays a plurality of screens and transitions the display screens as necessary, and stores a group of objects for rendering the plurality of screens. And second storage means functioning as a work memory for storing a screen drawing result of each object stored in the first storage means, and a processing load when screen drawing by each object is performedAnd compare with the reference allowable loadAnd generating a drawing result of a screen group that can become a transition destination of the screen after the display of a certain screen in the second storage unit, the processing load by the load recognition unit in the screen group ButScreens that are determined to exceed the allowable load are candidates for the next screen.And a drawing processing means for drawing.
[0015]
In addition, a GUI screen display program according to the present invention was recorded.Computer readableThe storage medium selectively displays a plurality of screens and transitions the display screens as necessary.Computer readable recording of GUI screen display program used in computerAndThe computer,An object group for drawing the plurality of screensFirst storage means for storing; second storage means for functioning as a work memory for storing a screen drawing result of each object stored in the first storage means;
SaidRecognize processing load when drawing screens with each objectLoad recognition means for comparing with a reference allowable load,After displaying a screen, the drawing result of the screen group that can be the transition destination of the screen is displayed.SaidGenerated in the second storage meansDoIn the screen groupA function for rendering a screen for which a processing load is determined to exceed an allowable load by the load recognition unit as a next screen candidate;A GUI screen display program is recorded.
[0016]
The GUI device having the above configuration or the GUI screen display program having the above procedure was recorded.Computer readableAccording to the storage medium, for example, after the screen display operation is completed, a screen candidate that may transition to the next is selected, and the processing load when drawing the selected screen candidate is recognized.And compare with the reference allowable loadTo do. And in generating the drawing result of the screen candidate in the second storage means,Draw a screen for which the processing load exceeds the allowable load as a next screen candidate. Therefore, it is possible to effectively use the memory capacity in the second storage means, and the processing load at the time of drawing is reduced.Screen determined to exceed the allowable loadWith respect to, by using the drawing result stored in the second storage means at the time of screen transition, the screen display after the transition can be performed at high speed. Also, the processing load when drawingDo not exceed allowable loadSince the processing load of the screen is low, it does not take much time to display the screen after the transition even if the screen is drawn by the object in the first storage means.
[0017]
DETAILED DESCRIPTION OF THE INVENTION
Hereinafter, the GUI apparatus and GUI screen display program according to the present invention were recorded based on the drawings.Computer readableThe storage medium will be described.
[0018]
[First embodiment]
First, the first embodimentWill be described.
[0019]
〔Device configuration〕
First, a schematic configuration of the GUI device according to the present embodiment will be described. FIG. 1 is a block diagram illustrating an example of a schematic configuration of a GUI device. As shown in the figure, the GUI device described in the present embodiment includes software parts such as a
[0020]
Among these, the
[0021]
The
[0022]
The operation unit 42 has an operation device for a user to select a button or the like displayed on the
[0023]
The communication control unit 43 transmits control data to a main system (not shown) of various devices such as home appliances and OA devices, and receives status information from the main system. Specifically, it consists of UART (Universal Asynchronous Receiver-Transmitter), USB (Universal Serial Bus) and the like.
[0024]
The CPU 44 controls the entire GUI function. That is, a screen is generated and displayed on the
[0025]
The ROM 45 stores a program executed by the CPU 44 in advance. The program stored in the ROM 45 includes an object group whose details will be described later.
[0026]
The
[0027]
In contrast to the
[0028]
The
[0029]
Among such object groups, the
[0030]
The
[0031]
The drawing command group management object 15 manages a drawing command group executed when the
[0032]
Of the above-described configuration, the software part in particular can be realized by installing a GUI screen display program recorded in a computer-readable storage medium such as a CD-ROM in the
[0033]
[Screen display operation]
Next, an outline of processing operation when the GUI device configured as described above performs screen display will be described with reference to FIGS. 2 and 3. FIG. 2 is an explanatory diagram showing a specific example of the object configuration, and FIG. 3 is an explanatory diagram showing a specific example of the GUI screen. Here, a case where the
[0034]
When displaying the screen A, the
[0035]
Upon receiving the drawing request information notification, the screen component object 12a executes a drawing command group in its own object in order to start drawing of the GUI component a. Then, in order to draw the basic part (character string) a-1 and the basic part (image) a-2 that make up the GUI part a, the basic part object 13a and the basic part a- The drawing request information is notified together with the attribute information to the
[0036]
Upon receiving the drawing request information notification, the basic component object 13a and the
[0037]
Similarly, the
[0038]
When the drawing completion information is received from the screen component object 12a and the
[0039]
[Screen transition operation]
Next, the transition of the screen generated and displayed by the above processing operation will be described. FIG. 4 is an explanatory diagram showing a specific example of screen transition. As shown in the figure, in the GUI device, for example, when the
[0040]
[Features in this embodiment]
Next, feature points in the GUI device of the present embodiment that realizes the GUI function as described above will be described.
[0041]
The processing operation after the completion of display of a certain screen will be described below. When the drawing and display of a certain screen, for example, the screen A are completed, the
[0042]
As described above, the drawing command group management object 15 holds table data in which the storage address of the command code string of the drawing command group on the memory map is registered. Therefore, when the drawing command group management object 15 receives the notification of the screen candidate information from the
[0043]
That is, when receiving the notification of the screen candidate information from the
[0044]
5 to 7 are explanatory diagrams illustrating specific examples of processing contents of the table operation instruction group by the drawing instruction group management object. When the screen candidate information received from the
[0045]
Subsequently, as shown in FIG. 6, the drawing command group management object 15 displays the display objects 11b, 12a, 12d, and 12d on the screen B based on the screen candidate information (= screen B) received from the
[0046]
Further, as shown in FIG. 7, the drawing command group management object 15 is a data storing each command code string of the drawing command group of each
[0047]
Thereafter, when the screen object 11a for the currently displayed screen A detects the user operation and notifies the
[0048]
In other words, the display objects 11b, 12a, 12d, 13a, 13c, and 13d of the screen B including the
[0049]
However, at this time, since the
[0050]
In other words, in the present embodiment, screen candidates that may become transition destinations are selected, and drawing commands in the object for drawing the selected screen candidates are faster from the ROM 45 that is stored in advance. Since the drawing command stored in the
[0051]
In addition, since only the drawing command is copied to the data area functioning as the cache memory on the
[0052]
Therefore, according to the present embodiment, it is possible to achieve both a high screen transition speed and an improvement in memory usage efficiency, and to improve the operation response to the user and its operability more easily than before. Is possible.
[0053]
Note that the timing of copying the instruction code string of the drawing command group from the ROM 45 to the
[0054]
However, even if the instruction code string of the drawing instruction group is copied into the
[0055]
Further, the instruction code string of the drawing instruction group to be copied in the
[0056]
Furthermore, when there are many screen candidates, the instruction code string of the drawing instruction group is not copied into the
[0057]
[Second Embodiment]
next,Second embodimentWill be described. However, only differences from the above-described first embodiment will be described here. That is, since [apparatus configuration] and [screen display operation] are substantially the same as those in the first embodiment, the description thereof is omitted here.
[0058]
[Screen transition operation]
The GUI device described in this embodiment also performs screen transitions in substantially the same manner as in the first embodiment (see FIG. 4). However, in the GUI device according to the present embodiment, the screen transition is controlled according to the procedure described below. FIG. 8 is a flowchart illustrating an example of a screen transition control procedure.
[0059]
That is, when the power of the GUI device is turned on (S201), first, the
[0060]
When the display of the initial screen by the
[0061]
Thereafter, when the next screen as the transition destination is determined by the operation of the operation unit 42 by the user (S204), the
[0062]
For example, when the screen C shown in FIG. 4 is selected as the next screen candidate, when the user presses the button c on the screen B, the object of the screen C has already been generated, so the next screen is displayed immediately. It can be carried out. On the other hand, when the button d on the screen B is pressed and the screen D is determined as the next screen, since the object of the screen D is not generated, the object of the screen D is generated and displayed. That is, as compared with the case of the screen C, it takes much time to complete the screen display.
[0063]
[Features in this embodiment]
Next, feature points in the GUI apparatus of the present embodiment that performs the above-described screen transition operation will be described. The GUI device according to the present embodiment is characterized in the process of selecting a next screen candidate and generating an object (S203) among the above-described screen transition operations. FIG. 9 is a flowchart showing an operation example of selection of the next screen candidate and object generation, and FIG. 10 is an explanatory diagram showing a specific example of the next screen management table used at that time.
[0064]
In selecting the next screen candidate, for example, a next screen management table as shown in FIG. 10 is used. The next screen management table is individually provided for all screens displayed on the
[0065]
For example, if the next screen management table for screen B is set as shown in FIG. 10, the screen is referred to by referring to the next screen management table.DTakes the most time to display, thenC,screenEIt can be seen that the display time is taken in the order of. From this, it can be said that priority information preset in correspondence with the drawing load (display time) of the screen is registered in advance in the next screen management table.
[0066]
In performing the next screen candidate selection operation using such a next screen management table, first, as shown in FIG. 9, the index I to be referred to in the next screen management table is set to “1” (S301). . Then, it is determined whether or not the search for the next screen management table is completed (S302). For example, taking the next screen management table shown in FIG. 10 as an example, since the index of the next screen management table is up to “3”, when the index I is “3” or less, the next screen management table is searched. It is determined that the process has not ended, and the process proceeds to the next step (S303). However, if the index I is “4”, it is determined that the search for the next screen management table has ended, and the processing is ended.
[0067]
In the next step (S303), it is determined whether or not the remaining capacity of the data area functioning as a work memory on the
[0068]
In the next step (S304), the next screen of index I in the next screen management table is set as a next screen candidate. For example, taking the next screen management table shown in FIG. 10 as an example, since I = 1 in the first loop, screen C is selected as the next screen candidate.
[0069]
When the next screen candidate is selected, the next screen is drawn in a data area functioning as a work memory on the
[0070]
After that, the index I is incremented by “+1” (S306), and the above steps (S302 to S306) are repeated. Here, for example, the screen as the next screen candidateDIs selected and its screenDWhen the object is generated, the remaining capacity of the data area functioning as a work memory on the
[0071]
As described above, according to the present embodiment, screen candidates with a high processing load and a long display time are preferentially drawn according to the processing load of a screen candidate that may transition to the next. As for a screen with a high processing load during drawing, the drawing result stored in the
[0072]
Moreover, screen selection for that purpose, that is, selection of a screen with a high processing load, is performed based on preset priority information, so that the selection can be performed quickly and accurately.
[0073]
In addition, the screen drawing is also performed according to the remaining capacity of the data area functioning as a work memory on the
[0074]
[Third embodiment]
next,Third embodimentWill be described. Here, however, only differences from the above-described first or second embodiment will be described. That is, since [apparatus configuration] and [screen display operation] are substantially the same as in the case of the first embodiment, and [screen transition operation] is substantially the same as in the case of the second embodiment, The description is omitted here.
[0075]
[Features in this embodiment]
The GUI device according to the present embodiment is also characterized by a process for selecting a next screen candidate and generating an object (S203 in FIG. 8) in the screen transition operations described in the second embodiment. FIG. 11 is a flowchart showing an operation example of selection of the next screen candidate and object generation, and FIG. 12 is an explanatory diagram showing a specific example of the next screen management table used at that time.
[0076]
In the next screen management table described here, as shown in FIG. 12, unlike the case of the second embodiment, the time taken to display the screen of a screen that may transition to the next screen is displayed. Stored in microseconds. However, it is not necessary to rearrange in the order of display time. This next screen management table is also individually provided for every screen displayed on the
[0077]
For example, if the next screen management for the screen B is set as shown in FIG. 12, the display time of the screen C is 300 ms and the display time of the screen D is referred to by referring to the next screen management table. It can be seen that 700 ms and the display time of screen E is 100 ms.
[0078]
In performing the next screen candidate selection operation using such a next screen management table, as shown in FIG. 11, the CPU 44 first selects a generated object in accordance with the processor load for screen display. A processing load (hereinafter referred to as “CPU load”) is acquired (S401). Here, the CPU load corresponds to a CPU execution load other than the processing described in the present embodiment. That is, if the CPU 44 is not performing any processing other than the processing of the present embodiment, the CPU load P = 0%, and otherwise, the CPU load P = 100% when the processing that fully uses the CPU 44 is performed. Become. In addition, since acquisition of CPU load should just use a known technique, the description is abbreviate | omitted here.
[0079]
After obtaining the CPU load, subsequently, a display time reference value T (ms) is set (S402). The display time reference value T is, for example, based on the CPU load P (%) that has already been acquired and the time that may be taken until the next screen is displayed, that is, the display allowable time Ts (ms). 1).
[0080]
T = Ts / (1 + P / 100) (1)
[0081]
For example, when Ts = 500 ms, T = 500 ms when P = 0%, and T = 250 ms when P = 100%. This is because, in the formula (1), even when the CPU 44 does not process anything, it takes 250 ms to display the next screen, and when the CPU load is 100%, the display time of the next screen takes 500 ms. Assumes that. Note that the formula (1) described here is merely a specific example, and may be set to a desirable formula according to the system for constructing the GUI device. The same can be said for the display allowable time Ts.
[0082]
Further, the acquisition of the CPU load and the calculation of the display time reference value T described here are not necessarily essential. That is, for example, the display time reference value T = the display allowable time Ts may be set without acquiring the CPU load. In this case, the generated object is selected without considering the CPU load. Become.
[0083]
After specifying the display time reference value T, the index I of the next screen management table is set to “1” (S403), as in the case described in the second embodiment. It is determined whether the search is completed (S404). If it is determined that the search for the next screen management table has been completed, the process ends. If not, the process proceeds to the next step (S405).
[0084]
In the next step (S405), the display time Ti of the index I is extracted from the next screen management table. For example, in the first loop, the display time Ti is the time taken to display the screen C, and Ti = 300 ms. Then, the extracted display time Ti is compared with the already specified display time reference value T, and it is determined whether or not these are in a relationship of display time Ti> display time reference value T (S406).
[0085]
When the display time Ti> the display time reference value T, it is determined that the display of the next screen of the index I takes time exceeding the reference, so the next screen of the index I is set as a next screen candidate. The setting is made (S407), and the next screen candidate object is generated (S408). On the other hand, when the display time Ti ≦ the display time reference value T, it is determined that the display of the next screen of the index I can be performed in a time equal to or less than the reference, and therefore no object is generated.
[0086]
To explain with a specific example, when Ts = 500 ms and P = 0%, T = 500 ms. Here, in the first loop for the screen C, Ti = 300 ms. Therefore, in this case, Ti ≦ T, and the display of the next screen C can be performed in a time of Ts = 500 ms or less, and since it is considered that prior screen drawing is unnecessary, no object is generated. However, if P = 100%, T = 250 ms and Ti> T, so that it is determined that the display of the next screen C cannot be performed in a time of Ts = 500 ms or less, and the object is generated. The screen drawing in advance will be performed.
[0087]
Thereafter, the index I is incremented by “+1” (S409), and the above-described steps (S404 to S409) are repeated.
[0088]
As described above, in this embodiment as well, in the same way as in the second embodiment, screen candidates with a high processing load and a long display time are preferentially drawn, so a data area that functions as a work memory on the
[0089]
In addition, screen selection for that purpose, that is, selection of a screen with a high processing load, is performed based on the time information required to display the screen. It becomes possible to prevent incurring consumption and to increase the effectiveness of the pre-drawing than before. In other words, since the next screen candidate is selected based on the screen display time, it is possible to avoid generating a screen object that can be displayed at high speed in advance, and to effectively use a data area that functions as a work memory.
[0090]
In addition, since the screen drawing is performed according to the CPU load, that is, the processing load other than the screen drawing, for example, when Ts = 500 ms and P = 0%, the object of the screen D is generated in advance, and Ts = In the case of 500 ms and P = 100%, objects of screen C and screen D are generated in advance. In this manner, since the next screen candidate can be selected and the object can be generated according to the time required for screen display and the CPU load, the next screen can be displayed with a sufficient reaction speed.
[0091]
【The invention's effect】
As described above, the GUI device and the GUI screen display program according to the present invention are recorded.Computer readableAccording to the storage medium, the screen transition speed can be increased and the memory usage efficiency can be improved, so that the transition destination screen can be displayed without increasing the amount of memory used as work memory or cache memory. It is possible to perform the operation quickly.
[Brief description of the drawings]
FIG. 1 is a block diagram showing an example of a schematic configuration of a GUI device according to the present invention.
FIG. 2 is an explanatory diagram illustrating a specific example of an object configuration that implements a GUI function.
FIG. 3 is an explanatory diagram showing a specific example of a GUI screen.
FIG. 4 is an explanatory diagram illustrating a specific example of screen transition of a GUI screen.
FIG. 5 is an explanatory diagram (part 1) illustrating a specific example of processing contents of a table operation instruction group by a drawing instruction group management object of the GUI apparatus according to the present invention;
FIG. 6 is an explanatory diagram (part 2) of a specific example of processing contents of a table operation command group by a drawing command group management object of the GUI device according to the present invention;
FIG. 7 is an explanatory diagram (part 3) illustrating a specific example of processing contents of a table operation instruction group by a drawing instruction group management object of the GUI apparatus according to the present invention;
FIG. 8 is a flowchart showing an example of a screen transition control procedure in the GUI device according to the present invention.
FIG. 9 is a flowchart (part 1) illustrating an operation example of selection of a next screen candidate and object generation in the GUI device according to the present invention.
FIG. 10 is an explanatory diagram (No. 1) showing a specific example of a next screen management table used when selecting a next screen candidate in the GUI device according to the present invention.
FIG. 11 is a flowchart (part 2) illustrating an operation example of selection of a next screen candidate and object generation in the GUI device according to the present invention.
FIG. 12 is an explanatory diagram (No. 2) showing a specific example of a next screen management table used when selecting a next screen candidate in the GUI device according to the present invention.
[Explanation of symbols]
DESCRIPTION OF
Claims (3)
前記複数の画面を描画するためのオブジェクト群を格納する第一記憶手段と、
前記第一記憶手段内に格納された各オブジェクトによる画面描画結果を格納するためのワークメモリとして機能する第二記憶手段と、
前記各オブジェクトによる画面描画を行う際における処理負荷を認識して基準となる許容負荷と比較する負荷認識手段と、
ある画面の表示後、当該画面の遷移先となり得る画面群の描画結果を前記第二記憶手段内に生成するのにあたって、当該画面群の中で前記負荷認識手段によって処理負荷が許容負荷を超えると判断された画面を次画面候補として描画する描画処理手段と
を備えることを特徴とするGUI装置。A GUI device that selectively displays a plurality of screens and transitions the display screens as necessary.
First storage means for storing an object group for drawing the plurality of screens;
Second storage means functioning as a work memory for storing a screen drawing result of each object stored in the first storage means;
A load recognition means for recognizing a processing load when performing screen drawing with each object and comparing it with a reference allowable load ;
After generating a drawing result of a screen group that can be a transition destination of the screen in the second storage unit after displaying a certain screen, if the processing load exceeds an allowable load by the load recognition unit in the screen group A GUI apparatus comprising: a drawing processing unit that draws the determined screen as a next screen candidate .
ことを特徴とする請求項1記載のGUI装置。 The load recognition means, GUI apparatus of claim 1, wherein the varying the value of the permissible load in accordance with the situation of the processing load other than the screen drawing.
前記コンピュータを、
前記複数の画面を描画するためのオブジェクト群を格納する第一記憶手段と、
前記第一記憶手段内に格納された各オブジェクトによる画面描画結果を格納するためのワークメモリとして機能する第二記憶手段と、
前記各オブジェクトにより画面描画を行う際における処理負荷を認識して基準となる許容負荷と比較する負荷認識手段と、
ある画面の表示後、当該画面の遷移先となり得る画面群の描画結果を前記第二記憶手段内に生成するのにあたって、当該画面群の中で前記負荷認識手段によって処理負荷が許容負荷を超えると判断された画面を次画面候補として描画する描画処理手段
として機能させるためのGUI画面表示プログラムを記録したコンピュータ読み取り可能な記憶媒体。 A computer-readable storage medium that records a GUI screen display program used in a computer that selectively displays a plurality of screens and transitions the display screens as necessary.
The computer,
First storage means for storing an object group for drawing the plurality of screens ;
Second storage means functioning as a work memory for storing a screen drawing result of each object stored in the first storage means;
A load recognition means for comparing the reference becomes allowable load recognizes the processing load at the time of performing the screen drawing by the respective object,
After displaying the certain window, when to generate a drawing result of the screen group that can be a transition destination of the screen in the second storage means, the processing load by the load recognition unit in the screen group exceeds an allowable load Drawing processing means for drawing the determined screen as the next screen candidate
A computer-readable storage medium storing a GUI screen display program for functioning as a computer .
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2000373840A JP4032641B2 (en) | 2000-12-08 | 2000-12-08 | Computer-readable storage medium recording GUI device and GUI screen display program |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2000373840A JP4032641B2 (en) | 2000-12-08 | 2000-12-08 | Computer-readable storage medium recording GUI device and GUI screen display program |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2002175142A JP2002175142A (en) | 2002-06-21 |
JP4032641B2 true JP4032641B2 (en) | 2008-01-16 |
Family
ID=18843143
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2000373840A Expired - Fee Related JP4032641B2 (en) | 2000-12-08 | 2000-12-08 | Computer-readable storage medium recording GUI device and GUI screen display program |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4032641B2 (en) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5340774B2 (en) * | 2009-03-19 | 2013-11-13 | 株式会社トヨタIt開発センター | User interface device |
DE112012005580T5 (en) * | 2012-01-06 | 2014-11-13 | Mitsubishi Electric Corporation | Drawing control device |
US9207986B2 (en) | 2013-04-11 | 2015-12-08 | Facebook, Inc. | Identifying a next window of idle time to perform pre-generation tasks of content portions outside of the displayable region stored in a message queue |
US9760964B2 (en) | 2013-04-11 | 2017-09-12 | Facebook, Inc. | Application-tailored object re-use and recycling |
US10126903B2 (en) * | 2013-04-15 | 2018-11-13 | Facebook, Inc. | Application-tailored object pre-inflation |
JP5866085B1 (en) * | 2015-05-19 | 2016-02-17 | 三菱電機株式会社 | User interface device and screen display method for user interface device |
US11429445B2 (en) * | 2019-11-25 | 2022-08-30 | Micron Technology, Inc. | User interface based page migration for performance enhancement |
-
2000
- 2000-12-08 JP JP2000373840A patent/JP4032641B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2002175142A (en) | 2002-06-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110221889B (en) | Page display method and device, electronic equipment and storage medium | |
JP2531887B2 (en) | Method and apparatus for graphically associating user dialog displays with major applications in a data processing system | |
JP6427559B2 (en) | Permanent synchronization system for handwriting input | |
JP4776995B2 (en) | Computer apparatus and control method and program thereof | |
AU2014312473A1 (en) | Apparatus and method for displaying chart in electronic device | |
JP2008070831A (en) | Document display device and document display program | |
JP4032641B2 (en) | Computer-readable storage medium recording GUI device and GUI screen display program | |
CN112596845A (en) | Page switching method, device, server and storage medium | |
JP2001243031A (en) | Printing controller and its controlling method | |
JP2000207269A (en) | Device and method for document display | |
WO2011029375A1 (en) | Method and apparatus for managing buttons on taskbar | |
JP2001125917A (en) | Method and device for retrieving image | |
JP2009252083A (en) | Information processing apparatus, window display method and display control program | |
JP3706740B2 (en) | Apparatus and method for image display and data reading | |
JPWO2012086041A1 (en) | Synchronous processing method | |
JP5307294B2 (en) | Operation support computer program, operation support computer system | |
US6915401B2 (en) | System and method for managing off-screen buffers for electronic images | |
WO2021253922A1 (en) | Font switching method and electronic device | |
JP2001043051A (en) | Information processor, control method thereof, and storage medium | |
JP5512213B2 (en) | Reference display system, reference display method and program | |
JP6282051B2 (en) | Data processing apparatus, data processing method, and program | |
JP2014211812A (en) | Information processing device, control method, and computer program | |
JP2001034708A (en) | Character string prediction control method and character string input device | |
JPH0816800A (en) | Information processor | |
JP3835287B2 (en) | Bitmap data processing method, bitmap data processing method, and bitmap data processing program |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20040910 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20060922 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20061031 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20061229 |
|
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: 20071002 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20071015 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20101102 Year of fee payment: 3 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111102 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111102 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121102 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121102 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20131102 Year of fee payment: 6 |
|
LAPS | Cancellation because of no payment of annual fees |