openslide tile cache was too small
we were reloading tiles when fetching areas that crossed tile boundaries
This commit is contained in:
parent
a663a1bb1c
commit
40733d4482
|
@ -535,14 +535,15 @@ vips__openslide_read( const char *filename, VipsImage *out,
|
||||||
NULL, vips__openslide_generate, NULL, rslide, NULL ) )
|
NULL, vips__openslide_generate, NULL, rslide, NULL ) )
|
||||||
return( -1 );
|
return( -1 );
|
||||||
|
|
||||||
/* Copy to out, adding a cache. Enough tiles for a complete row, plus
|
/* Copy to out, adding a cache. Enough tiles for two complete rows,
|
||||||
* 50%.
|
* plus 50%. We need at least two rows, or we'll constantly reload
|
||||||
|
* tiles if they cross a tile boundary.
|
||||||
*/
|
*/
|
||||||
if( vips_tilecache( raw, &t,
|
if( vips_tilecache( raw, &t,
|
||||||
"tile_width", rslide->tile_width,
|
"tile_width", rslide->tile_width,
|
||||||
"tile_height", rslide->tile_height,
|
"tile_height", rslide->tile_height,
|
||||||
"max_tiles",
|
"max_tiles",
|
||||||
(int) (1.5 * (1 + raw->Xsize / rslide->tile_width)),
|
(int) (2.5 * (1 + raw->Xsize / rslide->tile_width)),
|
||||||
"threaded", TRUE,
|
"threaded", TRUE,
|
||||||
NULL ) )
|
NULL ) )
|
||||||
return( -1 );
|
return( -1 );
|
||||||
|
|
Loading…
Reference in New Issue