scale output buffers with nthr for smalltile

This commit is contained in:
John Cupitt 2010-03-14 20:12:41 +00:00
parent 49d7f542cc
commit 7c1d0a7bfb
4 changed files with 16 additions and 3 deletions

View File

@ -30,6 +30,8 @@
- set VIPS_ICC_DIR in configure
- ICC profiles are looked for in VIPS_ICC_DIR as a fallback
- im_render() mask image generation no longer triggers image calc
- threadgroups scale output buffers with number of threads for smalltile ...
improves SMP scaling for narrow images on many-way machines
15/1/10 started 7.21.1
- added "written" callbacks, used to implement write to non-vips formats

6
TODO
View File

@ -1,3 +1,9 @@
- try
vips im_rot90 babe.jpg test2.v
wtf, thinstrip output o.O
- doing im_create_fmask() and friends
- how about im_invalidate_area()? we currently repaint the whole window on

View File

@ -460,9 +460,8 @@ im_region_buffer( REGION *reg, Rect *r )
*/
if( reg->invalid ) {
im_region_reset( reg );
if( !(reg->buffer = im_buffer_ref( im, &clipped )) )
if( !(reg->buffer = im_buffer_new( im, &clipped )) )
return( -1 );
im_buffer_undone( reg->buffer );
}
else {
/* Don't call im_region_reset() ... we combine buffer unref

View File

@ -15,6 +15,8 @@
* work function
* 22/10/09
* - gtkdoc
* 14/3/10
* - scale nlines with nthr for smalltile
*/
/*
@ -588,7 +590,11 @@ im_threadgroup_create( IMAGE *im )
case IM_SMALLTILE:
tg->pw = im__tile_width;
tg->ph = im__tile_height;
tg->nlines = tg->ph;
/* Enough lines of tiles that we can expect to be able to keep
* nthr busy.
*/
tg->nlines = tg->ph * (1 + tg->nthr / (tg->im->Xsize / tg->pw));
break;
case IM_FATSTRIP: