[QGIS-Developer] Preview job and slow datasources

Even Rouault even.rouault at spatialys.com
Wed Nov 15 06:56:42 PST 2017


Hi,

I'm working currently on improving raster performance per
https://github.com/qgis/QGIS/pull/5632 , and while testing with a variety of GDAL 
datasources, I found that the "preview job" (*) mechanism that is currently enabled on the 
main canvas (pre-rendering the 8 zones around the canvas extent) can have adverse 
performance impact with very slow datasources. Particularly those doing network accesses, 
where the bandwidth consumed by the preview jobs prevents the main rendering job to 
being served first (due to the fact the the preview jobs of the previous interaction are not 
immediately cancelled by the next one since, because being busy in libcurl calls)

Wouldn't it make sense to offer an option to disable preview jobs on the main canvas for such 
use case ?
I guess this could also be useful for complex projects with many layers of "fast datasources", 
but where the global rendering time is large.

A clever variant would measure the execution time of those preview jobs, and if, for example, 
it is above the 250 ms delay  in which they are fired by 
QgsMapCanvas::schedulePreviewJob(), it would automatically disable it (potentially, 
temporarily, until the number of layers changes). In the case I mentionned above, each 
preview job takes several seconds to complete.

Or a simpler alternative would be to schedule the next preview job after the previous 
preview job has completed (instead of starting them every 250 ms).  This would not be 
completely ideal with my above mentionned network case, compared to completely disabling 
preview jobs, but that could be a reasonable compromise, and would limit the CPU load of 
preview jobs to at most one core (currently if the preview jobs run slowly, they can "eat" up 
to 8 cores, since they are 8 preview jobs)

Thoughts ?

Even

(*) added per
https://github.com/qgis/qgis/commit/2d531e5814c1b43a23c36d09ace9a5f5729e5bb4

-- 
Spatialys - Geospatial professional services
http://www.spatialys.com
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.osgeo.org/pipermail/qgis-developer/attachments/20171115/3ee1cea9/attachment.html>


More information about the QGIS-Developer mailing list