Znalazłem wiele linków, które wydają się mówić, że to już istnieje w QGIS 2.2, ale wygląda na to, że używa tylko jednego rdzenia do pełnej pojemności.
To działa na Ubuntu 14.04
Obecny proces tworzy dużą liczbę regularnych punktów. Jak sprawić, aby ten proces wykorzystywał więcej niż jeden rdzeń?
qgis
geoprocessing
multithreading
jpmaniac87
źródło
źródło
Odpowiedzi:
QGIS 2.2 nie obsługuje renderowania wielowątkowego, jest to funkcja, która będzie dostępna w QGIS 2.4.
Możesz wypróbować QGIS Master (co noc) do testowania, a następnie QGIS 2.4 ma zostać wydany 20 czerwca 2014 r .
Ups, źle odczytałem twoje pytanie i z komentarzy, wygląda na to, że przetwarzanie wielowątkowe jest czymś, co dzieje się na poziomie programisty QGIS lub na poziomie autora wtyczki Python.
Jeśli istnieje specjalne narzędzie QGIS, którego używasz z menu wbudowanego w QGIS, niż w celu uzyskania przetwarzania wielowątkowego, prawdopodobnie musiałoby zostać zakodowane przez programistę dla QGIS lub nawet w katalogu głównym narzędzia (GDAL, SAGA, Orfeo, Deweloperzy GRASS, R itp.).
Jeśli istnieje pewna wtyczka, która najprawdopodobniej jest zakodowana wokół Pythona, autor lub opiekun tej wtyczki może sprawdzić, czy możliwe jest włączenie modułów
multiprocessing
lub wthreading
celu zwiększenia wydajności.Tak czy inaczej, przesłanie żądania funkcji lub sprawdzenie, czy już istnieje, jest zwykle najlepszym sposobem na rozpoczęcie pracy. Informuje o tym, czy ktoś już zajmuje się ulepszeniem lub jakie zasoby będą potrzebne, aby go uruchomić.
źródło
multiprocessing
lubthreading
(threading
zwykle jest używanyqueue
) , który musieliby specjalnie dodać do swoich skryptów.Źródło: http://osgeo-org.1560.x6.nabble.com/Will-Processing-in-QGIS-3-support-parallelization-td5301809.html
Stara odpowiedź: podczas Google Summer of Code 2015 opracowano obsługę wielowątkowości dla QGIS Processing. Kod jest obecnie sprawdzany i powinien zostać udostępniony w wersji dla programistów w 2016 roku. (Źródło: http://boundlessgeo.com/2015/12/latest-developments-in-qgis-processing/ )
... To rozwiązanie niestety nie mogło zostać połączone.
źródło
Niektóre wątki są włączane w podstawową funkcjonalność QGIS (renderowanie na przykład jak opisano w odpowiedzi SaultDons), ale wiele funkcji lub algorytmów może, ale nie musi mieć włączonych wątków w zależności od ich rozwoju.
Dla autorów wtyczek pyQGIS (być może włączając OP), którzy chcą włączyć wątki w swoich wtyczkach / skrypcie, pomoc jest dostępna na blogu snorfalorpagus. Mam nadzieję, że coraz więcej deweloperów będzie używać wątków - szczególnie w przypadku bardziej podatnych algorytmów.
Jako stopgap możesz być w stanie napisać skrypt do swojego procesu i użyć słabego schematu równoległego procesu z wywołaniami do asychronicznych skryptów powłoki, jak opisano w odpowiedzi Alexa tutaj
Jeśli ktoś ma jakieś dobre zasoby do równoległego wykonywania zadań QGIS, możesz je edytować i dodawać do tej odpowiedzi :)
źródło