(57)【要約】【課題】サーバ描画方式では、転送にかかる時間がオーバーヘッドとなり描画に時間がかかるという欠点があった。また、表示用メモリにアプリケーションが直接描画する方式の場合は、複数のアプリケーションを同時に動作することができないという問題もあった。【解決手段】表示用メモリを複数利用し、速度重視のアプリケーションは表示用メモリに直接描画方式で描画を行い、同時に複数動作するアプリケーションはクライアント・サーバ方式で描画を行う。アプリケーションが描画するプレーンを管理することにより、２つの方式のウィンドウシステムを使い分ける。従って、アプリケーションの特徴に応じてウィンドウシステムを選択することができるという利点がある。【選択図】図１
2006039249.tif 000002
【特許請求の範囲】
【請求項１】
アプリケーションから描画等の要求を受付ける描画要求受付部と、描画方式と描画先の表示用メモリを管理するプレーン管理部と、アプリケーションと異なるプロセスで動作して描画要求を処理するサーバと、アプリケーションと同一のプロセスで描画を実行するクライアント描画実行部と、サーバのプロセスで描画を実行するサーバ描画実行部を備えたことを特徴とするウィンドウシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、アプリケーションの描画を処理するウィンドウシステムに関し、特に、複数のアプリケーションが同時に動作するウィンドウシステムに関するものである。
【背景技術】
【０００２】
ウィンドウシステムの表示方式を大別すると、アプリケーション自身が直接表示用メモリに直接描画を行う方式と、アプリケーションが表示用のプロセスであるサーバに表示を要求してサーバが描画を行うクライアント・サーバ方式がある。アプリケーションが表示用メモリに直接描画を行う方式は、プロセスを切り替える必要がないため高速に描画が行える利点がある。その反面、複数のアプリケーションが動作すると、互いに描画が競合してしまい意図しない表示がされてしまうため、複数のアプリケーションを同時に動作させることができない欠点があった。一方、クライアント・サーバ方式は、アプリケーションとサーバの間で通信を行い、プロセスを切り替える必要があるため、通信とプロセスの切り替えに時間がかかり、描画に時間がかかるという欠点があった。その反面、サーバが一括して描画を行うため、描画する領域を排他的に管理することができるので、複数のアプリケーションを同時に動作させることができる。
【０００３】
簡単なシステムの場合、単一のアプリケーションで機能の実現が可能なため、速度面での利点を重視して表示用メモリに直接描画を行う方式を用いられてきた。しかし、近年求められる機能が増加し、単一のアプリケーションで実現するには複雑になってきたため、複数のアプリケーションで実現し、かつ同時に複数のアプリケーションを実行する必要がでてきた。従来この種のウィンドウシステムでは特許文献１に記載されたもののように、表示用メモリに直接描画するアプリケーションを、クライアント・サーバ方式のウィンドウシステム上で動作させるものがあった。
【特許文献１】特開平０６−２５０８１２号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかし、特許文献１に記載のウィンドウシステムでは、最終的にサーバに画面情報を転送するため、転送にかかる時間がオーバーヘッドとなり描画に時間がかかるという欠点があった。また、転送前の表示用バッファを１つのアプリケーションで独占するため、複数のアプリケーションを同時に動作することができないという問題もあった。
【課題を解決するための手段】
【０００５】
本発明のウィンドウシステムは、アプリケーションに応じて、表示用メモリに直接描画を行う方式とクライアント・サーバ方式とを選択可能とするものである。
【０００６】
具体的には、複数の表示用メモリに対して描画を行う複数のウィンドウシステムを設けることを最も主要な特徴とする。
【発明の効果】
【０００７】
本発明のウィンドウシステムは、表示用メモリを複数利用するため、速度重視のアプリケーションは表示用メモリに直接描画方式で描画を行い、同時に複数動作するアプリケーションはクライアント・サーバ方式で描画を行うことができる。従って、アプリケーションの特徴に応じてウィンドウシステムを選択することができるという利点がある。
【発明を実施するための最良の形態】
【０００８】
（実施の形態１）
本発明の実施の形態の一例を、図面を用いて説明する。図１は本発明の一実施の形態に係るウィンドウシステムを示す構成図である。説明するための構成としてウィンドウシステムの他に、描画を指示するアプリケーション、２つの描画プレーンの実体である第１表示用メモリ１４と第２表示用メモリ１６、２つの表示用メモリを合成し最終的な表示画面を構成する合成器、合成された表示画面をユーザに見えるように表示するＣＲＴも併せて図に示す。
【０００９】
アプリケーションＡ、Ｂ、ＣはそれぞれウィンドウＸ、Ｙ、Ｚを表示するアプリケーションであり、３つのアプリケーションは同時に動作し、画面上に表示を行う。アプリケーションＡは、ウィンドウＸ内にアニメーションを描画する。アニメーションが動いているようにユーザに見せるには、高速な描画速度が要求される。そのため、アプリケーションＡが表示用メモリに直接描画する方式を用い、第１の表示用メモリをアプリケーションＡが占有して描画を行う。アプリケーションＢとアプリケーションＣは、比較的高速な描画を行わないアプリケーションであり、表示用メモリの節約のため、クライアント・サーバ方式で描画を行う。
【００１０】
描画要求受付部４はアプリケーションから描画等の要求を受付ける。要求には、描画そのものの場合もあるが、アプリケーションがどの描画プレーンに描画するのかを指定するものもある。要求がウィンドウの生成、破壊や表示などウィンドウ制御に関する要求の場合は、プレーン管理部６に要求を送る。表示や描画の実行を要する場合は、プレーン管理部６のプレーン情報を元に、要求をクライアント描画実行部１０またはサーバ８に送る。描画要求受付部４はアプリケーションと同一のプロセスで実行される。プレーン管理部６は、描画方式とどの表示用メモリに描画をするのかを管理する。
【００１１】
例えば、第１プレーンが直接描画方式で第１表示用メモリ１４への描画であり、第２プレーンがクライアント・サーバ方式で第２表示用メモリ１６であるという情報を管理する。アプリケーションからは描画先としてプレーンが指定される。この情報を元に描画要求受付部４は、要求をクライアント描画実行部１０に送るのか、あるいはサーバ８に送るのかを判断する。プレーン管理部６はアプリケーションと同一のプロセスで実行される。クライアント描画実行部１０は、アプリケーションから要求された描画を実行し、第１表示用メモリ１４に描画する。クライアント描画実行部１０はアプリケーションと同一のプロセスで実行される。そのため複数のアプリケーションが同時に動作すると、描画が競合するので、第１表示用メモリ１４に描画するアプリケーションは同時に１つしか動作しない。
【００１２】
また、クライアント描画実行部１０はウィンドウの生成、破壊や表示状態や表示領域の管理も司る。現在どのウィンドウが存在しているかを把握し、ウィンドウの生成や破壊の要求があった場合には、管理構造に追加・削除する。サーバ８は複数のアプリケーションからの描画要求を描画要求受付部４より受信し、順に処理してサーバ８描画実行部に描画の実行を指示する。サーバ８はアプリケーションとは別プロセスで実行される。従ってサーバ８と描画要求受付部４との間でプロセス間の通信を行う。サーバ描画実行部１２はサーバ８から指示された描画を実行し、第２表示用メモリ１６に描画する。サーバ描画実行部１２はアプリケーションと同一のプロセスで実行される。描画のほか、ウィンドウの生成、破壊や表示状態や表示領域の管理も司る。第１表示用メモリ１４、第２表示用メモリ１６は、描画された内容を保持し、合成器１８は第１表示用メモリ１４、第２表示用メモリ１６の表示内容を重ね合わせ、１つの出力画像になるように合成する。ＣＲＴ２０は合成器１８より出力された画像をユーザに見えるように表示する。
【００１３】
以上のように構成されたウィンドウシステムの動作について、図２を用いて説明する。
【００１４】
まず、アプリケーションＡについて説明する。アプリケーションＡは、これから描画を行うプレーンとして、第１プレーンを指定する。描画要求受付部４はこの要求を受け取りプレーン管理部６に送る。プレーン管理部６は、アプリケーションＡの以後の描画要求を第１プレーンすなわち第１表示用メモリ１４に対するものであるという情報を保存する。次に、アプリケーションＡはウィンドウＸの作成要求を出す。描画要求受付部４は、この要求を受け取り、プレーン管理部６に保持されている、第１表示用メモリ１４に対する描画であるという情報をもとにクライアント描画実行部１０に送る。クライアント描画実行部１０は、要求を受けてウィンドウＸを生成し保持する。続いて、アプリケーションＡはウィンドウＸの表示を要求する。描画要求受付部４は、プレーン管理部６の情報を元にクライアント描画実行部１０に要求を送る。
【００１５】
クライアント描画実行部１０は、管理されているウィンドウＸの情報を元に該当する位置に表示されるように、第１表示用メモリ１４にウィンドウの画像を描く。続いて、アプリケーションＡはアニメーションの画像をウィンドウＸ上に表示するよう要求する。要求は、前記と同様に描画要求受付部４を経て、クライアント描画実行部１０にて第１表示用メモリ１４に描画される。
【００１６】
次に、アプリケーションＢについて説明する。アプリケーションＢは、これから描画を行うプレーンとして、第２プレーンを指定する。描画要求受付部４はこの要求を受け取りプレーン管理部６に送る。プレーン管理部６は、アプリケーションＢの以後の描画要求を第２プレーンすなわち第２表示用メモリ１６に対するものであるという情報を保存する。次に、アプリケーションＢはウィンドウＹの作成要求を出す。描画要求受付部４は、この要求を受け取り、プレーン管理部６に保持されている、第２表示用メモリ１６に対する描画であるという情報をもとにサーバ８に送る。サーバ８はアプリケーションと異なるプロセスとして実行されるので、例えばＴＣＰ／ＩＰなどの通信手段により、プロセス間で情報が伝達される。サーバ８は要求を受け、サーバ描画実行部１２に送る。サーバ描画実行部１２は、要求を受けてウィンドウＹを生成し保持する。続いて、アプリケーションＢはウィンドウＹの表示を要求する。描画要求受付部４は、プレーン管理部６の情報を元にサーバ８に要求を送る。サーバ８は要求を受け、サーバ描画実行部１２に送る。サーバ描画実行部１２は、管理されているウィンドウＹの情報を元に該当する位置に表示されるように、第２表示用メモリ１６にウィンドウの画像を描く。ウィンドウＹ内への描画に関しても、同様の手順で第２表示用メモリ１６に描かれる。
【００１７】
アプリケーションＣについても、アプリケーションＢと同様の手順で第２表示用メモリ１６に描画される。アプリケーションＢとＣの描画要求が同時に発生した場合でも、サーバ８で順次処理されるので、同じ第２表示用メモリ１６への書き込みが同時に発生することはない。
【００１８】
アプリケーションＡとＢ、またはアプリケーションＡとＣの描画要求が同時に発生した場合は、書き込み先がそれぞれ第１表示用メモリ１４と第２表示用メモリ１６というように異なるので、それぞれの描画内容は保障される。
【００１９】
以上のように、本発明のウィンドウシステムは描画方式を選択可能にしたので、各アプリケーションの描画を制限することなく、アプリケーションの特徴に適した描画を行うことができ、メモリを節約しつつ高速な描画を行うことができるという効果がある。
【００２０】
なお、アプリケーションは、どの表示用メモリに描画をするのかをウィンドウ生成以前に指定をしているが、ウィンドウ生成時や描画要求に同時に指定してもよい。
【００２１】
また、最終表示用装置としてＣＲＴを例に示したが、ＰＤＰ、ＬＣＤ等画像が出力できるデバイスであれば構わない。
【００２２】
なお、本例ではプレーンは表示用メモリと１対１に対応しているが、プレーンは仮想的な表示領域の単位として、ウィンドウシステム内部で合成しても構わない。
【００２３】
また、表示用メモリとして２つの表示用メモリの例を示したが、３つ以上であっても構わない。また、表示用メモリの合成順も自由に規定して構わない。
【００２４】
加えて、クライアント描画実行部とサーバ描画実行部について、機能的に重複する部分は共通描画部として部品化し、クライアント、サーバ両方の描画実行部から共有することにより、さらにメモリを節約することが可能である。
【産業上の利用可能性】
【００２５】
本発明に係るウィンドウシステムは、設計の柔軟性に優れるもので、テレビジョン受像機やＶＴＲ、ＤＶＤ等のＡＶ機器、コンピュータをはじめ、その他の画面表示される機器において有用である。
【図面の簡単な説明】
【００２６】
【図１】本発明の実施の形態１に係るウィンドウシステムを示す構成図
【図２】本発明の実施の形態１に係るプレーンの重なり状態を示した説明図
【図３】本発明の実施の形態１に係る画面の表示状態を示した説明図
【符号の説明】
【００２７】
２    ウィンドウシステム
４    描画要求受付部
６    プレーン管理部
８    サーバ
１０    クライアント描画実行部
１２    サーバ描画実行部
１４    第１表示用メモリ
１６    第２表示用メモリ
１８    合成器
２０    ＣＲＴ
２２    アプリケーションＡ
２４    アプリケーションＢ
２６    アプリケーションＣ
【図１】
2006039249.tif 000003
【図２】
2006039249.tif 000004
【図３】
2006039249.tif 000005