MobileAsset uses the Crystal Reports Viewer to assemble, display, and print its reports. This viewer will use up to about 1 gigabyte of memory (regardless of the amount of memory in the PC). The viewer holds the entire report in PC memory. For most reports this is plenty of memory since they are text-based.
However, when using the Assets by Asset Tag With Picture Report, the size of the picture files greatly impacts whether the report will export or print successfully. If the total amount and size of pictures is too large, you will encounter memory errors from the Crystal Report Windows Forms Viewer, for example:
- Out of memory.
- Error in File Assets By Asset Tag With Picture Report {hex}.rpt: The request could not be submitted for background processing.
- Memory full. Failed to export the report. Not enough memory for operation.
MobileAsset does not have any way to reduce picture size before or after adding a picture to an asset or asset type, so it's important the user is aware of the picture sizes in relation to how the picture will actually be used, and use a 3rd-party image manipulation program to resize the pictures as appropriate.
For instance, an 8 megapixel class camera on a cell phone gives pictures of size 3264x2448 pixels. Although JPEG compression yields a 2-megabyte file size on disk, the PC must expand it in memory to the full 23 megabytes to display it, and MobileAsset also uses this size in reports. Many image-viewing programs can display the full amount of memory used, for example Photoshop or Irfanview. For higher megapixel pictures, the memory used increases exponentially (the PC's memory fills up faster with fewer pictures).
This size picture is usually overkill for asset identification, either on-screen or printed. Printing a 7.5-inch wide picture to a 600 DPI laser printer, there is nearly no visual difference between 3264x2448 and 1024x768, but the smaller picture is more than 10 times smaller in memory (and reports). Examples of other even smaller sizes that can give acceptable viewing are 800x600 and 640x480.
If you will be working with the picture report often, or printing/exporting pictures, it is highly recommended that you crop your pictures to show only the asset in question, and save as a smaller pixel size, to reduce the chances that you'll run into memory issues.
Workarounds
- Attach smaller pictures. If you already have oversized pictures in the MobileAsset database, the only way to change them is to remove the existing picture, then attach the reduced-size picture to replace it.
- If you have received an out-of-memory error, you may need to quit and relaunch MobileAsset before you're able to run the report successfully again.