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

Martin Dobias wonder.sk at gmail.com
Tue Nov 26 02:02:31 PST 2013


Hi

I am also not very comfortable with asking QGIS PSC for funding the
development - in my opinion the money raised by QGIS project are
better used for organization of hackfests, maintenance of
infrastructure or quality assurance. As of now we have no rules how to
deal with such requests - maybe the next PSC meeting could try to
discuss how such requests will be handled. My personal opinion is that
QGIS project itself should not fund new features (unless it raises a
lot of money, more than necessary for hackfests etc).

Thanks to commitment of Lutra and Swiss QGIS user group we have
already kicked off the project, though we are still looking for more
funding to make sure that project can be completed successfully in a
reasonable amount of time.

Soon I would like to present the current status of the work on
qgis-dev list and discuss the design. The project tries to bring a
complete solution for rendering in multiple threads including
concurrent access and replacement of QgsMapRenderer with truly
asynchronous API.

Regards
Martin

On Tue, Nov 26, 2013 at 3:01 PM, Marco Hugentobler
<marco.hugentobler at sourcepole.ch> wrote:
> 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