Performance when rotating very large plans using +distort

ImageMagickObject is a Windows COM+ interface to ImageMagick. COM+, Visual Basic, and Delphi users should post to this discussion group.
Post Reply
manfred_kainrath

Performance when rotating very large plans using +distort

Post by manfred_kainrath »

Hi,

first let me thank for this tool; at the moment it is the only one beeing able to rotate
very large plans without memory or other problems.
Unfortunately there is a little BUT:
the rotating process lasts approximately 20 minutes (!) :(

Here the facts:
I installed the ImageMagick COM component from "ImageMagick-6.4.9-8-Q16-windows-dll.exe" and use VB 6 to read barcodes from scanned plans. Afterwards I have to rotate
them according to the barcode direction

aDoc = "c:\" + fso.GetBaseName(Path) + "." + fso.GetExtensionName(Path)
rot=270
Set oImage = CreateObject("ImageMagickObject.MagickImage.1")
sMsg = oImage.Convert(Path, "+distort", "SRT", CStr(rot), "+repage", aDoc)
...

the data of the plans:
dimension: 26311 x 3297 Pixel (86.75 MPixels)
format: JPG
compression: JPG
color: 24 bit
200 dpi
size: 25.192.997 Bytes disk space

Is there any chance to improve the performance significantly?
Many thanks in advance to all good incoming ideas.
regards
Manfred
User avatar
magick
Site Admin
Posts: 11064
Joined: 2003-05-31T11:32:55-07:00

Re: Performance when rotating very large plans using +distort

Post by magick »

We tried your conversion on a 4-core 3.0mhz Linux system with 16GB of memory and the image processed in 9 seconds. We created a test image at 26311 x 3297. Is that the correct dimensions? If so, we suspect that your system does not have enough memory or the OS is not honoring the request for 1.5GB of memory so the pixels are being processed to / from disk. Disk is up to 1000 times slower than memory. See http://www.imagemagick.org/script/archi ... .php#cache for details.

For comparison we forced the conversion to disk and your command ran in 1 minutes and 53 seconds. We attribute the performance increase over your results to running on multiple cores, a 64-bit operating system, running under Linux rather than Windows, and fast SAS disks.
Post Reply