[gdal-dev] GDAL Speed Optimization

stefano.moratto at gmail.com stefano.moratto at gmail.com
Thu Jun 10 04:46:38 EDT 2010


I'm working on a VirtualMachine running on an usb hdd and my customer use  
iMac laptop so I can't change disk.

The primary dataset is composed by a lot of jpeg download from internet and  
then cached to disk.
I think the performance slowdown is caused after the creation of the  
virtual dataset because and it is present only when the output bitmap has  
the resolution of the printer (considering alwarys the sampre geographic  
area). All the output bitmaps, exept the dataset's jpeg, are in memory and  
the workingset of the application does not exeed the 256 MB

Can you suggest a profiler?

Thanks,
Stefano

Il giorno 10/giu/2010 10.31, Seth Price <seth at pricepages.org> ha scritto:
> Unfortunately, both nearest neighbor and bilinear are probably not CPU

> bound, so speeding up their processing won't help. They are probably I/O

> bound, so you might need faster disks. (Though I can test this later in my

> project.) Have you tried running a profiling tool on GDAL while you're

> running the warper?



> I've just started the OpenCL project, so it's still pretty immature. I'm

> still discussing the best way to integrate an OpenCL warper into existing

> code.

> ~Seth





> On Thu, June 10, 2010 2:26 am, Stefano Moratto wrote:

> > Seth,

> >

> > You have been choosen a very interesting project.

> >

> >

> > I use the following :

> >

> > hWarp := GDALAutoCreateWarpedVRT (hSized,

> > nil,

> > PChar(FMapSRSWkt),

> >

> > GDALResampleAlg_GRA_NearestNeighbour,

> > 0.5,

> > nil);

> >

> > where hSized is a

> >

> > hSized = F (hDataset) ;

> >

> > F (hDataset) := Virtual Dataset of hDataset. I use it for in memory

> > resizing

> > .

> > It is generated by: (I do not write all the details but I think it is

> > clear)

> >

> >

> > VRTAddSimpleSource (poVRTBand,

> > poSrcBand,

> > Round(anSrcWin[0]),

> > Round(anSrcWin[1]),

> > Round(anSrcWin[2]),

> > Round(anSrcWin[3]),

> > 0, 0,

> > size.cx,

> > size.cy,'Bilinear', 0.0 );

> >

> >

> > and hDataset = GDALOpen( ... "openstreet.xml" )

> >

> > Hence I use

> > 1) ,'Bilinear' for zooming

> > 2) NearestNeighbour for warping.

> >

> >

> > What is the state of your project?

> >

> > Stefano

> >

> >

> > On Thu, Jun 10, 2010 at 9:52 AM, Seth Price seth at pricepages.org> wrote:

> >

> >> >1) hw accelerated functions as IPP or GPU (eg CUDA)

> >>

> >> This is my (ongoing) Google Summer of Code project, except I'm using

> >> OpenCL. :D

> >>

> >> What resampling algorithm are you using?

> >> ~Seth

> >>

> >>

> >> On Thu, June 10, 2010 1:49 am, Stefano Moratto wrote:

> >> > I use GDAL in my traffic optimization CAD program.

> >> > It is a Win32 application written in DELPHI that uses GDAL "C" API -

> >> the

> >> > binding was autogenerated by my SWIG module for object pascal.

> >> >

> >> > I use GDAL to download tiles (jpeg) from OpenstreetMap and to compose

> >> a

> >> > bitmap of the area that is being viewed. The resulting bitmap (not

> >> > compressed) is warped and displayed.

> >> >

> >> > The performances are quite acceptable but when I try to print they  
> are

> >> > not.

> >> >

> >> > The drawing to be printed has a resolution larger of the screen

> >> (Screen :

> >> > 1024x1024, Printer 4096 x 4094 in A4 and 9000 x 9000 in A3

> >> approximately).

> >> > I think tha the bottleneck could be found in:

> >> > 1) jpeg decompression.

> >> > 2) bitmap interpolation (I use the low qualitiy settings).

> >> > 3) warping ( I use an approsimated warping function).

> >> >

> >> > An increase of performance could be achieved using

> >> > 1) hw accelerated functions as IPP or GPU (eg CUDA)

> >> > 2) parallel alghorithms that takes advantage from multicore CPU

> >> >

> >> > Has someone already approched these problems?

> >> >

> >> > Regards,

> >> > Stefano

> >> >

> >> >

> >> > --

> >> > Dr.Eng. Stefano Moratto

> >> > stefano.moratto at gmail.com

> >> > stefano.moratto at csiat.it

> >> > http://www.csiat.it - Traffic Optimization Software

> >> > _______________________________________________

> >> > gdal-dev mailing list

> >> > gdal-dev at lists.osgeo.org

> >> > http://lists.osgeo.org/mailman/listinfo/gdal-dev

> >>

> >>

> >>

> >

> >

> > --

> > Dr.Eng. Stefano Moratto

> > stefano.moratto at gmail.com

> > stefano.moratto at csiat.it

> > http://www.csiat.it - Traffic Optimization Software

> >





-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.osgeo.org/pipermail/gdal-dev/attachments/20100610/4ec20af2/attachment-0001.html


More information about the gdal-dev mailing list