[b-free 211] Re: GUI architecture

Naitoh Ryuichi (naitoh_r@soft.hitachi.co.jp)
Fri, 7 Feb 97 17:57:52 +0900

隆一です。

AKIYOSHI,Masamichi writes:
> こんにちは,秋吉です。
>

.. [snip] ..

>
> >フォントマネージャを統合化するかはさておき、ディスプレイプリミティブは
> >ウィンドウマネージャと統合化してしまってもいいと思います。
> >ディスプレイプリミティブを使って図形を描画するとき、クリッピングなどの
> >ためにディスプレイプリミティブはウィンドウの情報を必要とすると思われる
> >からです。
>
> なるほど。
> 僕が考えるウインドウマネージャを分離する利点は,1B/V1 から 1B/V2 にかけて行
> なわれたウインドウまわりのデザインの変更がだいぶ簡単にできる(と思われる)
> ことでしょうか。
> 明確に分離しておけば,デザインの変更という時(があればの話ですが)にこの
> 部分(ウインドウマネージャ)に手を入れれば済みますから。

たしかに、簡単にウィンドウの外見を変更できるのはメリットですね。
またまた X の話をしてしまうと、X の場合にはウィンドウの外観の調整はウィ
ンドウマネージャと呼ばれる別のプログラムがやっていますね。X サーバ自身
が扱うウィンドウは、単なる長方形とか円でしかない。もちろん、描画は X
サーバが行いますけど。だから、ウィンドウマネージャを変更するだけで
外観はコロっと変わってしまいます。

# だから、X のウィンドウ(に見えるモノ)は、実は X サーバにとっては
# ウィンドウではなくて、ウィンドウの集合体だったりします。

X のようにウィンドウの外見を管理しているプログラムをユーザプログラ
ムとして分離することによって、簡単に見た目を変更できるようにする
のも面白いと思います。

適当な時期に B-Free でウィンドウのデザインコンペを行いたいと思っていま
す。ウィンドウの外見を簡単に変更できるようになっていれば、使う人が気に
入ったウィンドウのデザインに取り換えることができて便利です。

> >OS によっても DDX の実装は異なってくると思いますが、Linux や FreeBSD
> >の場合だと、DDX が直接グラフィックアダプタにアクセスしているようです。
> ># だから、XFree86 の場合グラフィックアダプタ毎に X サーバがあります。
> ># (一部複数のアダプタに対応している X サーバもあるけど。。。)
> >まぁ、この辺を汚ないと感じるか人もいるかもしれませんが、
> >OS に手を入れなくても X サーバを換えるだけで最新のグラフィックアダプタ
> >に対応できるので お手軽に使えていいかもしれません。
> ># Windows だとドライバとしてアダプタ固有の部分を分けている
> ># みたいですね。
>
> なるほど,いろいろな実装がありますね。
>
> 僕がいつも使っている環境の X サーバは,OS 依存部分はサーバの中に入ってい
> ますが,グラフィックアダプタに依存する部分をデバイスドライバとして完全に
> 分離しているようです。アダプタがかわってもドライバを交換するだけで済みま
> す。(ドライバへのインターフェース(外部仕様)はマニュアルに載っている)
>
> アダプタへのアクセスは,OS の汎用の I/O のメカニズムを通して行いますので,
> 直接グリグリやるのに比べるとオーバヘッドが含まれますが,保守性を考えると
> 妥当なやり方かもしれません。
>
> 実装設計になるとトレードオフを解決するウエイト大きくなって来るので,なに
> かと大変だとは思いますが,こんな意見でも参考になれば幸いです。

問題は、デバイスドライバにハードウェアアクセスを分離するときのオーバー
ヘッドとメリットの見極めですね。

これからもご意見をよろしくお願いします。

-- 
p----------------------------------------------------------------------q
| FROM R.Night                                                         |
| E-mail: night@b-free.orient.co.jp                                    |
b----------------------------------------------------------------------d