[Marble-devel] Re: Review Request: introduce optimized code path for Mercator projection

Bernhard Beschow bbeschow at cs.tu-berlin.de
Tue Dec 14 00:18:33 CET 2010



> On 2010-12-13 19:30:54, Dennis Nienhüser wrote:
> > Works fine on my Desktop and on the N900, even fixes a crash there. Given that the patch changes no strings and is not a new feature, it should be no problem to commit it to trunk.
> > 
> > I wonder whether we should listen to quality settings in some way, e.g. introducing
> > 
> >     bool const highQuality = viewParams->mapQuality() == HighQuality || viewParams->mapQuality() == PrintQuality;
> >     painter.setRenderHint( QPainter::SmoothPixmapTransform, highQuality );
> > 
> > after the QPainter creation. That'd possibly reduce much of the speed gain though.
> >

I can try that. I also had the idea to call the MercatorScanlineTextureMapper for the high quality case, but your suggestion would be more generic (working with Equirectangular projection as well).


- Bernhard


-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
http://svn.reviewboard.kde.org/r/6109/#review9237
-----------------------------------------------------------


On 2010-12-12 23:11:04, Bernhard Beschow wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> http://svn.reviewboard.kde.org/r/6109/
> -----------------------------------------------------------
> 
> (Updated 2010-12-12 23:11:04)
> 
> 
> Review request for marble.
> 
> 
> Summary
> -------
> 
> This patch introduces an optimized code path for the case that both the tile projection and the map projection are of type Mercator. In this very common case, the tiles can be scaled rather than reprojected, promising a significant speedup. Moreover, it seems to avoid crashes in high zoom levels on the N900.
> 
> 
> Diffs
> -----
> 
>   /trunk/KDE/kdeedu/marble/src/lib/AbstractScanlineTextureMapper.h 1205882 
>   /trunk/KDE/kdeedu/marble/src/lib/AbstractScanlineTextureMapper.cpp 1205882 
>   /trunk/KDE/kdeedu/marble/src/lib/CMakeLists.txt 1205882 
>   /trunk/KDE/kdeedu/marble/src/lib/FastMercatorTextureMapper.h PRE-CREATION 
>   /trunk/KDE/kdeedu/marble/src/lib/FastMercatorTextureMapper.cpp PRE-CREATION 
>   /trunk/KDE/kdeedu/marble/src/lib/TextureLayer.cpp 1205882 
> 
> Diff: http://svn.reviewboard.kde.org/r/6109/diff
> 
> 
> Testing
> -------
> 
> I have measured speedups of up to 2.7 on my system. This seems to depend on the QImage::Format, so format conversion should be avoided in a future version if possible.
> The image quality is roughly of outline quality when a discrete zoom level isn't hit.
> 
> 
> Thanks,
> 
> Bernhard
> 
>

-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://mail.kde.org/pipermail/marble-devel/attachments/20101213/94d67560/attachment.htm 


More information about the Marble-devel mailing list