PECompact is allows for use of third-party CODECs (encoding/decoding algorithms). It even supports use of any number of CODECs on a single executable, meaning you can chain the CODECs together. For example, one could use the LZMA CODEC and the CRC CODEC to 1.) Compress the data and 2.) Perform a CRC check on the data, respectively. When extremely fast decompression is desired as well as a good compression ratio, we recommend FFCE. It doesn't compress as well as LZMA, but decompresses more rapidly. FFCE is the default for executables under 48Kb. PECompact2 includes several CODECs for compression, encryption, and other uses.
Some are only inclduded in the registered version of PECompact.
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
The ordering use of CODECs is very important since it dramatically affects the output. For instance, you should always compression before encrypt, else the compression is likely to suffer a terrible penalty since the data was transformed into a much more random state by the encryption. The ordering of CODECs is as specified during compression and reversed during decompression. This means that the following configuration would perform a CRC check on the compressed data, there-by performing in at run-time before decompression:
Another example is the case of a password protected and compressed executable with crc32 validation, which should be in a similar order as follows:
Sometimes you may want to use a single CODEC multiple times, for instance:
This would perform a CRC32 check before and after decompression, making sure that the data supplied to the decompressor is unchanged and that your data is in its exact original state after decompression. Note that this will slightly slow load time, though perhaps not noticably, depending on the size of the data set(s). Typically speaking, such a configuration is redundant. Since PECompact performs its own quick checksum, it is generally better to not use the CRC32 plug-in unless you really need good image validation. Selecting the appropriate CODEC depends on the size and contents module you are compressing. Often, PECompact can best optimize small files when aPLib, FFCE, or JCALG1 are used with their small decoders. Larger files are typically compressed better by LZMA. Since the additional size of the fast decoder is insignificant for larger files, it is recommended that the fast decoder be used in such cases. For smaller files, the small decoder often performs as well, or better, than the fast decoder. When extremely fast decompression is desired as well as a good compression ratio, we recommend FFCE. It doesn't compress quite as tight as LZMA, but decompresses much more rapidly. FFCE is the default for executables under 100Kb. You should experiment with various CODECs to determine which is appropriate for your application. Some algorithms may perform particularly well on specific data, but generally speaking, FFCE and LZMA are the two typically used.
|