[Qgis-developer] Summer of code project

Jae Sammy jcs at rincon.com
Mon Apr 5 15:20:51 EDT 2010


Martin,

This project sounds like a great idea!

I came across the following potential optimization while trying to optimize my map refreshing in a project where I had a large number of static rasters under a small number of vector layers that were changing frequently under a large number of vector layers that were changing infrequently.  Ideally this called for the ability to refresh each layer individually and the map to only redraw the pixels that were affected by the change.

Currently, qgis doesn't take full advantage of Qt's native graphics view framework since all layers are rendered down to a single qgraphicsrectitem (qgsmapcanvasmap) and placed in a scene by itself.  A possible optimization is to play nicer w/ Qt and have all layers implement their own qgraphicsitem and add them to the qgraphicsscene (currently instantiated in qgsmapcanvas) in order based on their order in the layerset.  This way qt will only render what is needed and each item can inform the scene of the changes to its bounding rectangle so that only a subset of the scene is re-rendered.

-Jae


More information about the Qgis-developer mailing list