<div dir="ltr">Hi Marco<div class="gmail_extra"><br><br><div class="gmail_quote">On Tue, Nov 26, 2013 at 10:01 AM, Marco Hugentobler <span dir="ltr"><<a href="mailto:marco.hugentobler@sourcepole.ch" target="_blank">marco.hugentobler@sourcepole.ch</a>></span> wrote:<br>

<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Hi all<br>
<br>
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).<br>


<br>
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.<br>


<br>
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.<br>


<br></blockquote><div><br></div><div>Just curious - do you guys plan on merging your multi-threaded implementation too - or is it going to remain in 1.8? I ask because it would be a pity for others to duplicate the work. Nice video you put on youtube showing off your multithreading Marco!</div>

<div><br></div><div>@andreas Unfortunately the person who I thought might like to co-sponsor the threading support had other plans.</div><div><br></div><div><br></div><div><br></div><div>Regards</div><div><br></div><div>
Tim</div>
<div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<br>
<br>
Regards,<br>
Marco<div class="HOEnZb"><div class="h5"><br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
On 24.11.2013 17:30, Andreas Neumann wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
Hi PSC,<br>
<br>
In October Peter and Saber proposed a project to work on the<br>
multi-threaded rendering. The new Vector API (which was also co-funded<br>
by the QGIS user group in Switzerland) was the preparation for this<br>
follow-up work. The development work on the multi-threaded rendering<br>
would be carried out by Martin Dobias.<br>
<br>
Lutra Consulting, the current employer of Martin, is looking to raise<br>
Euro 20k for this project. The QGIS user group pays CHF 3000.- this year<br>
and will most likely pay a similar amount again next year.<br>
<br>
I am asking the PSC that the international QGIS project is also<br>
co-funding this project, perhaps with approx. Euro 5k.<br>
<br>
Marco Hugentobler worked on multi-threaded rendering in QGIS enterprise<br>
(based on the 1.9x branch). Horst demoed this version at the recent QGIS<br>
CH coordination meeting. It looks very promising as it does not block<br>
the UI. Users can navigate to a different extent while QGIS is still<br>
rendering. QGIS would then cancel the old render threads and start with<br>
the new threads. But this work is not compatible with the 2.x<br>
development branch. However, it shows the potential of threaded rendering.<br>
<br>
What is the opinion of the PSC? Can the international group co-fund this<br>
initiative?<br>
<br>
Andreas<br>
<br>
PS: see also discussion started here -<br>
<a href="http://lists.osgeo.org/pipermail/qgis-developer/2013-October/029066.html" target="_blank">http://lists.osgeo.org/<u></u>pipermail/qgis-developer/2013-<u></u>October/029066.html</a><br>
______________________________<u></u>_________________<br>
Qgis-psc mailing list<br>
<a href="mailto:Qgis-psc@lists.osgeo.org" target="_blank">Qgis-psc@lists.osgeo.org</a><br>
<a href="http://lists.osgeo.org/mailman/listinfo/qgis-psc" target="_blank">http://lists.osgeo.org/<u></u>mailman/listinfo/qgis-psc</a><br>
</blockquote>
<br>
<br></div></div><span class="HOEnZb"><font color="#888888">
-- <br>
Dr. Marco Hugentobler<br>
Sourcepole -  Linux & Open Source Solutions<br>
Weberstrasse 5, CH-8004 Zürich, Switzerland<br>
<a href="mailto:marco.hugentobler@sourcepole.ch" target="_blank">marco.hugentobler@sourcepole.<u></u>ch</a> <a href="http://www.sourcepole.ch" target="_blank">http://www.sourcepole.ch</a><br>
Technical Advisor QGIS Project Steering Committee</font></span><div class="HOEnZb"><div class="h5"><br>
<br>
______________________________<u></u>_________________<br>
Qgis-psc mailing list<br>
<a href="mailto:Qgis-psc@lists.osgeo.org" target="_blank">Qgis-psc@lists.osgeo.org</a><br>
<a href="http://lists.osgeo.org/mailman/listinfo/qgis-psc" target="_blank">http://lists.osgeo.org/<u></u>mailman/listinfo/qgis-psc</a><br>
</div></div></blockquote></div><br><br clear="all"><div><br></div>-- <br><div dir="ltr">Tim Sutton - QGIS Project Steering Committee Member<br>==============================================<br>Visit <a href="http://linfiniti.com" target="_blank">http://linfiniti.com</a> to find out about:<br>

 * QGIS programming services<br> * GeoDjango web development<br> * FOSS Consulting Services<br>Skype: timlinux Irc: timlinux on #qgis at <a href="http://freenode.net" target="_blank">freenode.net</a><br>==============================================</div>


</div></div>