Ich habe mehrere Links gefunden, die darauf hinweisen, dass dies jetzt in QGIS 2.2 vorhanden ist, aber es scheint, dass nur ein Kern für die volle Kapazität verwendet wird.
Dies läuft unter Ubuntu 14.04
Der aktuelle Prozess erstellt eine große Anzahl regulärer Punkte. Wie kann ich dafür sorgen, dass dieser Prozess mehr als einen Kern verwendet?
qgis
geoprocessing
multithreading
jpmaniac87
quelle
quelle
Antworten:
Es gibt kein Multithread-Rendering für QGIS 2.2, sondern eine Funktion, die in QGIS 2.4 verfügbar sein wird.
Sie können QGIS Master (jede Nacht) zum Testen ausprobieren. Die Veröffentlichung von QGIS 2.4 ist für den 20. Juni 2014 geplant .
Hoppla, lesen Sie Ihre Frage falsch und aus den Kommentaren geht hervor, dass Multithread-Verarbeitung entweder auf der Ebene der QGIS-Entwickler oder auf der Ebene der Python-Plugins erfolgt.
Wenn Sie ein bestimmtes QGIS-Tool aus den in QGIS integrierten Menüs verwenden, um eine Multithread-Verarbeitung zu erhalten, muss es wahrscheinlich von einem Entwickler für QGIS oder sogar im Stammverzeichnis des Tools (GDAL, SAGA, Orfeo, GRASS, R Entwickler, etc ...).
Wenn es ein bestimmtes Plugin gibt, das höchstwahrscheinlich in Python codiert ist, kann der Mitwirkende oder Betreuer dieses Plugins feststellen, ob es möglich ist, das
multiprocessing
oder diethreading
Module einzuschließen, um die Leistung zu verbessern.In beiden Fällen ist es in der Regel am besten, eine Funktionsanforderung zu senden oder festzustellen, ob bereits eine vorhanden ist. Es würde Sie wissen lassen, ob bereits jemand die Verbesserung in Angriff nimmt oder welche Ressourcen benötigt werden, um sie zu starten.
quelle
multiprocessing
oderthreading
(threading
normalerweise mitqueue
) Modul für Python gibt, das sie speziell zu ihren Skripten hinzufügen müssten.Quelle: http://osgeo-org.1560.x6.nabble.com/Will-Processing-in-QGIS-3-support-parallelization-td5301809.html
Alte Antwort: Während des Google Summer of Code 2015 wurde Multithreading-Unterstützung für die QGIS-Verarbeitung entwickelt. Der Code wird derzeit überprüft und voraussichtlich 2016 in der Entwicklerversion veröffentlicht. (Quelle: http://boundlessgeo.com/2015/12/latest-developments-in-qgis-processing/ )
... Diese Lösung konnte leider nicht zusammengeführt werden.
quelle
Einige Threads werden in die QGIS-Kernfunktionalität integriert (Rendering beispielsweise wie in der Antwort von SaultDons beschrieben), aber viele Funktionen oder Algorithmen können je nach ihrer Entwicklung Threading enthalten oder nicht.
Für diejenigen pyQGIS-Plugin-Autoren (möglicherweise einschließlich OP), die Threading in ihr Plugin / Skript aufnehmen möchten, gibt es Hilfe im snorfalorpagus-Blog. Hoffentlich werden immer mehr Entwickler Threading verwenden - insbesondere für die anspruchsvolleren Algorithmen.
Als Notlösung können Sie möglicherweise Ihren Prozess skripten und ein schlechtes paralleles Prozessschema mit Aufrufen asychroner Shell-Skripte verwenden, wie in der Antwort von alexis hier beschrieben
Wenn jemand andere gute Ressourcen für die Parallelisierung von QGIS-Jobs hat, können Sie diese gerne bearbeiten und zu dieser Antwort hinzufügen :)
quelle