[gdal-dev] Performance issues with gdal vrt

Even Rouault even.rouault at mines-paris.org
Wed Sep 30 09:57:30 EDT 2009

Selon Frank Warmerdam <warmerdam at pobox.com>:


Sorry for giving you wrong directions. Frank is obviously right. I somehow got
confused by the fact that the VRT driver doesn't expose overviews, but its
implementation of RasterIO() can indeed use overviews of the underlying rasters.
I could check it with OpenEV by setting to 0 an entire overview level of an
underlying raster.

As far as VRTSourcedRasterBand is concerned, VRTSourcedRasterBand is a subclass
(in C++ terms) of VRTRasterBand. VRTRasterBand has 4 subclasses :
VRTSourcedRasterBand, VRTDerivedRasterBand, VRTRawRasterBand,

In the XML file, this is specified by the subClass attribute of the
VRTRasterBand element. For example : <VRTRasterBand dataType="Float32" band="1"
subClass="VRTDerivedRasterBand">. If the subclass attribute is not specified,
its default value is VRTSourcedRasterBand.

> Craig / Even,
> I think this is slightly inaccurate.  The VRT driver will not expose
> overviews
> to the application (via GetOverviewCount()), but a downsampling RasterIO()
> request to the VRT driver is in turned passed on to the underlying driver as
> a downsampling RasterIO() request, and should take advantage of the overviews
> available in the underlying driver at that point.
> I am not sure why the QGIS performance on the VRT is poor.  It might be that
> QGIS makes requests in an odd way (ie. via IReadBlock instead of IRasterIO)
> or
> that you are starting with a view with several mrsid files in view.  But
> I don't think the problem is just that the VRT driver hides the overviews.
> Best regards,
> --
> ---------------------------------------+--------------------------------------
> I set the clouds in motion - turn up   | Frank Warmerdam, warmerdam at pobox.com
> light and sound - activate the windows | http://pobox.com/~warmerdam
> and watch the world go round - Rush    | Geospatial Programmer for Rent

More information about the gdal-dev mailing list