Is anyone aware of a native viewer that handles “large” images in a reasonable amount of memory, can zoom and pan, and read TIFFs?
I’ve been using a CCITT G4 encoded 3328x20410 bitonal TIFF to test with, and have found nothing that will render it in a reasonable amount of memory.
So far:
gwenview/display (imagemagick)/gimp: ~1-2GB
feh: does not display at all
qiv: starts at 200MB, moves up to 800 as one pans
gqview: 500MB, steady
xv: seems to thumbnail on startup, and zoom the thumbnail, so unsuitable
xzgv: uses about 200MB, steady
EoG/digikam/f-spot/etc.: not tried, seem unlikely
3328204103 is about 200MB, so I suppose that the problem starts with trying to read in the entire image at once (@ 1280x1024, only ~4MB should be needed for display, 332810243 ~ 10MB if one must store whole rows of the image in RGB). Why memory usage quadruples from there for most programs, I do not know.
The problem is that some of the files in this set are a bit larger, and must be viewed on machines with 1-2GB of RAM; trying to do so thus far has generally unleashed a paging storm or the OOM killer. xzgv at least only allocates memory for the entire image at once, but even that will be too much in some cases.
Converting to other formats (png, xbm, gif) had no impact on viewer usage, so it seems to not be a libtiff problem, as I had first thought. Conversion (with IM’s convert) requires almost as much memory as display, anyway.
By contrast, Irfanview (a windows program, under wine) uses about 21MB total to display the same image, of which 11MB is the empty weight. Unfortunately, while it runs fine under windows, it tends to crash from time to time under wine.
Has anyone any ideas of what else to try? Writing one from scratch is unappealing due to the complexity of TIFF.