qgis / QGIS

QGIS is a free, open source, cross platform (lin/win/mac) geographical information system (GIS)
https://qgis.org
GNU General Public License v2.0
10.45k stars 2.99k forks source link

Performance Profiling #32957

Open Saijin-Naib opened 4 years ago

Saijin-Naib commented 4 years ago

Feature description. I'd love to see a facility within QGIS for performance profiling for different maps and layers within those maps.

I've asked a related question on GIS.StackExchange to make sure I'm not missing anything obvious, but I've yet to see any replies: https://gis.stackexchange.com/questions/342020/how-to-profile-rendering-performance-using-qgis-3-10-x-or-above

Broad strokes, I'd like to see something along these lines for what I suggested for SNAIL https://github.com/pblottiere/snail/issues/3

1) CPU How long does it take the computer to place the labels? How long to style it? How long to read/load/draw the geometries? How long to execute the provider filter? 2) GPU This will become increasingly interesting as more tools enable OpenCL support, but should also be useful to see how hard the rendering/caching is hitting the GPU when being drawn to screen. 3) Network This would be quite interesting for data/projects where lots of sources are accessed over the network, and for those who make heavy usage of online basemap plugins/services. 4) Storage This would be quite interesting for monitoring the storage I/O for a project as it is loaded/panned around/interacted with, and to check in on whether or not a given QGIS algorithm is actually busy reading/writing from disk. 5) Memory This would let you know how much RAM is being allocated to each layer in the project, which might help profile inappropriate storage containers, corrupted geometries, or other issues.

Additional context An extension is available for ArcGIS that does something similar, though analysis and visualization of the results leaves much to be desired. image

Saijin-Naib commented 4 years ago

Is pull #32570 potentially related?