Even when using automip and autotile, you're going to get horrible performance
if your texture cache size is not at least big enough to hold the image.
For JPEG images, we're just calling the underlying libjpeg, we ask for
scanlines in batches, but I can't swear to the efficiency of libjpeg, for all I
know it tries to read the whole thing at once and buffer it. I can vouch more
strongly for libtiff and OpenEXR.
For film anyway, JPEG is considered a poor texture format because it doesn't
support alpha channels, is only 8 bits, is lossy, and doesn't have any notion
of MIP-mapping. So we figured it was so ill-suited to the task that the
requirement was simply to make it work, not to make it very efficient for huge
files. For that, we turn to TIFF and OpenEXR, which tend to satisfy the whole
range of requirements of a good texture format.
If you must use this JPEG file in its original form, assuming you have memory
to burn, I would advise using a 2 GB cache. 256 or 512 MB is just too small,
that will force it to constantly need to re-read sections of the image.
You can convert it to a tiled format with
iconvert world.topo.bathy.200411.3x21600x21600.C1.jpg --tile 64 64
tiled.tif
Took me 48 seconds (including I/O), and the file is 415 MB (versus 43 MB for
the original JPEG -- but that's because it's a lossy format)
That will get it tiled, which should make a big difference. Additionally
making into a full MIP-mapped, tiled texture, via
maketx world.topo.bathy.200411.3x21600x21600.C1.jpg -o mipped.tx
That took 3 minutes and needed several GB of RAM (it's a huge file!), and
results in a 550 MB tiled MIP-mapped TIFF file, which should be extremely
efficient to texture map.
On Oct 10, 2012, at 7:33 AM, Lerenard Michel wrote:
> Hi,
>
> Brecht: thanks for your answers, it does clear things a bit.
> I've enabled automap and autotile options. It does solve the memory issue,
> but i get horrible peformance instead: on small files it works with overhead,
> on the huge one below it was so slow i had to stop the rendering
> process.(using the default 256 cache value)
>
> Larry: the file i use to test is a huge JPEG, =>
> http://eoimages.gsfc.nasa.gov/images/imagerecords/73000/73884/world.topo.bathy.200411.3x21600x21600.C1.jpg
> that can be found on this page: http://visibleearth.nasa.gov/view.php?id=73884
>
>
> After thoses tests, i think i'm going to work with temp images in EXR,
> converted from formats that does not support tiles:
> the cache does work correctly in this case. (i checked with a 250Mo tiled exr
> file)
> I have not yet tested maketx, i don't know if it's a fast process, but it
> seems to be a good candidate to do the work.
>
>
> --------------
> Michel
> [email protected]
> _______________________________________________
> Oiio-dev mailing list
> [email protected]
> http://lists.openimageio.org/listinfo.cgi/oiio-dev-openimageio.org
--
Larry Gritz
[email protected]
_______________________________________________
Oiio-dev mailing list
[email protected]
http://lists.openimageio.org/listinfo.cgi/oiio-dev-openimageio.org