QGIS Performance – Measuring Loading Time of Each Layer When Opening a QGIS Project

layersperformanceqgis

I often find myself working with QGIS projects that load too many layers. I'm talking about a mix of raster and vector layers, some with small file size, some very large file size. Most of them are stored and read from a central server in my office, and a few of them are read from my local PC or other PCs within the office network.

Some of the PCs where the data is stored respond fast, some take longer time to deliver the data.

Over time, as more layers are added, the loading time of the projects gets slower and slower. Removing layers from the project sounds easy, but it's not that easy in real life – it feels like I need them all at hand.

I wish I could find if there are any particular offenders that take a long time to load in QGIS. It could be because the file is large, or because they are stored in a slow PC. The chances are that there's just a few layers that take a long time to load, and removing those ones could greatly improve the loading time of the project.

That could be easily accomplished if there was a way to record the loading time of each layer when a QGIS project is opened.

Is there a way to do that?

Best Answer

Since QGIS 3.16 you can know the time it takes to load each layer from a QGIS project.

Go to View --> Panels --> Debugging/Development Tools and click on the Profiler in the left menu.

As soon as you load a QGIS project, a new category called Project Load will be available. Select it from the category list.

Finally, expand the entry called Reading map layers in the profiler tree to see all of the QGIS project layers and their corresponding loading time.

enter image description here

Related Question