The RasterMaster Java toolkit is written entirely in the Java programming language, permitting rapid development and cross-platform support. As such, there are a number of system and memory requirements and recommendations to ensure successful and rapid development.

Determining System Requirements

System requirements to run RasterMaster Java include:

  • Development Kit for the Java platform (JDK). We recommend using the latest stable release of the JDK. If you require a significantly older JDK in your environment, please contact support to verify compatibility.
  • Minimum memory requirements are related to image size and necessary buffers. Buffers may require multiple megabytes if images are large (see below for more information).
  • Virtual machine (Contact your hardware vendor to see if a virtual machine is available for your platform.)

Determining Memory Requirements

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.

For example, a black and white letter size page at 300 dpi takes roughly 1MB of memory to display. 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{:.example}

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)