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

[OSASK 3727] cmptek0b(Re: make25d).



  こんにちは、川合です。


Hidemi KAWAI は 2002/06/01 13:19:02 の「[OSASK 3726] Re: make25d
」で書きました:

>  それとcmptek0はあまりに遅いと思ったので、速度変更可能なバージ
>ョンをこれから作ることにします。これはアルゴリズムを改良するわけ
>ではないので、速度が速いときは圧縮率も落ちます。cmptek1.iniを用
>意させてそこで指定することにします。多分1時間くらいでできるでし
>ょう。

  できました。cmptek0bです。ベータリリースしておきます。

  cmptek0.iniの中のmaxdisという変数の値をいじってください。これ
で最長一致文字列を探す範囲が制限されるので、速度と圧縮率が変化し
ます。

  ためしにpete9tの起動直後の画面で、i486SX 20MHzにていろいろやっ
てみました。ソースはVRAMIMAG.BINで512KBです。

    maxdis =   4K;    28sec. >> 2919バイト
    maxdis =   8K;    34sec. >> 2872バイト
    maxdis =  16K;    37sec. >> 2298バイト
    maxdis =  32K;    56sec. >> 2287バイト
    maxdis =  64K;    90sec. >> 2290バイト
    maxdis = 128K;   143sec. >> 2310バイト
    maxdis =   1G;   170sec. >> 2307バイト (デフォルト)

  このように、maxdisが増えるとそれにつれて処理時間が延びているの
がよく分かります。・・・しかし意外だったのは、maxdisが1Gのときよ
りも32Kの方が圧縮率が良いということです。実はショックです。遠く
まで探せばいいってもんじゃないようです(まあソースにもよるでしょ
うが)。

  なお.iniで設定できるパラメータにはprm0というものもあります。こ
れは8〜16の値を設定するもので、これで微妙に圧縮率が変化すること
があります。

  これらのパラメータの値によらず、もちろんmcopy0で解凍できますし
普通のファイルのように扱えることに変わりはありません。お好みでど
うぞ。

  小柳さんのように画面イメージを迅速に確保したいだけの場合は、ma
xdis=16K;くらいでいいでしょう。別にアーカイブにする訳じゃないん
ですから。

  それとtek0だと全くリサイズができない、というのは結構不便だと思
いました。次バージョンではサイズを0にするときに限って、tek0でも
認めることにしようと思います。


  それでは。

--
    川合 秀実(KAWAI Hidemi)
OSASK計画代表 / システム設計開発担当
E-mail:kawai !Atmark! imasy.org
Homepage http://www.imasy.org/~kawai/