JPH1091463A - 情報処理装置及び記録媒体 - Google Patents

情報処理装置及び記録媒体

Info

Publication number
JPH1091463A
JPH1091463A JP15484697A JP15484697A JPH1091463A JP H1091463 A JPH1091463 A JP H1091463A JP 15484697 A JP15484697 A JP 15484697A JP 15484697 A JP15484697 A JP 15484697A JP H1091463 A JPH1091463 A JP H1091463A
Authority
JP
Japan
Prior art keywords
processing
application program
message
time
event
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.)
Withdrawn
Application number
JP15484697A
Other languages
English (en)
Inventor
Satoru Iwamoto
哲 岩本
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.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP15484697A priority Critical patent/JPH1091463A/ja
Publication of JPH1091463A publication Critical patent/JPH1091463A/ja
Withdrawn legal-status Critical Current

Links

Landscapes

  • Processing Or Creating Images (AREA)

Abstract

(57)【要約】 【課題】本発明は情報処理装置に関し、時間に正確で、
かつ小刻みな動作を行うと共に、イベント発生間隔より
長い時間を必要とする処理に対し、表現したいエフェク
トを確実に実現しながら、正確な処理ができるようにす
る。 【解決手段】アプリケーションプログラム部(APL#
1・・・APL#i・・・APL#n)は、アプリケー
ションプログラム自体にループを作成し、イベント発生
間隔より長い時間を必要とする処理を実行しつつ、同時
にメッセージキュー3を監視して、当該アプリケーショ
ンプログラム部が必要とするメッセージ(例えば、中
断)のみを実行する。また、アプリケーションプログラ
ム部は、前記ループ中より時計4Aを参照しイベント発
生間隔より短い時間間隔で、時間に同期した処理を連続
して行うように構成した。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、イベント駆動型プ
ログラムからのメッセージ処理を行うアプリケーション
プログラムを備え、前記アプリケーションプログラムに
より各種の情報処理を行う情報処理装置及び記録媒体に
関する。近年のマルチタスクプログラムでは、イベント
発生に応答するようにアプリケーションプログラムを作
るが、それでは、イベント発生間隔より多くの割り込み
を必要とするアプリケーションプログラムが作れない。
そのため、その対処手段の開発が要望されていた。
【0002】
【従来の技術】以下、図面に基づいて従来例を説明す
る。 §1:一般的な説明 従来、例えば、パーソナルコンピュータ(以下「パソコ
ン」と記す)において、イベント駆動型プログラムを備
え、前記イベント駆動型プログラムからのメッセージ処
理を行うアプリケーションプログラムによるマルチタス
ク処理で、各種の情報処理を行っていた。このようなア
プリケーションプログラムはイベント発生によって処理
を行ってきた。なお、前記「イベント発生」とは、イベ
ント駆動型プログラムからのメッセージが来たら処理を
行うことである。
【0003】ところが、イベント発生間隔がそれほど頻
繁でない場合(現実には頻繁ではない)、また、他のア
プリケーションプログラムによって重い負荷(時間のか
かる負荷)がかけられていた場合には、正確な時間間隔
でイベントが発生しないために、不均一で粗い処理(割
り込み処理)になってしまう。また、精度の高いシステ
ム時計の時間間隔で実行しようとしても重い負荷のコー
ドを組めないため実現不可能である。
【0004】§2:装置例1によるマルチタスク処理の
説明・・・図6のA図参照 図6のA図は装置例1を示した図である。以下、装置例
1によるマルチタスク処理を説明する。
【0005】従来、マルチタスク処理を実現するため
に、例えば、装置例1(例えば、パソコン)を用いてい
た。装置例1では、装置本体(例えば、パソコン本体)
1に、主制御部2と、複数のアプリケーションプログラ
ムAPL1、APL2、APL3を備えている。また、
主制御部2にメッセージキュー3と、システム時計4
と、イベント駆動型プログラムを備えており、主制御部
2ではこのイベント駆動型プログラムにより制御を行
う。
【0006】装置例1では、主制御部2のイベント駆動
型プログラムの制御により、メッセージキュー3に溜め
たメッセージ群を複数のアプリケーションプログラムへ
順に回して行くことで処理を行う。主制御部2は、どの
アプリケーションプログラムのものだか分からないメッ
セージをメッセージキュー3に溜め、それを取り出して
既に起動しているアプリケーションプログラムへ送る。
【0007】アプリケーションプログラムAPL1〜A
PL3は、それぞれのメッセージが自分のものか否かを
判定し、それが自分のものだったら、初めて処理を開始
し、その処理が終わると残りのメッセージを次のアプリ
ケーションプログラムへ送る。例えば、主制御部2は、
メッセージキュー3からメッセージを順次取り出し、例
えば、アプリケーションプログラムAPL1へ送る。
【0008】アプリケーションプログラムAPL1で
は、受け取ったメッセージが自分のものか否かを判定
し、それが自分のものだったら、初めて処理を開始し、
その処理が終わると残りのメッセージを次のアプリケー
ションプログラムAPL2へ送る。また、アプリケーシ
ョンプログラムAPL2では、受け取ったメッセージが
自分のものか否かを判定し、それが自分のものだった
ら、初めて処理を開始し、その処理が終わると残りのメ
ッセージを次のアプリケーションプログラムAPL3へ
送る。
【0009】このようにしてアプリケーションプログラ
ムAPL1〜APL3が順次メッセージを受け取り、必
要な処理を行う。なお、前記装置例1のイベント駆動型
プログラムは、例えば、「WINDOWS V3.1」
(米国、マイクロソフト社の登録商標)である。
【0010】§3:装置例2によるマルチタスク処理の
説明・・・図6のB図参照 図6のB図は装置例2を示した図である。以下、装置例
2によるマルチタスク処理を説明する。
【0011】装置例2では、装置本体(例えば、パソコ
ン本体)1には、主制御部2と、複数のアプリケーショ
ンプログラムAPL1、APL2、APL3を備えてお
り、主制御部2には、前記アプリケーションプログラム
APL1、APL2、APL3にそれぞれ対応したメッ
セージキューMQ1、MQ2、MQ3を有するメッセー
ジキュー3と、システム時計4を備えている。なお、主
制御部2にはイベント駆動型プログラムを備えており、
このイベント駆動型プログラムにより制御を行う。
【0012】装置例2では、メッセージキュー3に、各
アプリケーションプログラムAPL1〜APL3に対応
したメッセージキューMQ1〜MQ3を備えており、こ
れらの各メッセージキューMQ1〜MQ3からアプリケ
ーションプログラムAPL1〜APL3へ個別のメッセ
ージを一定間隔置きに送る。
【0013】前記処理を行う場合、主制御部2では、予
めメッセージを分別してそれぞれのメッセージキューM
Q1〜MQ3に溜めておく。そして、各メッセージキュ
ーMQ1〜MQ3に溜めたメッセージを取り出し、既に
起動しているアプリケーションプログラムAPL1〜A
PL3にそれぞれ1つずつ送り、一定時間置きに強制的
に切り替える。なお、前記イベント駆動型プログラム
は、例えば、「WINDOWS 95」(米国、マイク
ロソフト社の登録商標)である。
【0014】§4:処理例の説明・・・図7参照 図7は従来例の処理説明図であり、A図は表現したいエ
フェクト、B図は実際の処理を示す。以下、図7に基づ
いて従来例の処理を説明する。
【0015】前記装置例1、或いは装置例2により、例
えば、図7のA図に示したように、1枚の絵を1秒の間
に5回に分けて描画するというエフェクトを実現したい
とする。この場合、仮に、その主制御部2のアプリケー
ションプログラムの切り替えに0.5秒かかるとすれ
ば、描画能力がそれを上回っていたとしても、そのエフ
ェクトは実現できない。
【0016】そして、実際の描画では、アプリケーショ
ンプログラムはイベント駆動型プログラムからのメッセ
ージを待って描画するので、B図のようにしか行えな
い。これでは描画能力が無駄になっている。
【0017】
【発明が解決しようとする課題】前記のような従来のも
のにおいては、次のような課題があった。 (1) :前記装置例1、及び装置例2においては、アプリ
ケーションプログラムの切り替えに或る時間T(mse
c)を必要とする。すなわち、各アプリケーションプロ
グラム(APL1〜APL3)の切り替えに最低でもT
(msec)の時間がかかるため、T(msec)より
短い時間間隔の処理を行うことはできない。
【0018】(2) :前記装置例1では、1つのアプリケ
ーションプログラム(例えば、APL2)に対し、処理
しなければならないメッセージが多く来た時、それ以外
のアプリケーションプログラム(APL1、APL3)
で処理すべきメッセージが滞る(APL2の処理が終了
しないと、APL3、APL1にはメッセージが回らな
いため処理ができない)。
【0019】(3) :前記(1) 、(2) の理由により、時間
に正確で(時間に同期して)、かつ小刻みな動作を行う
ことはできない。例えば、前記装置例1、或いは装置例
2により、図7のA図に示したように、1枚の絵を1秒
の間に5回に分けて描画するというエフェクトを実現し
たい場合、仮に、アプリケーションプログラムの切り替
えに0.5秒かかるとすれば、描画能力がそれを上回っ
ていたとしても、そのエフェクトは実現できない。
【0020】そして、実際の描画では、メッセージを待
って描画するので、図7のB図のようにしか行えない。
このためアプリケーションプログラムの描画能力が無駄
になってしまう。
【0021】本発明は、このような従来の課題を解決
し、時間に正確で(時間に同期して)、かつ小刻みな動
作を行うことができるようにすると共に、イベント駆動
型プログラムによるイベント発生間隔より長い時間を必
要とする処理に対し、表現したいエフェクトを確実に実
現しながら、正確な処理ができるようにすることを目的
とする。
【0022】
【課題を解決するための手段】図1は本発明の原理説明
図である。図1において、1は装置本体、2は主制御
部、3はメッセージキュー、4Aは時計、6はディスプ
レイ、9はイベント駆動型プログラム、APL#1、A
PL#i、APL#nはそれぞれアプリケーションプロ
グラム部を示す。本発明は前記の目的を達成するため、
次のように構成した。
【0023】(1) :イベント駆動型プログラム9、メッ
セージキュー3、及び時計手段(時計4A)により制御
が行われ、アプリケーションプログラム部(APL#1
・・・APL#i・・・APL#n)によって各種情報
処理が行われる情報処理装置において、前記アプリケー
ションプログラム部は、アプリケーションプログラム自
体にループを作成し、イベント駆動型プログラム9によ
るイベント発生間隔より長い時間を必要とする処理を実
行しつつ、同時に前記メッセージキュー3を監視して、
当該アプリケーションプログラム部が必要とするメッセ
ージのみを実行するプログラム処理手段を備えている。
【0024】(2) :前記(1) の情報処理装置において、
アプリケーションプログラム部は、前記ループ中より主
制御部2の時計4Aを参照することで、前記イベント発
生間隔より短い時間間隔で、時間に同期した処理を連続
して行う連続処理制御手段を備えている。
【0025】(3) :前記(2) の情報処理装置において、
アプリケーションプログラム部は、前記ループ中より主
制御部2の時計4Aを参照して現在の処理性能を計算
し、残りの処理時間を予想して、単位時間内に処理終了
が見込めるように、処理量を調整する処理量調整手段を
備えている。
【0026】(4) :前記(1) の情報処理装置において、
アプリケーションプログラム部は、前記ループ中より主
制御部2のメッセージキュー3を参照することで、当該
アプリケーションプログラム部自身に送られた同一種類
のメッセージを統合するメッセージ統合手段を備えてい
る。
【0027】(5) : イベント駆動型プログラムによる
イベント発生間隔より長い時間を必要とする処理を実行
させる第1の手順と、メッセージキューを監視して、必
要とするメッセージのみを処理させる第2の手順と、前
記第1の手順、及び第2の手順を繰り返し実行させる手
順と、を実行させるためのプログラムを記録したコンピ
ュータ読取可能な記録媒体。
【0028】(作用)前記構成に基づく本発明の作用
を、図1に基づいて説明する。 (a) :前記(1) の作用 アプリケーションプログラム部のプログラム処理手段
は、アプリケーションプログラム自体にループを作成
し、イベント駆動型プログラム9によるイベント発生間
隔より長い時間を必要とする処理を実行しつつ、同時に
前記メッセージキュー3を監視して、当該アプリケーシ
ョンプログラム部が必要とするメッセージのみを実行す
る。
【0029】このように、アプリケーションプログラム
自体にループを作ることで、イベント発生間隔より回数
が多くて正確な割り込み処理、すなわち、高度な割り込
みを実践することが可能になる。また、メッセージキュ
ー3を監視して、当該アプリケーションプログラム部が
必要とするメッセージ(例えば、処理の中断)のみを実
行することで、アプリケーションプログラムのクイック
レスポンスが実現できる。
【0030】(b) :前記(2) の作用 アプリケーションプログラム部の連続処理制御手段は、
前記ループ中より主制御部2の時計4Aを参照すること
で、前記イベント発生間隔より短い時間間隔で、時間に
同期した処理を連続して行う。このように、アプリケー
ションプログラム部が主制御部2の時刻を自分で監視し
ているので、メッセージ処理よりも頻度が蜜で、正確な
動作を実現することができる。
【0031】(c) :前記(3) の作用 アプリケーションプログラム部の処理量調整手段は、前
記ループ中より主制御部2の時計4Aを参照して現在の
処理性能を計算し、残りの処理時間を予想して、単位時
間内に処理終了が見込めるように、処理量を調整する。
このように、アプリケーションプログラム部が主制御部
2の時刻を自分で監視しているので、メッセージ処理よ
りも頻度が蜜で、正確な動作を実現することができる。
【0032】(d) :前記(4) の作用 アプリケーションプログラム部のメッセージ統合手段
は、前記ループ中より主制御部2のメッセージキュー3
を参照することで、当該アプリケーションプログラム部
自身に送られた同一種類のメッセージを統合する。この
ように、アプリケーションプログラム部が主制御部2の
メッセージキュー3を見ているので、新しいメッセージ
が来ても対応することができる。
【0033】(e) :前記(5) の作用 前記主制御部が、記録媒体のプログラムを読み出して実
行することにより、アプリケーションプログラム自体に
ループを作成し、イベント駆動型プログラム9によるイ
ベント発生間隔より長い時間を必要とする処理を実行し
つつ、同時に前記メッセージキュー3を監視して、当該
アプリケーションプログラム部が必要とするメッセージ
のみを実行する。
【0034】このように、アプリケーションプログラム
自体にループを作ることで、イベント発生間隔より回数
が多くて正確な割り込み処理、すなわち、高度な割り込
みを実践することが可能になる。また、メッセージキュ
ー3を監視して、当該アプリケーションプログラム部が
必要とするメッセージ(例えば、処理の中断)のみを実
行することで、アプリケーションプログラムのクイック
レスポンスが実現できる。
【0035】
【発明の実施の形態】以下、発明の実施の形態を図面に
基づいて詳細に説明する。 §1:装置の説明・・・図2参照 図2は装置構成図である。この装置(例えば、パソコ
ン)は、装置本体(例えば、パソコン本体)1とディス
プレイ6を備え、前記装置本体1には、主制御部2と、
前記主制御部2により制御され、各種情報処理(マルチ
タスク処理)を行うための複数のアプリケーションプロ
グラムAPL1、APL2、APL3を備えている。な
お、前記装置本体1にはハードディスク装置やフレキシ
ブルディスクドライブ(フロッピィディスクドライブ)
等が設けてある。
【0036】そして、主制御部(CPUを含む制御部)
2には、イベント駆動型プログラム9(従来例と同じ)
と、メッセージキュー3と、システム時計4を備えてい
る。また、前記ディスプレイ6の画面には、或るメッセ
ージ(例えば、処理の中断を指示するメッセージ)を入
力するためのキー8を表示し、例えば、マウスによりク
リックできるように構成しておく。
【0037】前記主制御部2では、イベント駆動型プロ
グラム9により各アプリケーションプログラムAPL1
〜APL3を制御することでマルチタスク処理を行う。
なお、前記メッセージキュー3は、前記従来例の装置例
1、或いは装置例2と同じである(どちらでも良い)。
【0038】§2:描画例の説明・・・図3参照 図3は描画例の説明図である。例えば、ディスプレイ6
の画面上で、1枚の絵を1秒の間に5回に分けて描画す
るというエフェクトを実現したいとする。この例では、
描画処理開始から1/5秒後にの絵を描画し、2/5
秒後にの絵を描画し、3/5秒後にの絵を描画し、
4/5秒後にの絵を描画し、5/5秒後、すなわち1
秒後にの絵が完成するように、描画処理を行うものと
する。
【0039】このように、各時間単位で〜の絵を正
確に、かつ連続して描画すれば、画面上では〜の絵
が、画面の下から上方向へ流れるようにして描画され、
初期のエフェクトを実現することができる。以下、この
描画処理を実現する処理について説明する。
【0040】§3:描画処理例1の説明・・・図4参照 図4は描画処理例1のフローチャートである。以下、図
4に基づいて描画処理例1の処理を説明する。なお、S
1〜S6は各処理ステップを示す。また、以下に説明す
る描画処理は、図3に示した描画処理であり、アプリケ
ーションプログラムAPL2がイベント発生により行う
ものとする。
【0041】(1) :処理の詳細な説明 アプリケーションプログラムAPL1〜APL3が起動
され、主制御部2のイベント駆動型プログラム9が、前
記従来例と同様にしてメッセージキュー3のメッセージ
を順次取り出し、前記アプリケーションプログラムへ送
ることでイベントを発生させる。
【0042】このようにして、例えば、アプリケーショ
ンプログラムAPL2がイベント発生により処理を開始
すると、アプリケーションプログラムAPL2は、図3
に示した描画処理を開始する。この処理開始により、ア
プリケーションプログラムAPL2は、先ず、ディスプ
レイ6の画面上に描画を1ライン行う(S1)。
【0043】そして、アプリケーションプログラムAP
L2は、前記描画処理で描いた絵が全て書き終わってい
るかどうかを判断し(S2)、全ての絵が書き終わって
いなければ、主制御部から正確な時刻を取得する(S
3)。すなわち、アプリケーションプログラムAPL2
は、主制御部2内のシステム時計4を見に行き、その時
の時刻を読み取る。
【0044】次に、アプリケーションプログラムAPL
2は、前記取得した時刻を元に、次の描画を行うべき時
間(この例の場合、1/5秒)が経過しているか否かを
判断する(S4)。この場合、1/5秒間隔で描画処理
をしているため、1/5秒で行うべき描画処理(仕事)
が予定の時間で終了しているかどうか(描画処理が遅れ
ているか、予定の時間以内に終了しているか)を判断し
ている。
【0045】前記のようにして、次の描画を行うべき時
間が経過していると判断した場合(描画処理が遅れてい
る場合)は、直ちに前記S1の処理を行う(次の描画を
1ライン行う)(S1)。すなわち、描画処理が遅れて
いる場合は、メッセージキュー3を見に行くことなく
(余分な仕事量を減らして)、次の描画処理を継続して
行う。
【0046】しかし、次の描画を行うべき時間が経過し
ていないと判断した場合(予定の時間以内で予定の描画
処理が終了している場合)、アプリケーションプログラ
ムAPL2は、主制御部2内のメッセージキュー3を見
に行く(S5)。そして、メッセージキュー3に処理す
べきメッセージ(例えば、画面上のキー8をマウスでク
リックして入力した処理中断のメッセージ)があるか無
いかを判断し(S6)、有れば処理を終了する。しか
し、処理すべきメッセージがなければ、前記S1の処理
を行う。
【0047】なお、前記S5の処理を行う場合、例え
ば、描画処理中に画面上のキー8をマウスでクリックす
ることで、処理中断のメッセージを入力すると、イベン
ト駆動型プログラム9は、前記処理中断のメッセージを
メッセージキュー3に入れる。この状態で前記S5の処
理を行うと、アプリケーションプログラムAPL2はメ
ッセージキュー3に処理すべきメッセージがあったとし
て、描画処理を終了する。
【0048】このようにしてアプリケーションプログラ
ムAPL2が描画処理を中断すると、主制御部2内のC
PUが空くので、主制御部2ではアプリケーションプロ
グラムAPL3へメッセージを送り、次のイベントを発
生させる(次の順番でメッセージを送る)。すなわち、
前記描画処理の途中で描画処理を中断させたい時は、画
面上のキー8を操作すれば、直ちに描画処理は中断し、
次の処理(別のアプリケーションプログラムによる処
理)を行わせることができる。
【0049】(2) :前記処理に関するその他の説明 :前記のように、アプリケーションプログラムAPL
2は、アプリケーションプログラム自体にループ(S1
→S2→S3→S4→S1のループ、及びS1→S2→
S3→S4→S5→S6→S1のループ)を作成し、イ
ベント駆動型プログラム9によるイベント発生間隔より
長い時間を必要とする処理を実行しつつ、同時にメッセ
ージキュー3を監視して(S5、S6参照)、当該アプ
リケーションプログラム部が必要とするメッセージ(例
えば、描画処理の中断)のみを実行する。
【0050】このように、アプリケーションプログラム
自体にループを作ることで、イベント発生間隔より回数
が多くて正確な割り込み処理、すなわち、高度な割り込
みを実践することが可能になる。また、メッセージキュ
ー3を監視して、当該アプリケーションプログラム部が
必要とするメッセージ(例えば、処理の中断)のみを実
行することで、アプリケーションプログラムのクイック
レスポンスが実現できる。
【0051】:アプリケーションプログラムAPL2
は、前記ループ中より主制御部2のシステム時計4を参
照することで(S3参照)、前記イベント発生間隔より
短い時間間隔で、時間に同期した処理を連続して行う
(S4参照)。このように、アプリケーションプログラ
ム部が主制御部2の時刻を自分で監視しているので、メ
ッセージ処理よりも頻度が蜜で、正確な動作を実現する
ことができる。
【0052】:アプリケーションプログラムAPL2
は、前記ループ中より主制御部2のシステム時計4を参
照(S3参照)して現在の処理性能を計算し、残りの処
理時間を予想して、単位時間内に処理終了が見込めるよ
うに、処理量を調整する(S4参照)。このように、ア
プリケーションプログラムAPL2が主制御部2の時刻
を自分で監視しているので、メッセージ処理よりも頻度
が蜜で、正確な動作を実現することができる。
【0053】§4:描画処理例2の説明・・・図5参照 図5は描画処理例2の処理フローチャートである。以
下、図5に基づいて描画処理例2の処理を説明する。な
お、S11〜S18は各処理ステップを示す。また、描
画処理はアプリケーションプログラムAPL2が行うも
のとする。この処理において、S17の処理以外は前記
描画処理例1と同じである。
【0054】アプリケーションプログラムAPL1〜A
PL3が起動され、主制御部2のイベント駆動型プログ
ラム9が、前記従来例と同様にしてメッセージキュー3
のメッセージを順次取り出し、前記アプリケーションプ
ログラムへ送ることでイベントを発生させる。
【0055】このようにして、例えば、アプリケーショ
ンプログラムAPL2がイベント発生により処理を開始
すると、アプリケーションプログラムAPL2は、図3
に示した描画処理を開始する。この処理開始により、ア
プリケーションプログラムAPL2は、先ず、ディスプ
レイ6の画面上に描画を1ライン行う(S11)。
【0056】そして、アプリケーションプログラムAP
L2は、前記描画処理で描いた絵が全て書き終わってい
るかどうかを判断し(S12)、全ての絵が書き終わっ
ていなければ、主制御部から正確な時刻を取得する(S
13)。すなわち、アプリケーションプログラムAPL
2は、主制御部2内のシステム時計4を見に行き、その
時の時刻を読み取る。
【0057】次に、アプリケーションプログラムAPL
2は、前記取得した時刻を元に、次の描画を行うべき時
間(この例の場合、1/5秒)が経過しているか否かを
判断する(S14)。この場合、1/5秒間隔で描画処
理をしているため、1/5秒で行うべき処理(仕事)が
予定の時間で終了しているかどうか(描画処理が遅れて
いるか、予定の時間以内に終了しているか)を判断して
いる。
【0058】前記のようにして、次の描画を行うべき時
間が経過していると判断した場合(処理が遅れている場
合)は、直ちに前記S11の処理を行う(次の描画を1
ライン行う)。すなわち、描画処理が遅れている場合
は、メッセージキュー3を見に行くことなく(余分な仕
事量を減らして)、次の描画処理を継続して行う。
【0059】しかし、次の描画を行うべき時間が経過し
ていないと判断した場合(予定の時間以内で予定の描画
処理が終了している場合)、アプリケーションプログラ
ムAPL2は、主制御部2内のメッセージキュー3を見
に行く(S15)。
【0060】そして、メッセージキュー3に同一種類の
メッセージがあるかどうかを調べ(S16)、同一種類
のメッセージがあれば、それを統合(1つのメッセージ
を残して他のメッセージを消去する)する(S17)
が、同一種類のメッセージがなければそのままにする。
【0061】次に、メッセージキュー3に処理すべきメ
ッセージ(例えば、画面上のキー8をマウスでクリック
して入力した処理中断のメッセージ)があるか無いかを
判断し(S18)、有れば処理を終了する。しかし、処
理すべきメッセージがなければ、前記S11の処理を行
う。
【0062】なお、描画処理中に画面上のキー8をマウ
スでクリックすることで、処理中断のメッセージを入力
すると、イベント駆動型プログラム9は、前記処理中断
のメッセージをメッセージキュー3に入れる。この状態
で前記S18の処理を行うと、アプリケーションプログ
ラムAPL2はメッセージキュー3に処理すべきメッセ
ージがあったとして、描画処理を終了する。
【0063】このようにしてアプリケーションプログラ
ムAPL2が描画処理を中断すると、主制御部2内のC
PUが空くので、主制御部2ではアプリケーションプロ
グラムAPL3へメッセージを送り、イベントを発生さ
せる(次の順番でメッセージを送る)。すなわち、前記
描画処理の途中で描画処理を中断させたい時は、画面上
のキー8を操作すれば、直ちに描画処理は中断し、次の
処理(別のアプリケーションプログラムによる処理)を
行わせることができる。
【0064】前記描画処理において、アプリケーション
プログラムAPL2は、前記ループ中より主制御部2の
メッセージキュー3を参照することで(S15参照)、
当該アプリケーションプログラム部自身に送られた同一
種類のメッセージを統合する(S17参照)。このよう
に、アプリケーションプログラムAPL2が主制御部2
のメッセージキュー3を見ているので、新しいメッセー
ジが来ても対応することができる。
【0065】§5:その他の説明 通常の動作では、主制御部2は正確なタイマで時間だけ
を取得し、メッセージキュー3に溜めてあるメッセージ
を順次取り出し、アプリケーションプログラムAPL1
〜APL3へ回すことでイベントを発生させている。こ
の場合、例えば、主制御部2からアプリケーションプロ
グラムAPL1〜APL3へのメッセージ割り込み間隔
が、100mm秒で、640×480画素の画像を1秒
間にワイプエフェクトで描画したいとする。
【0066】この場合、普通のメッセージによる描画で
は、前記割り込みが10回しか起きないため、1回当た
り64ラインを書くことになり、粗い描画になる。しか
し前記本願発明の描画処理によれば、アプリケーション
プログラムAPL2内の前記ループで回っているため
に、CPUの余裕がある限り、細かいライン数で描画す
ることができる。
【0067】また、前記ループ内でもメッセージキュー
3を見ているため、プログラムが滞ってしまうこともな
く、少しの不自然もなく、描画処理を行うことができ
る。 §6:記録媒体とプログラムの説明 前記各アプリケーションプログラムAPL1、APL
2、APL3の処理は、主制御部2(CPUを含む)
が、予め記憶媒体に格納してあるプログラムを読み出し
て実行することにより実現する。この場合、主制御部2
がイベント駆動型プログラム9により各アプリケーショ
ンプログラムAPL1、APL2、APL3を制御する
ことで前記処理を行う。
【0068】ところで、前記装置本体1にはハードディ
スク装置(磁気ディスク装置)、フレキシブルディスク
ドライブ等が設けてあり、例えば、前記ハードディスク
ドライブの記録媒体に、前記各アプリケーションプログ
ラムAPL1、APL2、APL3を格納しておく。
【0069】そして、前記各アプリケーションプログラ
ムAPL1、APL2、APL3の処理を行う場合は、
前記主制御部2の制御により前記ハードディスクドライ
ブの記録媒体に格納されている前記プログラムを読み出
して装置本体1のメモリに取り込む。その後、主制御部
2が前記メモリに格納してあるアプリケーションプログ
ラムを読み出し、イベント駆動型プログラム9により各
アプリケーションプログラムAPL1、APL2、AP
L3を制御することで前記処理を行う。
【0070】なお、前記ハードディスク装置の記録媒体
に格納するアプリケーションプログラムは、次のように
して格納(記憶)する。 :フレキシブルディスク(フロッピィディスク)に格
納されているプログラム(他の装置で作成したプログラ
ムデータ)を、装置本体1に設けたフレキシブルディス
クドライブ装置により読み取り、ハードディスク装置の
記録媒体に格納する。
【0071】:光磁気ディスク、或いはCD−ROM
等の記録媒体に格納されているデータを、前記装置本体
1に設けたドライブ装置により読み取り、ハードディス
ク装置の記録媒体に格納する。
【0072】:LAN等の通信回線を介して他の装置
から伝送されたデータを前記コンピュータ本体で受信
し、そのデータを前記ハードディスク装置の記録媒体に
格納する。
【0073】(他の実施の形態)以上実施の形態につい
て説明したが、本発明は次のようにしても実施可能であ
る。
【0074】(1) :前記描画処理では、短い時間で割り
込みを実行しているため、前記アプリケーションプログ
ラムAPL2のループ内でのみ処理されているが、時間
が長く余裕のある場合はループを抜け出るようにしても
良い。
【0075】例えば、アプリケーションプログラムAP
L2は、予め、最大処理時間Tmaxを内部に設定して
おき、前記ループ内で処理中にシステム時計4を参照す
ることで処理の経過時間を監視し、前記最大処理時間T
maxが経過したら、描画処理を停止させるようにす
る。
【0076】この場合、描画処理を停止することで、次
の処理(別のアプリケーションプログラムによる処理)
を行わせることができる。 (2) :前記描画処理はアプリケーションプログラムAP
L2が行う場合について説明したが、その他のアプリケ
ーションプログラム(APL1、APL3等)が行う場
合も同様にして処理を行う。
【0077】(3) :前記装置例はパソコンの例である
が、このような例に限らず、他の任意の情報処理装置
(例えば、ワークステーション、ワードプロセッサ等)
に適用可能である。
【0078】
【発明の効果】以上説明したように、本発明によれば次
のような効果がある。 (1) :時間に正確で(時間に同期して)、かつ小刻みな
動作を行うことができる。
【0079】(2) :イベント駆動型プログラムによるイ
ベント発生間隔より長い時間を必要とする処理に対し、
表現したいエフェクトを確実に実現しながら、正確な処
理を行うことができる。
【0080】(3) :アプリケーションプログラム部のプ
ログラム処理手段は、アプリケーションプログラム自体
にループを作成し、イベント駆動型プログラムによるイ
ベント発生間隔より長い時間を必要とする処理を実行し
つつ、同時に前記メッセージキューを監視して、当該ア
プリケーションプログラム部が必要とするメッセージの
みを実行する。
【0081】このように、アプリケーションプログラム
自体にループを作ることで、イベント発生間隔より回数
が多くて正確な割り込み処理、すなわち、高度な割り込
みを実践することが可能になる。また、メッセージキュ
ーを監視して、当該アプリケーションプログラム部が必
要とするメッセージ(例えば、処理の中断)のみを実行
することで、アプリケーションプログラムのクイックレ
スポンスが実現できる。
【0082】(4) :アプリケーションプログラム部の連
続処理制御手段は、アプリケーションプログラムのルー
プ中より主制御部の時計を参照することで、イベント発
生間隔より短い時間間隔で、時間に同期した処理を連続
して行う。このように、アプリケーションプログラム部
が主制御部の時刻を自分で監視しているので、メッセー
ジ処理よりも頻度が蜜で、正確な動作を実現することが
できる。
【0083】(5) :アプリケーションプログラム部の処
理量調整手段は、アプリケーションプログラムのループ
中より主制御部の時計を参照して現在の性能を計算し、
残りの処理時間を予想して、単位時間内に処理終了が見
込めるように、処理量を調整する。このように、アプリ
ケーションプログラム部が主制御部の時刻を自分で監視
しているので、メッセージ処理よりも頻度が蜜で、正確
な動作を実現することができる。
【0084】(6) :アプリケーションプログラム部のメ
ッセージ統合手段は、アプリケーションプログラムのル
ープ中より主制御部のメッセージキューを参照すること
で、当該アプリケーションプログラム部自身に送られた
同一種類のメッセージを統合する。このように、アプリ
ケーションプログラム部が主制御部のメッセージキュー
を見ているので、新しいメッセージが来ても対応するこ
とができる。
【図面の簡単な説明】
【図1】本発明の原理説明図である。
【図2】実施の形態における装置構成図である。
【図3】実施の形態における描画例の説明図である。
【図4】実施の形態における描画処理例1のフローチャ
ートである。
【図5】実施の形態における描画処理例2のフローチャ
ートである。
【図6】従来例の装置構成図である。
【図7】従来例の処理説明図である。
【符号の説明】
1 装置本体 2 主制御部 3 メッセージキュー 4 システム時計 6 ディスプレイ

Claims (5)

    【特許請求の範囲】
  1. 【請求項1】イベント駆動型プログラム、メッセージキ
    ュー、及び時計手段により制御が行われ、アプリケーシ
    ョンプログラム部によって各種情報処理が行われる情報
    処理装置において、 前記アプリケーションプログラム部は、アプリケーショ
    ンプログラム自体にループを作成し、前記イベント駆動
    型プログラムによるイベント発生間隔より長い時間を必
    要とする処理を実行しつつ、同時に前記メッセージキュ
    ーを監視して、当該アプリケーションプログラム部が必
    要とするメッセージのみを実行するプログラム処理手段
    を備えていることを特徴とした情報処理装置。
  2. 【請求項2】前記アプリケーションプログラム部は、前
    記ループ中より主制御部の時計を参照することで、前記
    イベント発生間隔より短い時間間隔で、時間に同期した
    処理を連続して行う連続処理制御手段を備えていること
    を特徴とした請求項1記載の情報処理装置。
  3. 【請求項3】前記アプリケーションプログラム部は、前
    記ループ中より主制御部の時計を参照して現在の処理性
    能を計算し、残りの処理時間を予想して、単位時間内に
    処理終了が見込めるように、処理量を調整する処理量調
    整手段を備えていることを特徴とした請求項2記載の情
    報処理装置。
  4. 【請求項4】前記アプリケーションプログラム部は、前
    記ループ中より主制御部のメッセージキューを参照する
    ことで、当該アプリケーションプログラム部自身に送ら
    れた同一種類のメッセージを統合するメッセージ統合手
    段を備えていることを特徴とした請求項1記載の情報処
    理装置。
  5. 【請求項5】コンピュータに、イベント駆動型プログラ
    ムによるイベント発生間隔より長い時間を必要とする処
    理を実行させる第1の手順と、 メッセージキューを監視して、必要とするメッセージの
    みを処理させる第2の手順と、 前記第1の手順、及び第2の手順を繰り返し実行させる
    手順と、 を実行させるためのプログラムを記録したコンピュータ
    読取可能な記録媒体。
JP15484697A 1996-07-22 1997-06-12 情報処理装置及び記録媒体 Withdrawn JPH1091463A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP15484697A JPH1091463A (ja) 1996-07-22 1997-06-12 情報処理装置及び記録媒体

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP8-191953 1996-07-22
JP19195396 1996-07-22
JP15484697A JPH1091463A (ja) 1996-07-22 1997-06-12 情報処理装置及び記録媒体

Publications (1)

Publication Number Publication Date
JPH1091463A true JPH1091463A (ja) 1998-04-10

Family

ID=26483019

Family Applications (1)

Application Number Title Priority Date Filing Date
JP15484697A Withdrawn JPH1091463A (ja) 1996-07-22 1997-06-12 情報処理装置及び記録媒体

Country Status (1)

Country Link
JP (1) JPH1091463A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2013125266A1 (ja) * 2012-02-20 2013-08-29 三菱電機株式会社 グラフィックスデータ処理装置及びグラフィックスデータ処理システム
JPWO2013146047A1 (ja) * 2012-03-29 2015-12-10 ソニー株式会社 情報処理装置、情報処理方法、サーバ装置、検索方法および情報処理システム

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2013125266A1 (ja) * 2012-02-20 2013-08-29 三菱電機株式会社 グラフィックスデータ処理装置及びグラフィックスデータ処理システム
CN104137151A (zh) * 2012-02-20 2014-11-05 三菱电机株式会社 图形数据处理装置以及图形数据处理系统
JPWO2013125266A1 (ja) * 2012-02-20 2015-07-30 三菱電機株式会社 グラフィックスデータ処理装置及びグラフィックスデータ処理システム
JPWO2013146047A1 (ja) * 2012-03-29 2015-12-10 ソニー株式会社 情報処理装置、情報処理方法、サーバ装置、検索方法および情報処理システム

Similar Documents

Publication Publication Date Title
US9058170B2 (en) Method and apparatus for adjusting a performance state of a processor resource
US7463255B2 (en) Portable electronic apparatus and power management method thereof
KR101711714B1 (ko) 그래픽-프로세싱 유닛들 간의 효율적인 스위칭의 촉진
JPH04278612A (ja) プロセッサ用クロック信号の制御方法及び情報処理システム
JPH11231977A (ja) 省電力機能の遠隔制御方法、情報処理装置及び記憶媒体
JPH04242287A (ja) 画像処理装置
JPH1091463A (ja) 情報処理装置及び記録媒体
JPH11272431A (ja) 印刷システム及びその制御方法並びに媒体
JP2003067165A (ja) 画像形成装置及びそれに用いられる電力管理方法
JPH09311837A (ja) スクリーン・セーバのメッセージ表示方法
JP3823475B2 (ja) データ処理方法、記録媒体及びデータ処理装置
JP4062564B2 (ja) 画像形成装置およびその画像データ受信制御方法
US5925096A (en) Method and apparatus for localized preemption in an otherwise synchronous, non-preemptive computing environment
JPH09138720A (ja) 表示制御装置
JP3313645B2 (ja) 画面解像度変更方法と装置
JP2002259143A (ja) タスク数自動制御装置、タスク数自動制御方法、オンライントランザクション処理システム、プログラム
JPH05197577A (ja) 仮想計算機システムにおける仮想計算機実行プライオリティ制御方式
JPS6033637A (ja) デ−タ処理装置
JP2002229807A (ja) 応答制御装置およびコンピュータ・プログラム
JPH11282444A (ja) 画像表示装置及び表示方法
JPH05324416A (ja) システムエラーヒストリー退避方式
EP0452885A2 (en) Picture displaying method
JPH09190234A (ja) 計算機システム自動停止装置
JP2000222249A (ja) 高優先順位プログラムのメッセージ出力によるcpu占有防止制御方式
JPH0887421A (ja) プロセス切換方法およびプロセス切換システム

Legal Events

Date Code Title Description
A300 Withdrawal of application because of no request for examination

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20040907