Feature request #1974
Enable render caching where possible
|Pull Request or Patch supplied:
|Copied to github as #:
User story 1:
Joe is reordering layers, each of which points back to a postgis database with thousands of records. Each time he drops a layer to a new position, he waits a long time while each layer redraws, even though the content of the layers is the same, just being rendered in a different order.
User story 2:
Jane is changing symbology in a layer. When she clicks apply, she waits a long time while all other layers redraw too.
User story 3:
Pete is hiding and showing layers. Each time he hides or shows a layer, he waits a long time while the layers redraw.
The solution to this is to provide some kind of caching mechanism. The attached patch is my first draft that addresses the above scenarios and makes QGIS much more responsive when engaged in the activities described.
Please note the patch is a work in progress and there are some edge cases where it does not yet behave well. In order to activate caching, tick the checkbox for this in the rendering tab of the options panel (its disabled by default).
#1 Updated by Tim Sutton over 14 years ago
Version 5 offers dramatically better performance now that I have changed it to use QImage rather than QPixmap. The last remaining task is to clear the cache images of non-visible layers when the extents change to prevent rendering anomalies when enabling display of a layer after a zoom operation.