[Qgis-psc] Proposal to support multi-threaded development

Marco Hugentobler marco.hugentobler at sourcepole.ch
Tue Nov 26 00:01:08 PST 2013


Hi all

I'm (obviously) a big supporter of threaded rendering, therefore close 
to say +1. However Paolos concerns are valid. There has been a GSOC 
project and a second project already and there is still no multithreaded 
rendering in QGIS master. Maybe we could request a detailed work plan 
this time with the overall project broken down to smaller goals. Each 
goal must have a clear deadline and merging needs to leave the codebase 
in a well-defined and useable state (so that there is a benefit even if 
the project does not end up 100% complete).

To illustrate what I mean, I can say a few words about the 
multi-threaded rendering in QGIS enterprise. The goal here was to have a 
responsible UI and fast data browsing without redesign of the codebase. 
The probably critical difference to the multi-threaded render project in 
master is that it does not attempt to provide real concurrent iterating 
of the provider/layers (but 1.9x and afaik even master do not provide 
that anyway). If the main map / composer / globe needs to render, it 
needs to query a function to see if another component is already 
iterating over the layers.

If the concurrent iterating is the most difficult thing to achieve 
(Martin, please correct me if not), wouldn't it be good to start with 
implementing the QtConcurrent things in QgsMapRenderer, the image 
compositing and the protection of some critical points from access by 
multiple threads? This would already bring great benefit for the user 
experience. Finally do the concurrent iterating as a second part of the 
project.



Regards,
Marco








On 24.11.2013 17:30, Andreas Neumann wrote:
> Hi PSC,
>
> In October Peter and Saber proposed a project to work on the
> multi-threaded rendering. The new Vector API (which was also co-funded
> by the QGIS user group in Switzerland) was the preparation for this
> follow-up work. The development work on the multi-threaded rendering
> would be carried out by Martin Dobias.
>
> Lutra Consulting, the current employer of Martin, is looking to raise
> Euro 20k for this project. The QGIS user group pays CHF 3000.- this year
> and will most likely pay a similar amount again next year.
>
> I am asking the PSC that the international QGIS project is also
> co-funding this project, perhaps with approx. Euro 5k.
>
> Marco Hugentobler worked on multi-threaded rendering in QGIS enterprise
> (based on the 1.9x branch). Horst demoed this version at the recent QGIS
> CH coordination meeting. It looks very promising as it does not block
> the UI. Users can navigate to a different extent while QGIS is still
> rendering. QGIS would then cancel the old render threads and start with
> the new threads. But this work is not compatible with the 2.x
> development branch. However, it shows the potential of threaded rendering.
>
> What is the opinion of the PSC? Can the international group co-fund this
> initiative?
>
> Andreas
>
> PS: see also discussion started here -
> http://lists.osgeo.org/pipermail/qgis-developer/2013-October/029066.html
> _______________________________________________
> Qgis-psc mailing list
> Qgis-psc at lists.osgeo.org
> http://lists.osgeo.org/mailman/listinfo/qgis-psc


-- 
Dr. Marco Hugentobler
Sourcepole -  Linux & Open Source Solutions
Weberstrasse 5, CH-8004 Zürich, Switzerland
marco.hugentobler at sourcepole.ch http://www.sourcepole.ch
Technical Advisor QGIS Project Steering Committee




More information about the Qgis-psc mailing list