The guidelines below are meant to help you determine the amount of memory required to meet the needs of your organizations and users. Please note that memory requirements can vary wildly depending on the system, file, and organizational structure, and as such, these guidelines should not be considered the final word on the matter, but rather a starting point.

Determining memory required to display documents

The amount of memory required to display a document may be significantly larger than the size of the document that is stored on disk. Just like a road map, the document is folded up and compressed when it is stored. In order to see the document, it must be unfolded (decompressed) and spread out so you can see the whole map. The map takes up much more room when open for viewing. The same is true of online documents.

When a document is open, a black and white letter size page at 300 dpi takes roughly 1MB of memory to display and a color page takes 25MB.

The amount of memory required to view documents varies depending on the size of the documents you are processing and the number of documents you are processing at any one time. The amount of memory needed increases as:

  • You go from black and white, to grayscale, to color documents (bits per pixel increases).
  • You go from compressed to uncompressed document formats (lossy compression to raw image data).
  • You go from low resolution to high resolution documents (dots per inch / - quality increases).
  • You go from small index card size images to large blueprint size images (number of pixels increases).

Generally, higher quality documents require more memory to process. Snowbound Software does not have a one-size-fits-all recommendation for memory because our customers have such a variety of documents and different tolerances for the level of output quality. However, you can try doubling the memory available to see if that resolves the issue. Keep increasing memory until you stop getting out of memory errors. If you hit a physical or financial limit on memory, then you can do the following:

  • Decrease the number of documents you have open at any one time.
  • Decrease the quality of the images requested by decreasing bits per pixel, the resolution, or the size.

To calculate the amount of memory required for an image, you will need to know the size of the image in pixels and the number of bits per pixel in the image (black and white=1, grayscale=8, color=24). If you do not know the height or width in pixels, but you do know the size in inches and the dpi (dots per inch) of the image, then you can calculate the size in pixels as (width_in_inches * dots_per_inch) = width_in_pixels.

To calculate the amount of memory (in bytes), multiply the height, width and number of bits per pixel. Then, divide by 8 to convert from bits to bytes. In other words:

height_in_pixels * width_in_pixels * (bits_per_pixel / 8) = image_size_in_ bytes

This table lists examples of memory requirements based on image sizes:

Image size Required memory
24-bit per pixel, 640 x 480 image 640 * 480 * (24 / 8) = 921600 bytes
1-bit per pixel, 8.5” x 11”, image at 300 dpi (2550 pixels by 3300 pixels) 2550 * 3300 * (1 / 8) = 1051875 bytes
24-bit per pixel, 8.5” x 11”, image at 300 dpi (2550 pixels by 3300 pixels) 2550 * 3300 * (24 / 8) = 25245000bytes (25 megabytes)