[QGIS-Developer] Caching of raster images

Patrick Dunford blackwhitekez at gmail.com
Thu Oct 5 04:48:07 PDT 2017


Some time ago in a discussion of a particular bug a contributor 
expressed concern that the refresh of background rasters (aerial 
photography) in Windows was too slow.

Maybe this is the reason that recent versions of master appear to be 
loading all of the background imagery into memory (I use a master from 
January this year to work around issues with later ones, and that master 
does not have this feature).

Unfortunately if there are a lot of rasters then the memory demand is 
excessive and unsurprisingly slows down the computer negating any 
purported benefit of caching.

As an example a project I am currently working on has about 900 aerial 
photo images (GeoJpeg). When the layer is turned on for display, Qgis 
requires about 46 GB of virtual memory. Since my computer only has 24 GB 
of physical memory, it is required to dip into the swap space 
considerably. Even with 60 GB of swap space on an SSD, the swapping 
needed to refresh the canvas is substantial and dramatically reduces 
performance resulting in substantial delays. Compare with the January 
master referred to above which only requires about 7 GB of virtual 
memory total with the aerial photo layer displayed. The time needed to 
refresh the canvas is less than 1 second, most of the time.

I know that the canvas refresh in Windows with aerial photos can be 
substantially slower than in Linux. This does not affect me, because I 
don't use Windows now that I have a stable platform for running an older 
Linux master alongside the most recent one. What I do know is that the 
memory demands are making it difficult to evaluate the recent masters. I 
need some kind of setting to turn this caching off. With the aerial 
photo layer turned off, the memory usage of the current master is about 
the same as the old one, and it's much quicker to update.




More information about the QGIS-Developer mailing list