[gdal-dev] Performance issues with gdal vrt

Frank Warmerdam warmerdam at pobox.com
Wed Sep 30 09:02:24 EDT 2009

Even Rouault wrote:
> Selon Craig Leat <craig.leat at gmail.com>:
> Craig,
> I suppose you are speaking about bad performance when not viewing the VRT at its
> full resolution ? (at full resolution, the overhead of VRT should be small
> hopefully)
> I'm afraid there's little you can do to improve the situation in a simple way.
> As you noticed, the VRT driver currently doesn't expose any overviews to the
> caller. So if you request for example subsampling by a factor of 1/2 to the VRT,
> it will go to fetch full resolution MrSID first, before being subsampled to 1/2.
> So basically the existing overviews for each tile inside the VRT aren't used.

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