[Qgis-developer] [Server] performance questions

Jörg Habenicht jh at mwerk.net
Mon Apr 25 08:15:13 PDT 2016



Am 23.04.2016 um 11:47 schrieb Matthias Kuhn:
> Hi Jörg,
> 
> On 22/04/16 18:24, Jörg Habenicht wrote:
>> Hi Matthias,
>>
[snip]

>> It seems to me I have to extract the code inside the loop (in
>> QgsMapRenderer::render(), "while ( li.hasPrevious() )") into a separate
>> method and call QtConcurrent on that.
> You shouldn't have to deal directly with QtConcurrent, this code is
> alredy present.
> 
> https://qgis.org/api/classQgsMapRendererJob.html#details
> 
> Have a look at QgsMapCanvas::refreshMap() which sets up a job and
> connects the signal finished() to a local slot and continues execution.
> On the server instead you probably want to use a QFutureWatcher with
> waitForFinished() to wait for the painting job (with its threads) finish
> before responding with the freshly painted image.

Oh yes, good hint.
thank you

> 
> Matthias

cu
Jörg

-- 

mWerk GmbH
Dipl.-Ing. Jörg Habenicht
Landwehrstr. 76
30519 Hannover
(T) +49 511 9999 8033
(F) +49 511 9999 8041
(E) jh at mwerk.net
Amtsgericht Hannover HRB 206522
Geschäftsführer
Reiner Brachvogel
Dennis Kornehl


More information about the Qgis-developer mailing list