Hi Devs,
I found which object is connected to QgsMapLayerRegistry through
layerWasAdded slot in QGIS Server, and it's QgsEditorWidgetRegistry !
The method mapLayerAdded is apply to the layer added:
```
void QgsEditorWidgetRegistry::mapLayerAdded( QgsMapLayer* mapLayer )
{
QgsVectorLayer* vl = qobject_cast<QgsVectorLayer*>( mapLayer );
if ( vl )
{
connect( vl, SIGNAL( readCustomSymbology( const QDomElement&,
QString& ) ), this, SLOT( readSymbology( const QDomElement&, QString& ) ) );
connect( vl, SIGNAL( writeCustomSymbology( QDomElement&,
QDomDocument&, QString& ) ), this, SLOT( writeSymbology( QDomElement&,
QDomDocument&, QString& ) ) );
}
}
```
Could a method call `mapLayerWillBeRemoved` be added ?
Le 07/06/2016 15:58, René-Luc Dhont a écrit :
Hi devs,
David Marteau, our colleague in 3Liz, has found some serious
deteriorations of performance in QGIS Server.
The first one concerne QgsExpressionContext which is not clean up in
QgsServer::handleRequest
Each call to QgsMapLayer::draw add items to QgsExpressionContext scope.
The scope is not cleaned between request and thus the scope list to
grow indefinitely.
Having the list growing indefinitely deteriorate seriously
performances in the long run. It also increase the memory footprint
but in a less noticiable way.
This behavior has been checked by monitoring reponse time of several
ten of thousand identical requests during server long runs.
This has been fixed in master and in LTR:
https://github.com/qgis/QGIS/commit/5c3aa51e80887de6ff76682a42814041bb32cd5b
https://github.com/qgis/QGIS/commit/50181eee00709e3f7e29b2b53282f28bdedfe265
Now we encounter an other issue with deteriorationof performance in
QGIS Server.
This issue is due to the slot 'layerWasAdded' in QgsMapLayerRegistry.
The duration of the emit layerWasAdded grows with the number of
drawing. Do you know what it is done when 'layerWasAdded' is emitted ?
Regards,
René-Luc D'Hont
3Liz
_______________________________________________
Qgis-developer mailing list
Qgis-developer@lists.osgeo.org
List info: http://lists.osgeo.org/mailman/listinfo/qgis-developer
Unsubscribe: http://lists.osgeo.org/mailman/listinfo/qgis-developer