Method
VipsImagetilecache
Declaration [src]
int
vips_tilecache (
VipsImage* in,
VipsImage** out,
...
)
Description [src]
Optional arguments:
tile_width
: width of tiles in cachetile_height
: height of tiles in cachemax_tiles
: maximum number of tiles to cacheaccess
: hint expected access patternVipsAccess
threaded
: allow many threadspersistent
: don’t drop cache at end of computation
This operation behaves rather like vips_copy()
between images
in
and out
, except that it keeps a cache of computed pixels.
This cache is made of up to max_tiles
tiles (a value of -1
means any number of tiles), and each tile is of size tile_width
by tile_height
pixels.
Each cache tile is made with a single call to vips_region_prepare().
When the cache fills, a tile is chosen for reuse. If access
is
VIPS_ACCESS_RANDOM, then the least-recently-used tile is reused. If
access
is #VIPS_ACCESS_SEQUENTIAL
the top-most tile is reused.
By default, tile_width
and tile_height
are 128 pixels, and the operation
will cache up to 1,000 tiles. access
defaults to #VIPS_ACCESS_RANDOM.
Normally, only a single thread at once is allowed to calculate tiles. If
you set threaded
to TRUE
, vips_tilecache()
will allow many threads to
calculate tiles at once, and share the cache between them.
Normally the cache is dropped when computation finishes. Set persistent
to
TRUE
to keep the cache between computations.
See also: vips_cache(), vips_linecache().
This method is not directly available to language bindings.
Parameters
out
-
Type:
VipsImage
Output image.
The argument will be set by the function. The caller of the method takes ownership of the returned data, and is responsible for freeing it. ...
-
Type:
NULL
-terminated list of optional named arguments.