Hi devs,

A customer found that reading a lightweight GeoTIFF takes 1 second in QGIS Server needs less than 200 milliseconds.

With timer I found somethings strange around the virtual QgsRasterInterface block method and it's reimplation in QgsGdalProvider.
Here is part of my logs:

../src/core/raster/qgsrasteriterator.cpp:87 : (readNextRasterPartInternal) [2ms] Entered ../src/core/providers/gdal/qgsgdalprovider.cpp:2641 : (initIfNeeded) [1ms] GdalDataset opened ../src/core/providers/gdal/qgsgdalprovider.cpp:317 : (crsFromWkt) [0ms] +proj=aea +lat_1=43 +lat_2=62 +lat_0=30 +lon_0=-30 +x_0=0 +y_0=0 +datum=WGS84 +units=m +no_defs ../src/core/providers/gdal/qgsgdalprovider.cpp:2836 : (initBaseDataset) [0ms] GDALGetRasterNoDataValue = -3.4e+38 ../src/core/providers/gdal/qgsgdalprovider.cpp:647 : (block) [10ms] QgsGdalProvider::block ../src/core/providers/gdal/qgsgdalprovider.cpp:718 : (readBlock) [0ms] QgsGdalProvider::readBlock ../src/core/providers/gdal/qgsgdalprovider.cpp:965 : (readBlock) [2ms] QgsGdalProvider::readBlock completed in (seconds): 0.002 ../src/core/providers/gdal/qgsgdalprovider.cpp:684 : (block) [0ms] QgsGdalProvider::block completed in (seconds): 0.002 ../src/core/raster/qgsrasteriterator.cpp:137 : (readNextRasterPartInternal) [643ms] Raster iterator read next block completed in (seconds): 0.656 ../src/core/raster/qgsrasteriterator.cpp:87 : (readNextRasterPartInternal) [3ms] Entered ../src/core/providers/gdal/qgsgdalprovider.cpp:647 : (block) [6ms] QgsGdalProvider::block ../src/core/providers/gdal/qgsgdalprovider.cpp:718 : (readBlock) [0ms] QgsGdalProvider::readBlock ../src/core/providers/gdal/qgsgdalprovider.cpp:965 : (readBlock) [0ms] QgsGdalProvider::readBlock completed in (seconds): 0 ../src/core/providers/gdal/qgsgdalprovider.cpp:684 : (block) [0ms] QgsGdalProvider::block completed in (seconds): 0 ../src/core/raster/qgsrasteriterator.cpp:137 : (readNextRasterPartInternal) [283ms] Raster iterator read next block completed in (seconds): 0.289 ../src/core/raster/qgsrasteriterator.cpp:87 : (readNextRasterPartInternal) [0ms] Entered


The qgsrasterinterator.cpp ligne 130 [1] tooks almost 300 times longer than it's reimplementation.

Do you know a way to enhance this ?

Regards,
René-Luc

1 https://github.com/qgis/QGIS/blob/master/src/core/raster/qgsrasteriterator.cpp#L130
_______________________________________________
QGIS-Developer mailing list
[email protected]
List info: https://lists.osgeo.org/mailman/listinfo/qgis-developer
Unsubscribe: https://lists.osgeo.org/mailman/listinfo/qgis-developer

Reply via email to