[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/