Bug report #3736
Repeated QgsGrassRasterProvider::identify slow
|Affected QGIS version:||Regression?:||No|
|Operating System:||All||Easy fix?:||No|
|Pull Request or Patch supplied:||Resolution:||fixed|
|Crashes QGIS or corrupts data:||Copied to github as #:||13795|
In the GRASS provider, I have followed the recommended use of GRASS in
applications, that means, if a value on certain pixel is requested, it
runs GRASS module (executable) with coordinates as parameter and
receives a value from stdout.
If a user moves cursor over the whole map, it may run the GRASS module
some 1000 times on medium size screen. If there are 10 maps open in
QGIS, it starts 10000 executables in about 1 second. That is probably
a bit slow.
We could add some delay in the Value tool plugin to avoid too many
requests, but that is not solution if the values have to be logged
somehow, for example to draw a chart.
It seems that instead of running the GRASS module each time, we have
to keep it running and send coordinates to the module via stdin.