현재 QGIS 2.2에 존재한다고 말하는 여러 개의 링크를 찾았지만 전체 용량에 대해 하나의 코어 만 사용하고있는 것으로 보입니다.
우분투 14.04에서 실행 중입니다.
현재 프로세스는 많은 양의 규칙적인 포인트를 생성하고 있습니다. 프로세스가 하나 이상의 코어를 사용하도록하려면 어떻게해야합니까?
현재 QGIS 2.2에 존재한다고 말하는 여러 개의 링크를 찾았지만 전체 용량에 대해 하나의 코어 만 사용하고있는 것으로 보입니다.
우분투 14.04에서 실행 중입니다.
현재 프로세스는 많은 양의 규칙적인 포인트를 생성하고 있습니다. 프로세스가 하나 이상의 코어를 사용하도록하려면 어떻게해야합니까?
답변:
멀티 스레드 렌더링 QGIS 2.2는 없으며 QGIS 2.4에서 사용할 수있는 기능입니다.
테스트를 위해 QGIS Master (야간)를 사용해 볼 수 있으며, QGIS 2.4는 2014 년 6 월 20 일에 출시 될 예정입니다 .
혹시, 귀하의 질문을 읽고 의견에서 멀티 스레드 처리는 QGIS 개발자 수준 또는 Python Plugin 기고자 수준에서 발생하는 것처럼 보입니다.
다중 스레드 처리를하는 것보다 QGIS에 내장 된 메뉴에서 사용중인 특정 QGIS 도구가있는 경우 QGIS 개발자 또는 도구 루트 (GDAL, SAGA, Orfeo, GRASS, R 개발자 등 ...).
특정 플러그인이 Python을 중심으로 코딩 된 것보다 많으면 해당 플러그인의 기여자 또는 관리자가 성능 향상을 위해 multiprocessing
또는 threading
모듈을 포함시킬 수 있는지 확인할 수 있습니다 .
어느 쪽이든, 기능 요청을 제출하거나 이미 존재하는지 확인하는 것이 일반적으로 시작하는 가장 좋은 방법입니다. 누군가가 이미 개선 사항을 다루고 있는지 또는 개선을 시작하는 데 필요한 리소스를 알려줍니다.
multiprocessing
또는 threading
( threading
일반적으로 사용 queue
) 가 구체적으로 자신의 스크립트에 추가해야 할 것이라고 파이썬 모듈을.
당신이 무엇을하는지에 달려 있습니다. 처리가 새로운 작업 관리자 프레임 워크로 이식되면 알고리즘은 병렬로 (가능한 경우) 실행될 수 있습니다. 예를 들어 한 레이어의 버퍼는 다른 레이어에서 변형이 발생하는 동안 실행될 수 있습니다. 단일 알고리즘 (예 : 다중 스레드를 사용하는 버퍼링 기능) 내 에서 병렬화 한 후에 는이를 처리 할 계획이 없습니다.
출처 : http://osgeo-org.1560.x6.nabble.com/Will-Processing-in-QGIS-3-support-parallelization-td5301809.html
기존 답변 : 2015 년 Google Summer of Code 동안 QGIS Processing을위한 멀티 스레딩 지원 이 개발되었습니다. 이 코드는 현재 검토 중이며 2016 년 개발자 버전으로 제공 될 예정입니다. (출처 : http://boundlessgeo.com/2015/12/latest-developments-in-qgis-processing/ )
... 불행히도이 솔루션을 병합 할 수 없습니다.
일부 스레딩이 QGIS 핵심 기능에 통합되고 있지만 (예 : SaultDons 답변에 설명 된대로 렌더링) 많은 기능이나 알고리즘이 개발에 따라 스레딩을 통합하거나 포함하지 않을 수 있습니다.
플러그인 / 스크립트에 스레딩을 포함시키려는 pyQGIS 플러그인 작성자 (아마도 OP 포함)의 경우 snorfalorpagus 블로그 에서 일부 도움말을 사용할 수 있기를 바랍니다. 더 많은 개발자들이 스레딩을 사용할 것입니다.
스톱 갭으로 프로세스를 스크립팅하고 여기 에서 알렉시스 답변에 설명 된 것처럼 비동기 쉘 스크립트를 호출하여 빈약 한 병렬 프로세스 체계를 사용할 수 있습니다
다른 사람이 QGIS 작업을 병렬화하는 데 유용한 자료를 가지고 있다면 자유롭게 편집 하여이 답변에 추가하십시오 :)