[Gdal-dev] MrSID Driver performances
Julien Demaria
dem at acri-st.fr
Wed Oct 6 03:50:39 EDT 2004
Hi,
First, Andrey thanks a lot for implementing block caching in the driver for
DSDK 4.xx, now decompress an RGB MrSID file is very faster ! :-)
I've made some tests on performances with the 4.xx driver on a big
10000x10000 MrSID RGB file.
The file has the version 1.0.1 (with mrsidinfo) and I suppose this is an
MG2 file ; I haven't got any big MrSID MG3 file for testing...
I found that the driver can be improved a lot simply by changing the blocks
size to 256x256 instead strips calculated with the
poImageReader->getStripHeight() DSDK method.
With this changes my tests seem to be between 2 and 3 times more faster !
My tests are (on Win32 and Solaris) :
- gdal_translate execution time
- OpenEV visualisation (it's faster and more reactive)
- a sort of gdal_translate in our software
- visualisation time in our software
Maybe it should be interesting to do theses tests with an MG3 file...
The diff with the current CVS version for change the blocks size :
> GInt32 nCol = nBlockXOff * nBlockXSize;
1390,1391c1391,1393
< nBlockXOff * nBlockXSize, nLine,
< nBlockXSize,
---
> nCol, nLine,
> (nCol+nBlockXSize>poGDS->GetRasterXSize())?
> (poGDS->GetRasterXSize()-nCol):nBlockXSize,
1768,1769c1770,1771
< nBlockXSize = nRasterXSize;
< nBlockYSize = poImageReader->getStripHeight();
---
> nBlockXSize = 256;
> nBlockYSize = 256;
Best Regards,
Julien
More information about the Gdal-dev
mailing list