[Qgis-developer] Approximate reprojection for vectors
Marco Hugentobler
marco.hugentobler at sourcepole.ch
Tue Oct 4 03:37:20 EDT 2011
Hi Radim
Did you measure with callgrind or any other tool. Maybe this explains the
difference (as Martin pointed out).
> Could it be that a different paint device is doing the difference? But
> when rendering on screen, we are using QImage or QImage anyway and in
> that case graphics card's power is not used, is it?
Both QGIS server and desktop use QImage (except if you have 'fix problem with
incorrectly filled polygons' checked. In this case QPixmap is used).
I'm not sure how important the graphics card is for 2D rendering. In the wms
benchmark, the servers with AGG rendering engine performed best. And afaik AGG
is pure software rendering. I'm however not a computer graphics guru, so maybe
someone with more insight could correct / comment here.
> In my case, with Shapefile, QgsOgrProvider::getNextFeature is taking
> over 50% and most of it is strcasecmp in GDAL (probably because of
> unnecessary calls from QGIS (for Frank, if you are reading this)). I
> believe that it can be optimised, I'll look at it.
I remember in last years wms benchmark, we were completely out of the game at
the shapefile test. Could well be there is some room for improvements here.
Regards,
Marco
Am Dienstag, 4. Oktober 2011, 09.14:37 schrieb Radim Blazek:
> On Sun, Oct 2, 2011 at 9:33 PM, Marco Hugentobler
> <marco.hugentobler at sourcepole.ch> > I did a lot of profiling for the
> FOSS4G WMS benchmark (osm data, reprojected to
>
> > google crs, complex symbology with a lot of rules). The pattern was
> > mostly the following:
> > the rendering itself (QPainter->drawPolyline) was the most time consuming
> > operation (appr. 50% of rendering time),
>
> I always thought that Qt4 rendering engine is quite efficient. Also in
> my case (I am testing with Shapefile) QPainte::drawPolyline takes only
> 0.05% (!!!), it seems that I am looking on some wrong results comaring
> to your 50%, but I cannot find what am I doing wrong.
> Could it be that a different paint device is doing the difference? But
> when rendering on screen, we are using QImage or QImage anyway and in
> that case graphics card's power is not used, is it?
>
> > next was evaluation in rule based
> > renderer (20% of time), getNextFeature in PostgresProvider 10%,
> > coordinate transformation 10%.
>
> In my case, with Shapefile, QgsOgrProvider::getNextFeature is taking
> over 50% and most of it is strcasecmp in GDAL (probably because of
> unnecessary calls from QGIS (for Frank, if you are reading this)). I
> believe that it can be optimised, I'll look at it.
>
> Radim
--
Dr. Marco Hugentobler
Sourcepole - Linux & Open Source Solutions
Churerstrasse 22, CH-8808 Pfäffikon SZ, Switzerland
marco.hugentobler at sourcepole.ch http://www.sourcepole.ch
Technical Advisor QGIS Project Steering Committee
More information about the Qgis-developer
mailing list