圧縮について

圧縮をすると,仮想CDファイルのサイズを小さくすることができます。これによってハードディスクの使用量を減らすことができます。ただでさえCD-ROMという大きな媒体を相手にしているのですから,可能な限り圧縮を使用することをお勧めします。

仮想CDファイルの圧縮には、zlib1.1.2をベースにしてデバイスドライバにおいて使用できるように改造したものを用いています。したがって、圧縮率などはそれに準じるものですが、高速にランダムアクセスができるように工夫しているので、サイズは若干大きくなっているかもしれません。CDによるかもしれませんが、私が試してみた限りでは、LHaの圧縮形式lh5とほぼ同等の圧縮率を示す様です。

たとえば、すでに圧縮されているようなセットアッププログラムやアーカイブファイルなどが多数含まれているようなCD-ROMではそれほど圧縮は期待できません。しかし、テキストやビットマップ、無圧縮の音声ファイルなどが多数含まれているような場合は、数分の1程度になることが期待できます。

また、圧縮した仮想CDファイルは、読み出し時にまずディスクから読んでその部分を解凍しなければならず、しかもランダムアクセスができるような圧縮を行わなければならないため、どうしてもパフォーマンスが低下してしまいます(それでもCD-ROMよりは高速である可能性が高いですが)。場合によっては圧縮しない場合の約半分強にまで低下してしまう可能性があります。したがって、ゲーム等,読み出し速度を上げるのを目的で仮想CD-ROMを用いている場合は、圧縮を行わないほうがよいかもしれません。逆に、辞書CD-ROMなどでは、テキストベースでそれなりの圧縮が期待できる上に多少速度が低下しても(辞書の検索アルゴリズムが悪くなければ)気にならないので、圧縮に適しているといえます。

また、圧縮すると、そうでない場合と比べて展開に余分にCPUを使用しますが、逆にハードディスクからの読み出し量は少ないので、ハードディスクの読み出し速度が遅ければ遅いほど、また、CPUの速度が速ければ早いほど圧縮しない場合の速度に近づきます。

とりあえず、圧縮を一度試してみてハードディスクの空き容量と、パフォーマンスのどちらを取るかを仮想CDファイルごとに検討してください。


なお、zlibのドキュメントにあるように、圧縮解凍部分を用いたことについてのいかなる損害についてもzlibの作者は一切責任を負いません。また、このアプリケーションの作者も責任を負いません。

万一このアプリケーションに不具合があってもzlibの作者には関係がないので連絡しないでください。たとえそれが圧縮解凍の部分に起因することが明らかである場合も同様です。