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.44k stars 2.99k forks source link

Multi-threaded generation of XYZ Vector Tiles #53875

Open gio0v opened 1 year ago

gio0v commented 1 year ago

Feature description

When I use the most recent version of QGIS to generate XYZ Raster Tiles, it automatically employs all the the CPU cores and threads available. However, the generation of XYZ Vector Tiles runs in a single CPU thread - which represents such a severe performance loss that it makes Vector Tile generation with QGIS an impossibility when working with large area layers.

Additional context

No response

nirvn commented 11 months ago

@alexbruy , has that been fixed by your work porting algorithms to c++?

alexbruy commented 11 months ago

@nirvn no. Vector tiles generation algorithm was implemented in C++ from the beginning.

nirvn commented 11 months ago

Oh doh, in my haste I skipped the crucial vector keyword :)

p-sims commented 3 months ago

I'd just like echo request for multi thread rendering of vector layers. It seems that in QGIS 3.34 on Linux (Pop! OS 22) that all vector rendering and many file/layer/project load/save tasks are all single thread, so for project with big vector layers to load QGIS doesn't utilise most of the computer hardware for many operations.

Also GNOME often brings up the "This application is not responding" pop up during project load, layer save as operation, which are maxing out a single thread for long periods and making UI unresponsive in the mean time. Prehaps that's a seperate issues but I guess such operation happen on UI thread rather than background worker.