Bug report #10441
If layer has labels it is always refreshed when activating/deactivating any other layer
|Affected QGIS version:||3.7(master)||Regression?:||No|
|Operating System:||Easy fix?:||No|
|Pull Request or Patch supplied:||No||Resolution:|
|Crashes QGIS or corrupts data:||No||Copied to github as #:||18853|
Subject says it all, seems not necessary and it happens also with "render caching" active.
#6 Updated by Nyall Dawson 8 months ago
This is because the labelling is generated for the entire map, not layer by layer. So labels from another layer can change the position of labels in every other labelled layer (due to collision avoidance).
If you toggle any labelled layer, all remaining labelled layers need to be completely refreshed in order to calculate new positions of the remaining map labels.
There may be particular corner cases where this can be avoided, but in general I do not see any way to avoid this.