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

Torsten Rahn rahn at kde.org
Mon Dec 13 21:21:28 CET 2010


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



/trunk/KDE/kdeedu/marble/src/lib/FastMercatorTextureMapper.cpp
<http://svn.reviewboard.kde.org/r/6109/#comment10105>

    This is very expensive. 
    - On one hand it would improve performance dramatically if you'd cache the scaled images.  
    - On one hand you're using QImage for scaling which is slower than QPixmap. 
    
    So ideally you'd create pixmaps from the original QImage tiles and then store the pixmaps in a hash which maps a key that consists of the tile_id + targetsize and you'd map that to the pixmap. This should improve performance dramatically.
    


- Torsten


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/6ce99ece/attachment.htm 


More information about the Marble-devel mailing list