[Subject Prev][Subject Next][Thread Prev][Thread Next][Subject Index][Thread Index]

[OSASK 2093] adarrel3, monza3.



  こんばんは、川合です。

  adarrel3とmonza3をベータリリースします。今回の特徴は以下の通り
です。

・VGAドライバの改良のおかげで、描画速度が改善。
・グラフィックボックスに対するライン関数を装備。

  前者については[OSASK 2087]で既に説明したので、ここでは後者を中
心に説明します。

  グラフィックボックスに対するラインは比較的高速です。その実例の
ためにtest014を作りました。test014は実行してみれば分かりますが、
tetra01によく似ています。違うのはラインの本数と、動かし方の規則
くらいです。tetra01の6本に対して、test014は3本です。

PC/AT互換機 Duron 690MHz
    countup5/adarrel3           (344525kc/s)
    test012 /adarrel3    1.36MHz(343844kc/s) 負荷0.20%
    test014 /adarrel3    7.1 MHz(341???kc/s) 負荷 1.0%
    tetra01 /adarrel3   21   MHz(334???kc/s) 負荷 3.0%

PC/AT互換機 Cyrix6x86 150MHz (PR200+)
    countup5/adarrel3           ( 99794kc/s)
    test012 /adarrel3    0.36MHz( 99554kc/s) 負荷0.24%
    test014 /adarrel3    2.7 MHz( 980??kc/s) 負荷 1.8%
    tetra01 /adarrel3   13   MHz( 914??kc/s) 負荷 8.7%

PC/AT互換機 i486DX 25MHz
    countup5/adarrel3           (  6115kc/s)
    test012 /adarrel3    0.52MHz(  5985kc/s) 負荷 2.1%
    test014 /adarrel3    2.1 MHz(  56??kc/s) 負荷 8.4%
    tetra01 /adarrel3   19   MHz(  13??kc/s) 負荷  76%

TOWNS i486SX 20MHz
    countup5/monza3             (  4910kc/s)
    test012 /monza3      0.25MHz(  4848kc/s) 負荷 1.3%
    test014 /monza3      1.2 MHz(  46??kc/s) 負荷 4.8%
    tetra01 /monza3        (FPUがないので測定できず)

  ラインの本数という観点でいえば、tetra01の描画をライン関数を使
って行うようにすることで、おそらくtest014の2倍程度の時間で描画で
きるでしょう。そして、test014の速度とtetra01の速度の比はどのケー
スでも2倍以上あるため、このような用途においてはライン関数の利用
がふさわしいと理解していただけるはずです。

  なお、このバージョンでは、グラフィックボックスに対するbox描画
やbox-fillはサポートしていないので指定しないでください(指定しな
いでほしいので、その説明はtest014.cには書かれていません)。

  またflushのoptですが、将来の拡張に配慮して仕様変更はします。変
更内容は[OSASK 2072]の通りです。しばらくは移行措置として従来のバ
イナリーでも動くようにしておきますが、できるだけこれには頼らず、
新しい値を指定するようにしてください。

  この後2〜3日ほどかけて高速lineルーチンを書き、全体を少し整理し
て、それを一般公開候補版にします。それが安定したら、introシリー
ズの改定を始めます。

  それでは。

--
    川合 秀実(KAWAI Hidemi)
川合堂社長 / OSASK計画総指揮 / カーネル開発班
E-mail:kawai !Atmark! imasy.org
Homepage http://www.imasy.org/~kawai/