To fill people in (there has been off-list discussion leading up to this), the 
idea here is that in many situations, "autotile" is not performing well at all, 
in part because when a 'tile' leaves the cache and is needed again, the whole 
row of tiles must be read (because it's a scanline-oriented file).  This 
solution gives a way to make the auto-tiles be the full image width wide.

Ramon reports scenes where this improves performance by 5-7x!

        -- lg


On Nov 3, 2011, at 7:57 PM, rmv wrote:

> If autoscanline is off, to load a 64x64 tile that has been purged you need to 
> read in again the whole 4096x64 scanlines. 
> 
> With it on, auto-tiles are set, for example, to 4096x64. This forces the 
> cache to work with batches of 64 scanlines.
> 
> This corresponds better with the loading costs of untiled images and
> improves cache performance, specially when more threads are accessing the 
> same image.
> 
> 
> You can merge this Pull Request by running:
> 
>  git pull https://github.com/rmv/oiio autoscanline
> 
> Or you can view, comment on it, or merge it online at:
> 
>  https://github.com/OpenImageIO/oiio/pull/190
> 
> -- Commit Summary --
> 
> * Added autoscanline option to make autotiles as wide as the whole image.
> 
> -- File Changes --
> 
> M src/include/imagecache.h (1)
> M src/include/texture.h (1)
> M src/libtexture/imagecache.cpp (21)
> M src/libtexture/imagecache_pvt.h (2)
> 
> -- Patch Links --
> 
>  https://github.com/OpenImageIO/oiio/pull/190.patch
>  https://github.com/OpenImageIO/oiio/pull/190.diff
> 
> --- 
> Reply to this email directly or view it on GitHub:
> https://github.com/OpenImageIO/oiio/pull/190

--
Larry Gritz
[email protected]


_______________________________________________
Oiio-dev mailing list
[email protected]
http://lists.openimageio.org/listinfo.cgi/oiio-dev-openimageio.org

Reply via email to