Performance Considerations



Next: Conclusions Up: The Image Delivery Previous: On-the-fly Image Manipulation

Performance Considerations

On the equipment currently employed, images can be generated in less than three seconds for image views that do not require scaling and less than ten seconds for the high magnifications that do involving scaling. This is adequate; transmission times (and with certain browsers the image display time) now dominate the overall response time.

A performance problem was noted with the program pnmcut, in that selecting a rectangle at the bottom of an image was much slower than selecting a rectangle of the same size at the top of the image. It was discovered that the program read and discarded each row of the source image, until it got to the required start row. This was especially noticeable when selecting a small rectangle from a 21 MB image. Using pnmcut on the SPARCstation 5 it takes 4.5 seconds to select a 330 KB rectangular image from the top left hand corner and 20 seconds to select a rectangle from the bottom right hand corner!

Since PPM is a simple image format consisting of a header followed by a two dimensional array of three-byte RGB pixel values, it was trivial to write a replacement program (fastppmcut), that only handles PPM format images and that performs a seek to the start of the each selected row and only reads the necessary data. As the new program is specific to PPM format it doesn't have the overheads of the old program and is both faster all round and its speed is uniform taking only 2 seconds for the 330 KB sub-image regardless of the position of the rectangle selected. It may well be worthwhile optimising other programs in the pipeline.



Next: Conclusions Up: The Image Delivery Previous: On-the-fly Image Manipulation


Andrew Ford (andrew@icarus.demon.co.uk), Sat Sep 17 17:02:30 BST 1994