Compressing MRB Files

If you are not using the extended version of the Help compiler (HCP.EXE), you may run into memory problems when creating Help files with MRBC. For example, if the compiled Help file seems unusually large compared to the size of the MRB files included in the build, it may mean the compiler did not have enough memory to compress the MRB bitmaps.

For example, the following shows a case in which the total size of the individual bitmaps included in the MRB is larger than the MRB file itself.

Bitmaps
EGA  29258
VGA  35210
8514  48166
---------------
MRB  33494
Help file
without the MRB       4172
With the MRB           72883

The MRB is smaller than each of the bitmaps it contains because the bitmaps in the MRB are compressed. However, when the MRB is built into the Help file, the compiler did not have enough memory to compress it completely, so the size of the Help file grew by more than the size of the MRB. (During the build, the compiler decompresses the MRB file in order to check for SHG hot spots and then recompresses the MRB file).

If the COMPRESS option is set to Medium or High, the compiler displays a warning that there is not enough memory to compress the bitmap. When compression is Off, the compiler does not display this message, because it doesn’t make sense. Therefore, you should turn compression on when building Help files with MRB file so that you can see the warning message. Then, if the compiler displays the warning that there is not enough memory to compress the bitmaps, you should either compile in OS/2 or use the extended version of the compiler (HCP.EXE).