JVips icon indicating copy to clipboard operation
JVips copied to clipboard

Image files are cached and not updated

Open TimoZikeli opened this issue 3 years ago • 1 comments

Hi, today I encountered a strange bug while using the new VipsImage(File) constructor. When an image is loaded once, then the file is changed and then the image is loaded again using the file constructor, it seems that not the data from the file is loaded, but that libvips uses some cache which is not invalidated.

Steps to reproduce:

  1. Read an image using the new VipsImage(File) constructor
  2. Update the image file (I checked afterwards that the file was really changed)
  3. Read the image again using the file constructor
  4. Save the read image somewhere else => Then the saved image is equal to the old image.

TimoZikeli avatar Jun 12 '21 22:06 TimoZikeli

Hello, I think it's because libvips cache the image either in memory or in disc temporary file:

In VIPS_ACCESS_RANDOM mode, small images are decompressed to memory and then processed from there. Large images are decompressed to temporary random-access files on disc and then processed from there.

http://libvips.github.io/libvips/API/8.6/VipsImage.html#vips-image-new-from-file http://libvips.github.io/libvips/API/8.6/How-it-opens-files.md.html

dbouron avatar Jul 22 '21 11:07 dbouron